Microsemi logoSmartFusion2
DDR Controller ug Serial High Speed ​​Controller
Pamaagi sa Initialization
Giya sa Gumagamit

Pasiuna

Sa paghimo og disenyo gamit ang SmartFusion2 device, kon mogamit ka og usa sa duha ka DDR controllers (FDDR o MDDR) o bisan unsa sa Serial High speed controller (SERDESIF) blocks, kinahanglan nimo nga unahon ang configuration registers niini nga mga block sa run-time sa wala pa. sila mahimong gamiton. Kay example, para sa DDR controller, kinahanglan nimo nga ibutang ang DDR mode (DDR3/DDR2/LPDDR), PHY width, burst mode ug ECC.
Sa susama, alang sa SERDESIF block nga gigamit isip usa ka PCIe endpoint, kinahanglan nimo nga ibutang ang PCIE BAR ngadto sa AXI (o AHB) nga bintana.
Kini nga dokumento naghulagway sa mga lakang nga gikinahanglan sa paghimo og Libero nga disenyo nga awtomatik nga magsugod sa DDR controller ug SERDESIF blocks sa power up. Gihubit usab niini kung giunsa paghimo ang code sa firmware gikan sa Libero SOC nga gigamit sa embedded design flow.
Ang usa ka detalyado nga paghulagway sa teorya sa mga operasyon gihatag una.
Ang sunod nga seksyon naghulagway kung giunsa paghimo ang ingon nga disenyo gamit ang Libero SoC System Builder, usa ka gamhanan nga himan sa disenyo nga, lakip sa uban nga mga bahin, nagmugna sa 'initialization' nga solusyon alang kanimo kung ikaw naggamit sa DDR o SERDESIF blocks sa imong disenyo.
Ang sunod nga seksyon naghulagway kung giunsa pagbutang ang usa ka kompleto nga solusyon sa 'pagsugod' nga wala gigamit ang SmartFusion2 System Builder. Makatabang kini sa pagpatin-aw kung unsa ang kinahanglan buhaton kung dili nimo gusto nga gamiton ang System Builder, ug gihulagway usab kung unsa gyud ang gihimo sa System Builder tool para kanimo. Kini nga seksyon naghisgot sa:

  • Ang paghimo sa datos sa pagsumpo alang sa DDR controller ug SERDESIF configuration registers
  • Ang pagmugna sa FPGA logic gikinahanglan aron mabalhin ang configuration data ngadto sa lain-laing ASIC configuration registers

Sa katapusan atong gihulagway ang namugna filemay kalabutan sa:

  • Ang paghimo sa firmware nga 'initialization' nga solusyon.
  • Ang simulation sa disenyo alang sa DDR 'initialization' nga solusyon.

Para sa mga detalye bahin sa DDR controller ug SERDESIF configuration registers, tan-awa ang Microsemi SmartFusion2 High Speed ​​Serial ug DDR Interfaces Giya sa Gumagamit.

Teorya sa Operasyon

Ang Peripheral initialization solution naggamit sa mosunod nga dagkong mga sangkap:

  • Ang CMSIS SystemInit() function, nga nagdagan sa Cortex-M3 ug nag-orkestra sa proseso sa pagsugod.
  • Ang CoreConfigP soft IP core, nga nag-initialize sa mga rehistro sa configuration sa peripheral.
  • Ang CoreResetP soft IP core, nga nagdumala sa reset sequence sa MSS, DDR controllers, ug SERDESIF blocks.

Ang peripheral initialization nga proseso naglihok sama sa mosunod:

  1. Sa pag-reset, ang Cortex-M3 nagpadagan sa CMSIS SystemInit() function. Kini nga function awtomatik nga gipatuman sa dili pa ang main() function sa aplikasyon ipatuman.
    Ang CoreResetP output signal MSS_HPMS_READY gipahayag sa sinugdanan sa proseso sa pagsugod, nga nagpakita nga ang MSS ug ang tanang peripheral (gawas sa MDDR) andam na alang sa komunikasyon.
  2. Ang SystemInit() function nagsulat sa configuration data ngadto sa DDR controllers ug SERDESIF configuration registers pinaagi sa MSS FIC_2 APB3 bus. Kini nga interface konektado sa humok nga CoreConfigP core nga gi-instantiate sa FPGA nga panapton.
  3. Human ma-configure ang tanang mga register, ang SystemInit() function mosulat sa CoreConfigP control registers aron ipakita ang pagkompleto sa register configuration phase; ang CoreConfigP output signal CONFIG1_DONE ug CONIG2_DONE unya gihingusgan.
    Adunay duha ka hugna sa pag-configure sa rehistro (CONFIG1 ug CONFIG2) depende sa mga peripheral nga gigamit sa disenyo.
  4. Kung ang usa o ang duha sa MDDR/FDDR gigamit, ug walay usa sa mga bloke sa SERDESIF nga gigamit sa disenyo, adunay usa lamang ka yugto sa pag-configure sa rehistro. Parehong ang CoreConfigP output signal CONFIG1_DONE ug CONIG2_DONE gipahayag nga sunodsunod nga walay paghulat/langan.
    Kung ang usa o daghan pa nga bloke sa SERDESIF sa non-PCIe mode gigamit sa disenyo, adunay usa ra ka hugna sa pag-configure sa rehistro. Ang CONFIG1_DONE ug CONIG2_DONE gisunod sunod nga walay paghulat/langan.
    Kung ang usa o daghan pa nga bloke sa SERDESIF sa PCIe mode gigamit sa disenyo, adunay duha ka hugna sa pag-configure sa rehistro. Ang CONFIG1_DONE ipahayag human makompleto ang unang hugna sa configuration sa rehistro. Ang sistema sa SERDESIF ug mga rehistro sa lane gi-configure niini nga hugna. Kung ang SERDESIF gi-configure sa non-PCIE mode, ang CONFIG2_DONE nga signal gipahayag usab dayon.
  5. Ang ikaduhang hugna sa pag-configure sa rehistro unya mosunod (kung ang SERDESIF gi-configure sa PCIE mode). Ang mosunod mao ang lain-laing mga panghitabo nga mahitabo sa ikaduhang hugna:
    - Ang CoreResetP nag-de-assert sa PHY_RESET_N ug CORE_RESET_N nga mga signal nga katumbas sa matag usa sa SERDESIF block nga gigamit. Kini usab nagpahayag sa usa ka output signal SDIF_RELEASED human ang tanan nga mga bloke sa SERDESIF wala na i-reset. Kini nga SDIF_RELEASED nga signal gigamit aron ipakita sa CoreConfigP nga ang SERDESIF core wala na i-reset ug andam na alang sa ikaduhang hugna sa pag-configure sa rehistro.
    - Sa higayon nga ang SDIF_RELEASED signal gipahayag, ang SystemInit() function magsugod sa pagboto alang sa assertion sa PMA_READY sa tukma nga SERDESIF lane. Sa higayon nga ang PMA_READY ipahayag, ang ikaduhang set sa SERDESIF registers (PCIE registers) gi-configure/gisulat sa SystemInit() function.
  6. Human ma-configure ang tanang PCIE registers, ang SystemInit() function mosulat sa CoreConfigP control registers aron ipakita ang pagkompleto sa ikaduhang hugna sa register configuration; ang CoreConfigP output signal CONIG2_DONE unya gipahayag.
  7. Gawas sa mga assertion/de-assertions sa ibabaw sa signal, ang CoreResetP nagdumala usab sa pagsugod sa lain-laing mga bloke pinaagi sa pagbuhat sa mosunod nga mga gimbuhaton:
    - Pag-de-assert sa FDDR core reset
    - Ang pag-de-assert sa SERDESIF nga nag-block sa PHY ug CORE resets
    - Pag-monitor sa signal sa lock sa FDDR PLL (FPLL). Ang FPLL kinahanglan nga naka-lock aron magarantiya nga ang FDDR AXI/AHBLite data interface ug ang FPGA nga panapton makakomunikar sa husto.
    - Pag-monitor sa SERDESIF block PLL (SPLL) lock signal. Kinahanglang naka-lock ang SPLL aron garantiya nga ang SERDESIF nga nag-block sa AXI/AHBLite interface (PCIe mode) o XAUI interface makakomunikar sa husto sa FPGA fabric.
    – Naghulat alang sa eksternal nga mga panumduman sa DDR nga masulbad ug andam nga ma-access sa mga DDR controller.
  8. Kung nahuman na sa tanan nga peripheral ang ilang pagsugod, ang CoreResetP nagpahayag sa INIT_DONE signal; ang CoreConfigP internal nga rehistro INIT_DONE unya gipahayag.
    Kung ang usa o ang duha sa MDDR/FDDR gigamit, ug ang oras sa pagsugod sa DDR naabot, ang CoreResetP output signal DDR_READY gipahayag. Ang pagpahayag niini nga signal DDR_READY mahimong mabantayan isip timailhan nga ang DDR (MDDR/FDDR) andam na alang sa komunikasyon.
    Kung ang usa o daghan pa nga mga bloke sa SERDESIF gigamit, ug ang ikaduhang hugna sa pagsumpo sa rehistro malampuson nga nahuman, ang CoreResetP output signal SDIF_READY gipahayag. Ang pagpahayag niini nga signal SDIF_READY mahimong mabantayan isip timailhan nga ang tanang bloke sa SERDESIF andam na alang sa komunikasyon.
  9. Ang SystemInit() function, nga naghulat sa INIT_DONE nga ipahayag, makompleto, ug ang main() function sa aplikasyon gipatuman. Nianang panahona, ang tanan nga gigamit nga DDR controller ug SERDESIF block nasugdan na, ug ang firmware nga aplikasyon ug ang FPGA fabric logic mahimong kasaligan nga makigkomunikar kanila.

Ang metodolohiya nga gihulagway niini nga dokumento nagsalig sa Cortex-M3 nga nagpatuman sa proseso sa pag-initialization isip kabahin sa sistema sa initialization code nga gipatuman sa wala pa ang main()function sa aplikasyon.
Tan-awa ang Flow Charts sa Figure 1-1, Figure 1-2 ug Figure 1-3 para sa Initialization nga mga lakang sa FDDR/MDDR, SEREDES(non-PCIe mode) ug SERDES (PCIe mode).
Ang Figure 1-4 nagpakita sa usa ka Peripheral Initialization timing diagram.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - timing diagram 1 Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - timing diagram 2

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - timing diagram 3Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - timing diagram 4Figure 1-3 • SERDESIF (PCIe) Initialization Flow Chart
Ang pamaagi sa pag-initialisasyon nga gihulagway niini nga dokumento nanginahanglan kanimo sa pagpadagan sa Cortex-M3 sa panahon sa proseso sa pagsugod, bisan kung wala ka nagplano sa pagpadagan sa bisan unsang code sa Cortex-M3. Kinahanglan ka nga maghimo usa ka sukaranan nga aplikasyon sa firmware nga wala’y mahimo (usa ka yano nga loop, alang sa example) ug i-load kana nga ma-executable sa naka-embed nga Non Volatile Memory (eNVM) aron ang mga DDR controller ug mga bloke sa SERDESIF masugdan kung ang Cortex-M3 boots.

Paggamit sa System Builder sa Paghimo og Disenyo Gamit ang DDR ug SERDESIF Blocks

Ang SmartFusion2 System Builder usa ka gamhanan nga himan sa pagdesinyo nga makatabang kanimo nga makuha ang imong mga kinahanglanon sa lebel sa sistema ug maghimo usa ka disenyo nga nagpatuman sa mga kinahanglanon. Usa ka hinungdanon kaayo nga gimbuhaton sa System Builder mao ang awtomatikong paghimo sa Peripheral Initialization sub-system. Ang “Paggamit sa SmartDesign sa Paghimo og Disenyo Gamit ang DDR ug SERDESIF Blocks” sa pahina 17 naghulagway sa detalye kon unsaon paghimo sa maong solusyon nga wala ang System Builder.
Kung ikaw naggamit sa System Builder, kinahanglan nimo nga buhaton ang mosunod nga mga buluhaton aron makahimo og usa ka disenyo nga mag-initialize sa imong DDR controllers ug SERDESIF blocks sa power up:

  1. Sa pahina sa Device Features (Figure 2-1), ipiho kung unsang DDR controllers ang gigamit ug pila ka SERDESIF blocks ang gigamit sa imong disenyo.
  2. Sa panid sa Memorya, ipiho ang tipo sa DDR (DDR2/DDR3/LPDDR) ug ang data sa pag-configure para sa imong external nga DDR memory. Tan-awa ang seksyon sa Panid sa Memorya para sa mga detalye.
  3. Sa pahina sa Peripheral, idugang ang mga master sa tela nga gi-configure isip AHBLite/AXI sa Fabric DDR Subsystem ug/o MSS DDR FIC Subsystem (opsyonal).
  4. Sa pahina sa Clock Settings, ipiho ang mga frequency sa orasan para sa DDR sub-systems.
  5. Kompletoha ang imong design specification ug i-klik ang Finish. Kini nagmugna sa System Builder nga gihimo nga disenyo, lakip na ang lohika nga gikinahanglan alang sa 'initialization' nga solusyon.
  6. Kung naggamit ka ug mga bloke sa SERDESIF, kinahanglan nimo nga i-instantiate ang mga bloke sa SERDESIF sa imong disenyo ug ikonektar ang ilang mga inisyal nga pantalan sa mga namugna nga kinauyokan sa System Builder.

Pahina sa Mga Feature sa Device sa System Builder
Sa panid sa Device Features, ipiho kung unsang mga DDR controller (MDDR ug/o FDDR) ang gigamit ug pila ka bloke sa SERDESIF ang gigamit sa imong disenyo (Figure 2-1).

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Mga Feature sa Device PageFigure 2-1 • System Builder Device Features Page

Panid sa Memorya sa Magbubuhat sa Sistema
Sa paggamit sa MSS DDR (MDDR) o Fabric DDR (FDDR), pilia ang Memory Type gikan sa drop-down list (Figure 2-2).

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - External MemoryFigure 2-2 • MSS External Memory

Kinahanglan nimo:

  1. Pilia ang tipo sa DDR (DDR2, DDR3 o LPDDR).
  2. Ipasabut ang oras sa paghusay sa memorya sa DDR. Konsultaha ang imong external nga DDR Memory Specifications aron itakda ang hustong oras sa pag-set sa memorya. Ang memorya sa DDR mahimong mapakyas sa pagsugod sa husto kung ang oras sa paghusay sa memorya dili husto nga gitakda.
  3. Mahimong i-import ang data sa configuration sa rehistro sa DDR o itakda ang imong DDR Memory Parameters. Para sa mga detalye, tan-awa ang Microsemi SmartFusion2 High Speed ​​Serial ug DDR Interfaces Giya sa Gumagamit.

Kini nga data gigamit sa pagmugna sa DDR register BFM ug firmware configuration files sama sa gihulagway sa "Paghimo ug Pag-compile sa Firmware Application" sa pahina 26 ug "BFM Files Gigamit sa Pag-simulate sa Disenyo” sa pahina 27. Para sa mga detalye sa mga register sa configuration sa DDR controller, tan-awa ang Microsemi SmartFusion2 High Speed ​​Serial ug DDR Interfaces Giya sa Gumagamit.
Usa ka example sa configuration file syntax gipakita sa Figure 2-3. Ang mga ngalan sa rehistro nga gigamit niini file pareho ra sa gihulagway sa Microsemi SmartFusion2 High Speed ​​Serial ug DDR Interfaces Giya sa Gumagamit

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - File Syntax ExampleFigure 2-3 • Configuration File Syntax Example
System Builder Peripheral Page
Sa panid sa Peripheral, alang sa matag DDR controller usa ka bulag nga subsystem ang gihimo (Fabric DDR Subsystem para sa FDDR ug MSS DDR FIC Subsystem para sa MDDR). Mahimo nimong idugang ang usa ka Fabric AMBA Master (gi-configure ingon AXI / AHBLite) nga kinauyokan sa matag usa niini nga mga subsystem aron mahimo ang pag-access sa master sa tela sa mga controller sa DDR. Pagkahuman sa henerasyon, ang System Builder awtomatik nga nag-instantiate sa mga bus cores (depende sa tipo sa AMBA Master nga gidugang) ug nagbutyag sa master BIF sa bus core ug sa orasan ug pag-reset sa mga pin sa katugbang nga mga subsystem (FDDR/MDDR) ubos sa angay nga mga grupo sa pin, ngadto sa ibabaw. Ang kinahanglan nimong buhaton mao ang pagkonektar sa mga BIF sa angay nga mga core sa Fabric Master nga imong i-instantiate sa disenyo. Sa kaso sa MDDR, opsyonal ang pagdugang ug Fabric AMBA Master core sa MSS DDR FIC Subsystem; Ang Cortex-M3 usa ka default master niini nga subsystem. Ang Figure 2-4 nagpakita sa System Builder Peripherals Page.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Builder Peripherals PageFigure 2-4 • System Builder Peripherals Page

Panid sa Mga Setting sa Orasan sa System Builder
Sa pahina sa Clock Settings, alang sa matag DDR controller, kinahanglan nimong ipiho ang mga frequency sa orasan nga may kalabutan sa matag DDR (MDDR ug/o FDDR) sub-system.
Alang sa MDDR, kinahanglan nimong ipiho:

  • MDDR_CLK - Kini nga orasan nagtino sa frequency sa pag-opera sa DDR Controller ug kinahanglan nga mohaum sa frequency sa orasan nga gusto nimo nga magamit sa imong external nga memorya sa DDR. Kini nga orasan gihubit nga usa ka multiple sa M3_CLK (Cortex-M3 ug MSS Main Clock, Figure 2-5). Ang MDDR_CLK kinahanglan nga ubos pa sa 333 MHz.
  • DDR_FIC_CLK - Kung gipili nimo nga ma-access usab ang MDDR gikan sa tela nga FPGA, kinahanglan nimo ipiho ang DDR_FIC_CLK. Kini nga frequency sa orasan gihubit isip ratio sa MDDR_CLK ug kinahanglan nga motakdo sa frequency diin ang FPGA fabric sub-system nga nag-access sa MDDR nagdagan.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Mga Orasan sa MDDRFigure 2-5 • Cortex-M3 ug MSS Main Clock; Mga Relo sa MDDR

Alang sa FDDR, kinahanglan nimong ipiho:

  • FDDR_CLK – Nagdeterminar sa frequency sa pag-operate sa DDR Controller ug kinahanglang motakdo sa frequency sa orasan diin gusto nimo nga modagan ang imong external DDR memory. Timan-i nga kini nga orasan gihubit nga usa ka multiple sa M3_CLK (MSS ug Cortex-M3 nga orasan, Figure 2-5). Ang FDDR_CLK kinahanglan naa sa sulod sa 20 MHz ug 333 MHz.
  • FDDR_SUBSYSTEM_CLK - Kini nga frequency sa orasan gihubit ingon usa ka ratio sa FDDR_CLK ug kinahanglan nga motakdo sa frequency diin ang sub-system sa tela sa FPGA nga nag-access sa FDDR nagdagan.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Mga Orasan sa DDR nga panaptonFigure 2-6 • Mga Orasan sa DDR nga panapton
SERDESIF Configuration
Ang mga bloke sa SERDESIF wala gi-instantiate sa desinyo nga gihimo sa System Builder. Bisan pa, alang sa tanan nga mga bloke sa SERDESIF, ang mga signal sa pagsugod magamit sa interface sa kinauyokan sa System Builder ug mahimong konektado sa mga cores sa SERDESIF sa sunod nga lebel sa hierarchy, ingon sa gipakita sa Figure 2-7.Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Peripheral Initialization ConnectivityFigure 2-7 • SERDESIF Peripheral Initialization Connectivity
Susama sa mga rehistro sa pagsumpo sa DDR, ang matag bloke sa SERDES aduna usab mga rehistro sa pagsumpo nga kinahanglang ikarga sa runtime. Mahimo nimong i-import kini nga mga kantidad sa rehistro o gamiton ang High Speed ​​​​Serial Interface Configurator (Figure 2-8) aron masulod ang imong mga parameter sa PCIe o EPCS ug ang mga kantidad sa rehistro awtomatik nga makalkula alang kanimo. Para sa mga detalye, tan-awa ang Giya sa Gumagamit sa SERDES Configurator.Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Serial Interface ConfiguratorHulagway 2-8 • High Speed ​​​​Serial Interface Configurator
Kung na-integrate na nimo ang imong user logic sa System Builder block ug SERDES block, mahimo nimong mamugna ang imong top level SmartDesign. Naghimo kini sa tanan nga HDL ug BFM files nga gikinahanglan sa pagpatuman ug pag-simulate sa imong disenyo. Mahimo nimong ipadayon ang nahabilin nga Daloy sa Disenyo.

Paggamit sa SmartDesign sa Paghimo og Disenyo Gamit ang DDR ug SERDESIF Blocks

Kini nga seksyon naghulagway kung giunsa pagbutang ang usa ka kompleto nga solusyon sa 'pagsugod' nga wala gigamit ang SmartFusion2 System Builder. Ang tumong mao ang pagtabang kanimo nga masabtan kung unsa ang kinahanglan nimong buhaton kung dili nimo gusto nga gamiton ang System Builder. Gihulagway usab niini nga seksyon kung unsa gyud ang gihimo sa System Builder tool para kanimo. Kini nga seksyon naghulagway kung unsaon:

  • Isulod ang datos sa pagsumpo para sa DDR controller ug SERDESIF configuration registers.
  • I-instantiate ug ikonektar ang Fabric Cores nga gikinahanglan aron mabalhin ang configuration data ngadto sa DDR controllers ug SERDESIF configuration registers.

Konfigurasyon sa DDR Controller
Ang mga controller sa MSS DDR (MDDR) ug Fabric DDR (FDDR) kinahanglang i-configure sa dinamikong paagi (sa runtime) aron mohaum sa external DDR memory configuration requirements (DDR mode, PHY width, burst mode, ECC, ug uban pa). Ang datos nga gisulod sa MDDR/FDDR configurator gisulat sa DDR controller configuration registers pinaagi sa CMSIS SystemInit() function. Ang Configurator adunay tulo ka lain-laing mga tab alang sa pagsulod sa lain-laing mga matang sa configuration data:

  • Kinatibuk-ang datos (DDR mode, Data Width, Clock Frequency, ECC, Fabric Interface, Drive Strength)
  • Data sa Memory Initialization (Burst Length, Burst Order, Timing Mode, Latency, etc.)
  • Data sa Timing sa Memorya

Tan-awa ang mga detalye sa imong external DDR memory ug i-configure ang DDR Controller aron mohaum sa mga kinahanglanon sa imong external DDR memory.
Alang sa mga detalye sa pag-configure sa DDR, tan-awa ang SmartFusion2 MSS DDR Configuration User Guide.
SERDESIF Configuration
Doble-klik ang SERDES block sa SmartDesign canvas aron maablihan ang Configurator aron ma-configure ang SERDES (Figure 3-1). Mahimo nimong i-import kini nga mga kantidad sa rehistro o gamiton ang configurator sa SERDES aron masulod ang imong mga parameter sa PCIe o EPCS ug ang mga kantidad sa rehistro awtomatik nga makalkula alang kanimo. Para sa mga detalye, tan-awa ang Giya sa Gumagamit sa SERDES Configurator.Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - High Speed ​​​​Serial Interface ConfiguratorHulagway 3-1 • High Speed ​​​​Serial Interface Configurator
Paghimo sa FPGA Design Initialization Sub-System
Aron masugdan ang mga bloke sa DDR ug SERDESIF, kinahanglan nimong himoon ang subsystem sa initialization sa panapton nga FPGA. Ang FPGA fabric initialization subsystem nagpalihok sa datos gikan sa Cortex-M3 ngadto sa DDR ug SERDESIF configuration registers, nagdumala sa reset sequence nga gikinahanglan para kini nga mga block mahimong operational ug mga signal kung kini nga mga block andam na nga makigkomunikar sa uban sa imong disenyo. Aron mahimo ang initialization subsystem, kinahanglan nimo:

  • I-configure ang FIC_2 sulod sa MSS
  • I-instantiate ug i-configure ang CoreConfigP ug CoreResetP cores
  • I-instantiate ang on-chip 25/50MHz RC oscillator
  • I-instantiate ang System Reset (SYSRESET) macro
  • Ikonektar kini nga mga sangkap sa matag interface sa pagsumpo sa peripheral, mga orasan, pag-reset ug mga pantalan sa lock sa PLL

MSS FIC_2 APB Configuration
Aron ma-configure ang MSS FIC_2:

  1. Ablihi ang FIC_2 configurator dialog box gikan sa MSS configurator (Figure 3-2).
  2. Pilia ang Initialize peripheral gamit ang Cortex-M3.
  3. Depende sa imong sistema, susiha ang usa o duha sa mosunod nga mga checkbox:
    – MSS DDR
    – Mga tela nga DDR ug/o SERDES Blocks
  4. I-klik ang OK ug ipadayon ang paghimo sa MSS (mahimo nimong i-defer kini nga aksyon hangtod nga hingpit nimong ma-configure ang MSS sa imong mga kinahanglanon sa disenyo). Ang FIC_2 nga mga pantalan (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK ug FIC_2_APB_M_RESET_N) na-expose na sa MSS interface ug mahimong konektado sa CoreConfigP ug CoreResetP cores.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - MSS FIC 2 ConfiguratorFigure 3-2 • MSS FIC_2 Configurator

CoreConfigP
Aron ma-configure ang CoreConfigP:

  1. I-instantiate ang CoreConfigP sa imong SmartDesign (kasagaran ang usa diin ang MSS gi-instantiate).
    Kini nga kinauyokan makita sa Libero Catalog (ubos sa Peripheral).
  2. Doble-klik ang kinauyokan aron maablihan ang configurator.
  3. I-configure ang kinauyokan aron mahibal-an kung unsang mga peripheral ang kinahanglan i-initial (Figure 3-3)

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Dialog BoxFigure 3-3 • CoreConfigP Dialog Box

CoreResetP
Aron ma-configure ang CoreResetP:

  1. I-instantiate ang CoreResetP sa imong SmartDesign (kasagaran ang usa diin ang MSS gi-instantiate).
    Kini nga kinauyokan makita sa Libero Catalog, ubos sa Peripheral.
  2. Doble-klik ang kinauyokan sulod sa SmartDesign Canvas aron maablihan ang Configurator (Figure 3-4).
  3. I-configure ang kinauyokan sa:
    - Ipiho ang kinaiya sa pag-reset sa gawas (EXT_RESET_OUT gipahayag). Pagpili og usa sa upat ka mga opsyon:
    o EXT_RESET_OUT wala gayud ipahayag
    o EXT_RESET_OUT ipahayag kung ang power up reset (POWER_ON_RESET_N) gipahayag
    o Ang EXT_RESET_OUT gipahayag kung ang FAB_RESET_N gipahayag
    o Ang EXT_RESET_OUT ipahayag kung ang power up reset (POWER_ON_RESET_N) o FAB_RESET_N gipahayag
    - Ipiho ang Device Voltage. Ang pinili nga bili kinahanglan nga mohaum sa voltage imong gipili sa Libero Project Settings dialog box.
    – Susiha ang angay nga mga checkbox aron ipakita kung unsang mga peripheral ang imong gigamit sa imong disenyo.
    – Ipiho ang eksternal nga DDR memory setting nga oras. Kini ang pinakataas nga kantidad sa tanang DDR memory nga gigamit sa imong aplikasyon (MDDR ug FDDR). Tan-awa ang external DDR memory vendor datasheet aron ma-configure kini nga parameter. Ang 200us usa ka maayong default nga kantidad alang sa DDR2 ug DDR3 nga mga panumduman nga nagdagan sa 200MHz. Kini usa ka hinungdanon nga parameter aron magarantiya ang usa ka simulation nga nagtrabaho ug usa ka sistema sa pagtrabaho sa silicon. Ang dili husto nga kantidad alang sa oras sa paghusay mahimong moresulta sa mga sayup sa simulation. Tan-awa ang DDR memory vendor datasheet aron ma-configure kini nga parameter.
    – Alang sa matag bloke sa SERDES sa imong disenyo, susiha ang angay nga mga kahon aron ipakita kung:
    o PCIe gigamit
    o Suporta alang sa PCIe Hot Reset gikinahanglan
    o Suporta alang sa PCIe L2/P2 gikinahanglan

Mubo nga sulat: Kung ikaw naggamit sa 090 die(M2S090) ug ang imong disenyo naggamit sa SERDESIF, dili nimo kinahanglan nga susihon ang bisan unsang mosunod nga mga checkbox: 'Gigamit alang sa PCIe', 'Ilakip ang suporta sa PCIe HotReset' ug 'Ilakip ang suporta sa PCIe L2/P2'. Kung naggamit ka ug bisan unsang non-090 nga aparato ug naggamit sa usa o daghan pa nga bloke sa SERDESIF, kinahanglan nimong susihon ang tanan nga upat nga mga checkbox sa ilawom sa angay nga seksyon sa SERDESIF.
Mubo nga sulat: Alang sa mga detalye sa mga opsyon nga anaa kanimo niini nga configurator, tan-awa ang CoreResetP Handbook.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - CoreResetPConfiguratorFigure 3-4 • CoreResetPConfigurator

25/50MHz Oscillator Instantiation
Ang CoreConfigP ug CoreResetP gi-orasan sa on-chip 25/50MHz RC oscillator. Kinahanglan nimo nga i-instantiate ang usa ka 25/50MHz Oscillator ug ikonektar kini sa kini nga mga core.

  1. I-instantiate ang Chip Oscillators core sa imong SmartDesign (kasagaran ang usa diin ang MSS gi-instantiate). Kini nga kinauyokan makita sa Libero Catalog ubos sa Clock & Management.
  2. I-configure kini nga kinauyokan sa ingon nga ang RC oscillator nagmaneho sa FPGA nga panapton, ingon sa gipakita sa Figure 3-5.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Oscillators ConfiguratorFigure 3-5 • Chip Oscillators Configurator

System Reset (SYSRESET) Instantiation
Ang SYSRESET macro naghatag ug device level reset functionality sa imong disenyo. Ang POWER_ON_RESET_N output signal gipahayag/de-asserted sa matag higayon nga ang chip gipaandar o ang external pin DEVRST_N gipahayag/de-asserted (Figure 3-6).
I-instantiate ang SYSRESET macro sa imong SmartDesign (kasagaran ang usa diin ang MSS gi-instantiate). Kini nga macro makit-an sa Libero Catalog sa ilawom sa Macro Library. Wala’y kinahanglan nga pag-configure niini nga macro.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - SYSRESET MacroFigure 3-6 • SYSRESET Macro

Kinatibuk-ang Koneksyon
Human nimo ma-instantiate ug ma-configure ang MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP ug CoreResetP nga mga cores sa imong disenyo, kinahanglan nimo nga ikonektar sila aron maporma ang Peripheral Initialization subsystem. Aron pasimplehon ang paghulagway sa koneksyon niini nga dokumento, gibuak kini sa APB3 compliant configuration data path connectivity nga nalangkit sa CoreConfigP ug sa CoreResetP related connections.
Pagkadugtong sa Dalan sa Data sa Pag-configure
Gipakita sa Figure 3-7 kung giunsa ang pagkonektar sa CoreConfigP sa mga signal sa MSS FIC_2 ug mga interface sa pagsumpo sa pagsunod sa APB3 sa peripheral.
Talaan 3-1 • Konfigurasyon sa Data Path Port/BIF Connections

GIKAN
Interface sa Port/Bus
(BIF)/ Component
SA
Port/Bus Interface (BIF)/Component
APB S PRESET N/ CoreConfigP APB S PRESET N/ SDIF<0/1/2/3> APB S PRESET N/
FDDR
MDDR APB S PRESE TN/MSS
APB S PCLK/ CoreConfigP APB S PCLK/SDIF APB S PCLK/FDDR MDDR APB S POLK/ MSS
MDDR APBmslave/ CoreConfig MDDR APB SLAVE (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB ULIPON (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB SLAVE (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MASTER/ MSS

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Sub-System ConnectivityFigure 3-7 • FIC_2 APB3 Sub-System Connectivity

Mga Orasan ug Pag-reset sa Koneksyon
Gipakita sa Figure 3-8 kung giunsa ang pagkonektar sa CoreResetP sa mga gigikanan sa pag-reset sa gawas ug mga signal sa pag-reset sa mga peripheral. Gipakita usab niini kung giunsa ang pagkonektar sa CoreResetP sa mga peripheral' clock synchronization status signal (PLL lock signal). Dugang pa, kini nagpakita kung giunsa ang CoreConfigP ug CoreResetP konektado.

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller - Sub-System Connectivity 2Figure 3-8 • Core SF2Reset Sub-System Connectivity

Paghimo ug Pag-compile sa Firmware Application

Kung imong gi-export ang firmware gikan sa LiberoSoC (Design Flow Window> Export Firmware> Export Firmware), ang Libero nagmugna sa mosunod files sa / firmware / drivers_config / sys_config folder:

  • sys_config.c - Naglangkob sa mga istruktura sa datos nga naghupot sa mga kantidad alang sa mga rehistro sa peripheral.
  • sys_config.h – Naglangkob sa #define nga mga pahayag nga nagtino kung unsang mga peripheral ang gigamit sa disenyo ug kinahanglan nga magsugod.
  • sys_config_mddr_define.h – Naglangkob sa MDDR controller configuration data nga gisulod sa Registers Configuration dialog box.
  • sys_config_fddr_define.h – Naglangkob sa FDDR controller configuration data nga gisulod sa Registers Configuration dialog box.
  • sys_config_mss_clocks.h – Kini file naglangkob sa mga frequency sa orasan sa MSS sama sa gipasabut sa MSS CCC configurator. Kini nga mga frequency gigamit sa CMSIS code aron mahatagan ang husto nga impormasyon sa orasan sa daghang mga driver sa MSS nga kinahanglan adunay access sa ilang Peripheral Clock (PCLK) frequency (pananglitan, ang MSS UART baud rate divisors usa ka function sa baud rate ug ang PCLK frequency. ).
  • sys_config_SERDESIF_ .c - Naglangkob sa SERDESIF_ irehistro ang datos sa pagsumpo nga gihatag sa panahon sa SERDESIF_ block configuration sa paghimo sa disenyo.
  • sys_config_SERDESIF_ .h – Naglangkob sa #define nga mga pahayag nga nagtino sa gidaghanon sa mga pares sa pagrehistro sa pag-configure ug ang numero sa lane nga kinahanglan nga usisahon alang sa PMA_READY (sa PCIe mode ra).

Kini files gikinahanglan alang sa CMSIS code sa pag-compile sa husto ug naglangkob sa impormasyon mahitungod sa imong kasamtangan nga disenyo, lakip na ang peripheral configuration data ug clock configuration impormasyon alang sa MSS.
Ayaw i-edit kini files sa kamut; kini gimugna ngadto sa katugbang nga component/peripheral nga mga direktoryo sa matag higayon nga ang SmartDesign nga mga sangkap nga naglangkob sa tagsa-tagsa nga mga peripheral namugna. Kung adunay mga pagbag-o nga gihimo sa data sa pagsumpo sa bisan unsang mga peripheral, kinahanglan nimo nga i-export pag-usab ang mga proyekto sa firmware aron ang na-update nga firmware files (tan-awa ang lista sa ibabaw) gi-eksport sa / firmware/drivers_config/sys_config folder.
Kung imong gi-export ang firmware, ang Libero SoC nagmugna sa mga proyekto sa firmware: usa ka librarya diin ang imong laraw sa disenyo files ug mga drayber gihugpong.
Kung imong susihon ang Paghimo proyekto checkbox sa dihang imong gi-export ang firmware, usa ka software nga SoftConsole/IAR/Keil nga proyekto ang gihimo aron huptan ang aplikasyon nga proyekto diin imong ma-edit ang main.c ug user C/H files. Ablihi ang SoftConSole/IAR/Keil nga proyekto aron i-compile ang CMSIS code sa hustong paagi ug ipa-configure sa husto ang imong firmware application aron mohaum sa imong hardware design.

BFM Files Gigamit sa Pagsundog sa Disenyo

Kung makamugna ka sa mga sangkap sa SmartDesign nga adunay mga peripheral nga may kalabutan sa imong disenyo, ang simulation files katumbas sa tagsa-tagsa nga mga peripheral nga namugna sa / direktoryo sa simulation:

  • pagsulay.bfm - Taas nga lebel sa BFM file nga unang gipatuman sa panahon sa bisan unsang simulation nga naggamit sa SmartFusion2 MSS Cortex-M3 processor. Gipatuman niini ang peripheral_init.bfm ug user.bfm, sa maong han-ay.
  • MDDR_init.bfm - Kung ang imong disenyo naggamit sa MDDR, ang Libero nagmugna niini file; kini adunay BFM write commands nga nagsundog sa pagsulat sa MSS DDR configuration register data nga imong gisulod (gamit ang Edit Registers dialogbox o sa MSS_MDDR GUI) ngadto sa MSS DDR Controller registers.
  • FDDR_init.bfm – Kung ang imong desinyo naggamit sa FDDR, ang Libero nagmugna niini file; kini adunay BFM write commands nga nagsundog sa pagsulat sa Fabric DDR configuration register data nga imong gisulod (gamit ang Edit Registers dialogbox o sa FDDR GUI) ngadto sa Fabric DDR Controller registers.
  • SERDESIF_ _init.bfm - Kung ang imong disenyo naggamit sa usa o daghan pa nga mga bloke sa SERDESIF, gimugna kini ni Libero file alang sa matag usa sa SERDESIF_ gigamit nga mga bloke; kini naglangkob sa BFM write commands nga nagsundog sa pagsulat sa SERDESIF configuration register data nga imong gisulod (gamit ang Edit Registers dialog box o sa SERDESIF_ GUI) ngadto sa SERDESIF_ mga rehistro. Kung ang SERDESIF block gi-configure isip PCIe, kini file Adunay usab pipila ka mga #define nga mga pahayag nga nagkontrol sa pagpatuman sa 2 nga mga hugna sa pag-configure sa rehistro sa hingpit nga pagkahan-ay.
  • user.bfm - Naglangkob sa mga mando sa tiggamit. Kini nga mga sugo gipatuman human makompleto ang peripheral_init.bfm. I-edit kini file sa pagsulod sa imong BFM commands.
  • SERDESIF_ _user.bfm - Naglangkob sa mga mando sa tiggamit. I-edit kini file sa pagsulod sa imong BFM commands. Gamita kini kung imong gi-configure ang SERDESIF_ block sa BFM PCIe simulation mode ug isip AXI/AHBLite master. Kung imong gi-configure ang SERDESIF_ block sa RTL simulation mode, dili nimo kinahanglan kini file.

Kung imong gisangpit ang simulation matag higayon, ang mosunod nga duha ka simulation files gihimo pag-usab ngadto sa / simulation nga direktoryo nga adunay gi-update nga mga sulud:

  • subsystem.bfm – Naglangkob sa #define nga mga pahayag alang sa matag peripheral nga gigamit sa imong disenyo, nga nagtino sa partikular nga seksyon sa peripheral_init.bfm nga ipatuman nga katumbas sa matag peripheral.
  • operipheral_init.bfm – Naglangkob sa pamaagi sa BFM nga nagsundog sa CMSIS:: SystemInit() function nga gipadagan sa Cortex-M3 sa dili ka pa mosulod sa main() nga pamaagi. Gikopya niini ang datos sa pag-configure alang sa bisan unsang peripheral nga gigamit sa disenyo ngadto sa husto nga mga rehistro sa pagsumpo sa peripheral ug dayon maghulat nga andam ang tanan nga peripheral sa dili pa ipahayag nga magamit nimo kini nga mga peripheral. Gipatuman niini ang MDDR_init.bfm ug FDDR_init.bfm.

Gigamit kini nga mga nahimo files, ang mga controller sa DDR sa imong disenyo awtomatik nga gi-configure, nga nagsundog sa unsay mahitabo sa usa ka SmartFusion2 device. Mahimo nimong usbon ang user.bfm file aron idugang ang bisan unsang mga sugo nga gikinahanglan aron masundog ang imong disenyo (Cortex-M3 mao ang agalon). Kini nga mga sugo gipatuman human ang mga peripheral na-initialize. Ayaw usba ang test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files ug ang SERDESIF_ _init.bfm files.

Suporta sa Produkto

Gisuportahan sa Microsemi SoC Products Group ang mga produkto niini nga adunay lainlaing mga serbisyo sa suporta, lakip ang Customer Service, Customer Technical Support Center, a website, electronic mail, ug mga opisina sa pagbaligya sa tibuok kalibutan.
Kini nga apendise adunay kasayuran bahin sa pagkontak sa Microsemi SoC Products Group ug paggamit niini nga mga serbisyo sa suporta.
Serbisyo sa Kustomer
Kontaka ang Customer Service alang sa dili teknikal nga suporta sa produkto, sama sa pagpresyo sa produkto, pag-upgrade sa produkto, impormasyon sa pag-update, status sa order, ug pagtugot.
Gikan sa North America, tawag 800.262.1060
Gikan sa ubang bahin sa kalibutan, tawag 650.318.4460
Fax, gikan sa bisan asa sa kalibutan, 408.643.6913
Customer Technical Support Center
Ang Microsemi SoC Products Group mga kawani sa Customer Technical Support Center niini nga adunay hanas kaayo nga mga inhenyero nga makatabang sa pagtubag sa imong hardware, software, ug mga pangutana sa disenyo bahin sa Microsemi SoC Products. Ang Customer Technical Support Center naggugol ug daghang oras sa paghimo og mga nota sa aplikasyon, mga tubag sa kasagarang mga pangutana sa siklo sa disenyo, dokumentasyon sa nahibal-an nga mga isyu, ug lain-laing mga FAQ. Busa, sa dili ka pa mokontak kanamo, palihug bisitaha ang among mga kapanguhaan sa online. Lagmit natubag na namo ang imong mga pangutana.
Teknikal nga Suporta
Bisitaha ang Customer Support weblugar (www.microsemi.com/soc/support/search/default.aspx) para sa dugang impormasyon ug suporta. Daghang mga tubag nga magamit sa pagpangita web Ang kapanguhaan naglakip sa mga diagram, mga ilustrasyon, ug mga link sa ubang mga kapanguhaan sa website.
Website
Mahimo nimong tan-awon ang lainlaing teknikal ug dili teknikal nga impormasyon sa SoC home page, sa www.microsemi.com/soc.
Pagkontak sa Customer Technical Support Center
Ang mga batid kaayo nga inhenyero nga kawani sa Technical Support Center. Ang Technical Support Center mahimong makontak pinaagi sa email o pinaagi sa Microsemi SoC Products Group website.
Email
Mahimo nimong ipahibalo ang imong teknikal nga mga pangutana sa among email address ug makadawat og mga tubag pinaagi sa email, fax, o telepono. Usab, kung adunay ka mga problema sa disenyo, mahimo nimong i-email ang imong disenyo files aron makadawat og tabang.
Kanunay namong gimonitor ang email account sa tibuok adlaw. Kung ipadala ang imong hangyo kanamo, palihug siguruha nga iapil ang imong tibuuk nga ngalan, ngalan sa kompanya, ug ang imong impormasyon sa pagkontak alang sa hapsay nga pagproseso sa imong hangyo.
Ang email address sa teknikal nga suporta mao ang soc_tech@microsemi.com.
Akong mga Kaso
Ang mga kustomer sa Microsemi SoC Products Group mahimong mosumite ug magsubay sa mga teknikal nga kaso online pinaagi sa pag-adto sa Akong mga Kaso.
Sa gawas sa US
Ang mga kustomer nga nanginahanglan og tabang sa gawas sa mga time zone sa US mahimong makontak ang teknikal nga suporta pinaagi sa email (soc_tech@microsemi.com) o kontaka ang lokal nga sales office. Ang mga lista sa opisina sa pagpamaligya makita sa www.microsemi.com/soc/company/contact/default.aspx.
ITAR Teknikal nga Suporta
Para sa teknikal nga suporta sa RH ug RT FPGAs nga gi-regulate sa International Traffic in Arms Regulations (ITAR), kontaka mi pinaagi sa soc_tech_itar@microsemi.com. Sa laing bahin, sulod sa Akong Mga Kaso, pilia ang Oo sa drop-down list sa ITAR. Para sa kompletong listahan sa ITAR-regulated Microsemi FPGAs, bisitaha ang ITAR web panid.
Ang Microsemi Corporation (NASDAQ: MSCC) nagtanyag usa ka komprehensibo nga portfolio sa mga solusyon sa semiconductor para sa: aerospace, depensa ug seguridad; negosyo ug komunikasyon; ug industriyal ug alternatibong merkado sa enerhiya. Ang mga produkto naglakip sa high-performance, high-reliability analog ug RF device, mixed signal ug RF integrated circuits, customizable SoCs, FPGAs, ug complete subsystems. Ang Microsemi nahimutang sa Aliso Viejo, Calif. Pagkat-on pa sa www.microsemi.com.
© 2014 Microsemi Corporation. Tanang katungod gigahin. Ang Microsemi ug ang Microsemi logo kay mga trademark sa Microsemi Corporation. Ang tanan nga uban nga mga marka sa pamatigayon ug mga marka sa serbisyo mao ang kabtangan sa ilang tagsa-tagsa nga mga tag-iya.

5-02-00384-1/08.14Microsemi logoMicrosemi Corporate Headquarters
Usa ka Enterprise, Aliso Viejo CA 92656 USA
Sulod sa USA: +1 949-380-6100
Pagbaligya: +1 949-380-6136
Fax: +1 949-215-4996

Mga Dokumento / Mga Kapanguhaan

Microsemi SmartFusion2 DDR Controller ug Serial High Speed ​​Controller [pdf] Giya sa Gumagamit
SmartFusion2 DDR Controller ug Serial High Speed ​​Controller, SmartFusion2 DDR, Controller ug Serial High Speed ​​Controller, High Speed ​​Controller

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *