Microsemi logotipoaSmartFusion2
DDR kontroladorea eta serieko abiadura handiko kontrolagailua
Hasierako metodologia
Erabiltzailearen Gida

Sarrera

SmartFusion2 gailu bat erabiliz diseinu bat sortzen duzunean, bi DDR kontrolagailuetako bat (FDDR edo MDDR) edo serieko abiadura handiko kontrolagailuren bat (SERDESIF) bloke bat erabiltzen baduzu, bloke horien konfigurazio-erregistroak hasieratu behar dituzu exekuzioan aurretik. erabil daitezke. Adibidezample, DDR kontrolagailurako, DDR modua (DDR3/DDR2/LPDDR), PHY zabalera, leherketa modua eta ECC ezarri behar dituzu.
Era berean, PCIe amaierako puntu gisa erabiltzen den SERDESIF blokearentzat, PCIE BAR AXI (edo AHB) leihoan ezarri behar duzu.
Dokumentu honek DDR kontrolagailua eta SERDESIF blokeak pizten direnean automatikoki hasieratzen dituen Libero diseinu bat sortzeko beharrezkoak diren urratsak deskribatzen ditu. Kapsulatutako diseinu-fluxuan erabiltzen den Libero SOCetik firmware kodea nola sortu deskribatzen du.
Eragiketen teoriaren deskribapen zehatza ematen da lehenik.
Hurrengo atalean, Libero SoC System Builder-a erabiliz diseinu hori nola sortu deskribatzen da, diseinu-tresna indartsu bat, beste ezaugarri batzuen artean, zure diseinuan DDR edo SERDESIF blokeak erabiltzen ari bazara 'hasierako' irtenbidea sortzen dizuna.
Hurrengo atalean, 'hasierako' irtenbide osoa nola jarri deskribatzen da SmartFusion2 System Builder erabili gabe. Honek System Builder erabili nahi ez baduzu zer egin behar den azaltzen laguntzen du, eta System Builder tresnak benetan sortzen dizuna deskribatzen du. Atal honek honako hauek zuzentzen ditu:

  • DDR kontroladorearen eta SERDESIF konfigurazio-erregistroen konfigurazio-datuak sortzea
  • Konfigurazio-datuak ASIC konfigurazio-erregistro desberdinetara transferitzeko beharrezkoa den FPGA logikaren sorrera

Azkenik, sortutakoa deskribatzen dugu filehonekin erlazionatuta dago:

  • Firmwarearen 'hasierako' irtenbidea sortzea.
  • DDR 'hasierako' irtenbidearen diseinuaren simulazioa.

DDR kontroladoreari eta SERDESIF konfigurazio-erregistroei buruzko xehetasunak lortzeko, ikusi Microsemi SmartFusion2 Abiadura Handiko serieko eta DDR interfazeen erabiltzailearen gida.

Funtzionamenduaren Teoria

Hasierako periferikoen irtenbideak osagai nagusi hauek erabiltzen ditu:

  • CMSIS SystemInit() funtzioa, Cortex-M3-n exekutatzen dena eta hasierako prozesua orkestratzen duena.
  • CoreConfigP soft IP core, periferikoen konfigurazio-erregistroak hasieratzen dituena.
  • CoreResetP IP bigunaren nukleoa, MSS, DDR kontrolagailu eta SERDESIF blokeen berrezartze sekuentzia kudeatzen duena.

Hasierako periferiko prozesuak honela funtzionatzen du:

  1. Berrezarritakoan, Cortex-M3-k CMSIS SystemInit() funtzioa exekutatzen du. Funtzio hau automatikoki exekutatzen da aplikazioaren main() funtzioa exekutatu aurretik.
    CoreResetP irteera-seinalea MSS_HPMS_READY hasierako prozesuaren hasieran baieztatzen da, MSS eta periferiko guztiak (MDDR izan ezik) komunikaziorako prest daudela adieraziz.
  2. SystemInit() funtzioak konfigurazio-datuak idazten ditu DDR kontrolagailuetan eta SERDESIF konfigurazio-erregistroetan MSS FIC_2 APB3 busaren bidez. Interfaze hau FPGA ehunean instantziatutako CoreConfigP nukleo leunera konektatuta dago.
  3. Erregistro guztiak konfiguratu ondoren, SystemInit() funtzioak CoreConfigP kontrol erregistroetan idazten du erregistroaren konfigurazio fasea amaitu dela adierazteko; ondoren, CoreConfigP irteera-seinaleak CONFIG1_DONE eta CONIG2_DONE baieztatzen dira.
    Erregistroaren konfigurazioaren bi fase daude (CONFIG1 eta CONFIG2) diseinuan erabilitako periferikoen arabera.
  4. MDDR/FDDR bat edo biak erabiltzen badira, eta diseinuan SERDESIF blokeetako bat ere ez bada erabiltzen, erregistroaren konfigurazio fase bakarra dago. Bi CoreConfigP irteerako seinaleak CONFIG1_DONE eta CONIG2_DONE bata bestearen atzetik itxaron/atzerapenik gabe aldarrikatzen dira.
    Diseinuan PCIe ez den SERDESIF bloke bat edo gehiago erabiltzen badira, erregistroaren konfigurazioaren fase bakarra dago. CONFIG1_DONE eta CONIG2_DONE bata bestearen atzetik itxaron/atzerapenik gabe aldarrikatzen dira.
    Diseinuan PCIe moduan SERDESIF bloke bat edo gehiago erabiltzen badira, erregistroaren konfigurazioaren bi fase daude. CONFIG1_DONE erregistroaren konfigurazioaren lehen fasea amaitu ondoren baieztatzen da. Fase honetan SERDESIF sistema eta errei-erregistroak konfiguratzen dira. SERDESIF ez-PCIE moduan konfiguratuta badago, CONFIG2_DONE seinalea ere berehala aldarrikatzen da.
  5. Ondoren, erregistroaren konfigurazioaren bigarren fasea dator (SERDESIF PCIE moduan konfiguratuta badago). Honako hauek dira bigarren fasean gertatzen diren gertakari desberdinak:
    – CoreResetP-k erabilitako SERDESIF bloke bakoitzari dagozkion PHY_RESET_N eta CORE_RESET_N seinaleak indargabetzen ditu. SDIF_RELEASED irteerako seinalea ere baieztatzen du SERDESIF bloke guztiak berrezarri ondoren. SDIF_RELEASED seinale hau CoreConfigP-i SERDESIF nukleoa berrezarri gabe dagoela eta erregistroaren konfigurazioaren bigarren faserako prest dagoela adierazteko erabiltzen da.
    – SDIF_RELEASED seinalea baieztatzen denean, SystemInit() funtzioa PMA_READY baieztapena SERDESIF bide egokian galdetzen hasten da. PMA_READY baieztatzen denean, SERDESIF erregistroen bigarren multzoa (PCIE erregistroak) SystemInit() funtzioak konfiguratu/idazten du.
  6. PCIE erregistro guztiak konfiguratu ondoren, SystemInit() funtzioak CoreConfigP kontrol erregistroetan idazten du erregistroaren konfigurazioaren bigarren fasea amaitu dela adierazteko; CoreConfigP irteerako seinalea CONIG2_DONE baieztatzen da orduan.
  7. Goiko seinaleen baieztapen/desafirmazioez gain, CoreResetP-k bloke ezberdinen hasieratzea ere kudeatzen du, funtzio hauek betez:
    – FDDR nukleoaren berrezarpena indargabetzea
    – SERDESIF blokeak PHY eta CORE berrezartzea
    – FDDR PLL (FPLL) blokeo-seinalearen jarraipena. FPLL blokeatu egin behar da FDDR AXI/AHBLite datu-interfazea eta FPGA ehuna behar bezala komunikatu ahal izango direla bermatzeko.
    – SERDESIF bloke PLL (SPLL) blokeo-seinaleen jarraipena. SPLL blokeatu egin behar da SERDESIF blokeak AXI/AHBLite interfazea (PCIe modua) edo XAUI interfazea FPGA ehunarekin behar bezala komunikatu ahal izango direla bermatzeko.
    – Kanpoko DDR memoriak finkatu eta DDR kontrolagailuek atzitzeko prest egon arte.
  8. Periferiko guztiek hasieratzea amaitu dutenean, CoreResetP-k INIT_DONE seinalea baieztatzen du; CoreConfigP barne-erregistroa INIT_DONE baieztatzen da.
    MDDR/FDDR bat edo biak erabiltzen badira eta DDR hasierako denborara iristen bada, CoreResetP irteera seinalea DDR_READY aldarrikatzen da. DDR_READY seinale honen baieztapena DDR (MDDR/FDDR) komunikaziorako prest dagoela adierazteko monitorizatu daiteke.
    SERDESIF bloke bat edo gehiago erabiltzen badira eta erregistroaren konfigurazioaren bigarren fasea behar bezala betetzen bada, CoreResetP irteerako seinalea SDIF_READY aldarrikatzen da. SDIF_READY seinale honen baieztapena kontrolatu daiteke SERDESIF bloke guztiak komunikaziorako prest daudela adierazteko.
  9. SystemInit() funtzioa, INIT_DONE aldarrikatzeko zain egon dena, osatu eta aplikazioaren main() funtzioa exekutatzen da. Une horretan, erabilitako DDR kontrolagailu eta SERDESIF bloke guztiak hasieratu dira, eta firmware aplikazioa eta FPGA ehun logika fidagarritasunez komunikatu daitezke haiekin.

Dokumentu honetan deskribatzen den metodologia Cortex-M3-k hasierako prozesua exekutatzean oinarritzen da, aplikazioaren ()funtzio nagusiaren aurretik exekutatu den sistemaren hasierako kodearen zati gisa.
Ikus 1-1 irudian, 1-2 irudian eta 1-3 irudian FDDR/MDDR, SEREDES (PCIe ez-modua) eta SERDES (PCIe modua) hasierako urratsetarako.
1-4 irudiak hasierako periferikoen denbora-diagrama erakusten du.

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - denbora-diagrama 1 Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - denbora-diagrama 2

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - denbora-diagrama 3Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - denbora-diagrama 41-3 Irudia • SERDESIF (PCIe) Hasierako Fluxu-diagrama
Dokumentu honetan deskribatzen den hasierako prozedurak Cortex-M3 exekutatu behar duzu hasierako prozesuan zehar, Cortex-M3-n inolako koderik exekutatzeko asmorik ez baduzu ere. Ezer egiten ez duen oinarrizko firmware aplikazio bat sortu behar duzu (begizta sinple bat, adibidezample) eta kargatu exekutagarri hori txertatutako Memoria Ez Lurrunkorran (eNVM), Cortex-M3 abiaraztean DDR kontrolagailuak eta SERDESIF blokeak hasieratu daitezen.

System Builder erabiliz diseinu bat sortzeko DDR eta SERDESIF blokeak erabiliz

SmartFusion2 System Builder diseinu-tresna indartsua da, zure sistema-mailako eskakizunak harrapatzen laguntzen dizuna eta eskakizun horiek ezartzen dituen diseinua sortzen. System Builder-en funtzio oso garrantzitsu bat Periferikoen Hasierako azpisistema automatikoki sortzea da. "DDR eta SERDESIF blokeak erabiliz diseinu bat sortzeko SmartDesign erabiltzea" 17. orrialdean honelako irtenbide bat nola sortu deskribatzen du System Builder gabe.
System Builder erabiltzen ari bazara, hurrengo zereginak egin behar dituzu zure DDR kontrolagailuak eta SERDESIF blokeak piztean hasieratzen dituen diseinua sortzeko:

  1. Gailuaren Ezaugarriak orrian (2-1 irudia), zehaztu zein DDR kontrolagailu erabiltzen diren eta zenbat SERDESIF bloke erabiltzen diren zure diseinuan.
  2. Memoria orrian, zehaztu DDR mota (DDR2/DDR3/LPDDR) eta kanpoko DDR memoriaren konfigurazio-datuak. Ikusi Memoria Orria atala xehetasunetarako.
  3. Periferikoak orrian, gehitu AHBLite/AXI gisa konfiguratutako ehun-maisuak Fabric DDR azpisistemara eta/edo MSS DDR FIC azpisistemara (aukerakoa).
  4. Erlojuaren ezarpenak orrian, zehaztu DDR azpisistemen erloju-maiztasunak.
  5. Osatu zure diseinuaren zehaztapena eta egin klik Amaitu. Honek System Builder-ek sortutako diseinua sortzen du, 'hasierako' irtenbiderako beharrezkoa den logika barne.
  6. SERDESIF blokeak erabiltzen ari bazara, SERDESIF blokeak instantziatu behar dituzu zure diseinuan eta haien hasierako portuak System Builder-ek sortutako nukleoarekin konektatu behar dituzu.

System Builder Gailuaren Ezaugarrien Orria
Gailuaren Ezaugarriak orrian, zehaztu zein DDR kontrolagailu (MDDR eta/edo FDDR) erabiltzen diren eta zenbat SERDESIF bloke erabiltzen diren zure diseinuan (2-1. Irudia).

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua - Gailuaren Ezaugarrien Orria2-1 Irudia • System Builder Gailuaren Ezaugarrien Orria

System Builder Memoria Orria
MSS DDR (MDDR) edo Fabric DDR (FDDR) erabiltzeko, hautatu Memoria mota goitibeherako zerrendan (2-2 Irudia).

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - Kanpoko memoria2-2 Irudia • MSS Kanpo Memoria

Behar duzu:

  1. Hautatu DDR mota (DDR2, DDR3 edo LPDDR).
  2. Definitu DDR memoria finkatzeko denbora. Kontsultatu kanpoko DDR memoriaren zehaztapenak memoriaren ezarpen-denbora egokia ezartzeko. Baliteke DDR memoriak behar bezala abiaraztean huts egitea, memoria finkatzeko denbora behar bezala ezartzen ez bada.
  3. Inportatu DDR erregistroaren konfigurazio datuak edo ezarri zure DDR memoria-parametroak. Xehetasunetarako, jo Microsemi SmartFusion2 Abiadura Handiko serieko eta DDR interfazeen erabiltzailearen gida.

Datu hauek DDR erregistro BFM eta firmware konfigurazioa sortzeko erabiltzen dira file26. orrialdean "Firmware aplikazioa sortzea eta konpilatzea" eta "BFM Files Diseinua simulatzeko erabiltzen da” 27. orrialdean. DDR kontrolagailuaren konfigurazio-erregistroei buruzko xehetasunak lortzeko, ikusi Microsemi SmartFusion2 Abiadura Handiko serieko eta DDR interfazeen erabiltzailearen gida.
Exampkonfigurazioaren le file sintaxia 2-3 irudian ageri da. Horretan erabiltzen diren erregistro-izenak file atalean deskribatutako berdinak dira Microsemi SmartFusion2 Abiadura Handiko serieko eta DDR interfazeen erabiltzailearen gida

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - File Sintaxia Adibample2-3 Irudia • Konfigurazioa File Sintaxia Adibample
System Builder Periferikoen Orria
Periferikoak orrian, DDR kontrolagailu bakoitzeko azpisistema bereizi bat sortzen da (Fabric DDR Subsystem FDDRrako eta MSS DDR FIC Subsystem MDDRrako). Fabric AMBA Master (AXI/AHBLite gisa konfiguratuta) nukleo bat gehi diezaiokezu azpisistema hauetako bakoitzean ehuneko maisua sarbidea ahalbidetzeko DDR kontrolagailuetarako. Sortzean, System Builder-ek automatikoki instantziatzen ditu bus-nukleoak (gehitutako AMBA Master motaren arabera) eta bus-nukleoaren BIF maisua eta dagozkien azpisistemen erlojua eta berrezarri pinak (FDDR/MDDR) pin talde egokietan azaltzen ditu. goian. Egin behar duzun guztia BIFak diseinuan instantziatuko zenituzkeen Fabric Master nukleo egokietara konektatzea da. MDDRren kasuan, aukerakoa da Fabric AMBA Master core bat gehitzea MSS DDR FIC Azpisisteman; Cortex-M3 azpisistema honetako maisu lehenetsia da. 2-4 irudiak System Builder Periferikoen Orria erakusten du.

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - Eraikitzaileen periferikoen orria2-4 Irudia • System Builder Periferikoen Orria

System Builder Erlojuaren ezarpenen orria
Erlojuaren ezarpenen orrian, DDR kontrolagailu bakoitzeko, DDR (MDDR eta/edo FDDR) azpisistema bakoitzari lotutako erloju-maiztasunak zehaztu behar dituzu.
MDDRrako, zehaztu behar duzu:

  • MDDR_CLK - Erloju honek DDR Kontrolagailuaren funtzionamendu-maiztasuna zehazten du eta kanpoko DDR memoria exekutatu nahi duzun erloju-maiztasunarekin bat etorri behar du. Erloju hau M3_CLK-ren multiplo gisa definitzen da (Cortex-M3 eta MSS Main Clock, 2-5 Irudia). MDDR_CLK 333 MHz baino txikiagoa izan behar du.
  • DDR_FIC_CLK - FPGA ehunetik MDDRra atzitzea aukeratu baduzu, DDR_FIC_CLK zehaztu behar duzu. Erloju-maiztasun hau MDDR_CLK-ren ratio gisa definitzen da eta MDDRra sartzen den FPGA ehuneko azpisistema exekutatzen ari den maiztasunarekin bat etorri behar du.

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua - MDDR erlojuak2-5 Irudia • Cortex-M3 eta MSS Erloju Nagusia; MDDR Erlojuak

FDDRrako, zehaztu behar duzu:

  • FDDR_CLK - DDR kontrolagailuaren funtzionamendu-maiztasuna zehazten du eta kanpoko DDR memoria exekutatzea nahi duzun erloju-maiztasunarekin bat etorri behar du. Kontuan izan erloju hau M3_CLK-ren multiplo gisa definitzen dela (MSS eta Cortex-M3 erlojua, 2-5 irudia). FDDR_CLK 20 MHz eta 333 MHz-en barruan egon behar du.
  • FDDR_SUBSYSTEM_CLK - Erloju-maiztasun hau FDDR_CLK-ren ratio gisa definitzen da eta FDDRra sartzen den FPGA ehuneko azpisistema exekutatzen ari den maiztasunarekin bat etorri behar du.

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua - Ehun DDR erlojuak2-6 Irudia • Fabric DDR Erlojuak
SERDESIF konfigurazioa
SERDESIF blokeak ez dira instantziatzen System Builder sortutako diseinuan. Hala ere, SERDESIF bloke guztietarako, hasierako seinaleak System Builder nukleoaren interfazean daude eskuragarri eta SERDESIF nukleoetara konekta daitezke hurrengo hierarkiaren mailan, 2-7 Irudian ikusten den moduan.Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - Hasierako periferikoen konektibitatea2-7 Irudia • SERDESIF Periferikoen Hasierako Konektibitatea
DDR konfigurazio-erregistroen antzera, SERDES bloke bakoitzak exekuzioan kargatu behar diren konfigurazio-erregistroak ere baditu. Erregistro-balio hauek inporta ditzakezu edo Abiadura Handiko Serie Interfazearen Konfiguratzailea erabil dezakezu (2-8. Irudia) zure PCIe edo EPCS parametroak sartzeko eta erregistro-balioak automatikoki kalkulatzen dira zuretzat. Xehetasunetarako, jo SERDES Konfiguratzailea Erabiltzailearen Gida.Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - Serieko interfazearen konfiguratzailea2-8 irudia • Abiadura Handiko Serie Interfazearen Konfiguratzailea
Zure erabiltzaile-logika System Builder blokearekin eta SERDES blokearekin integratuta duzunean, zure maila goreneko SmartDesign sor dezakezu. Honek HDL eta BFM guztiak sortzen ditu fileZure diseinua ezartzeko eta simulatzeko beharrezkoak direnak. Ondoren, diseinu-fluxuaren gainerakoarekin jarraitu dezakezu.

SmartDesign erabiliz diseinu bat sortzeko DDR eta SERDESIF blokeak erabiliz

Atal honek 'hasierako' irtenbide osoa nola jarri deskribatzen du SmartFusion2 System Builder erabili gabe. Helburua System Builder erabili nahi ez baduzu zer egin behar duzun ulertzen laguntzea da. Atal honek System Builder tresnak benetan sortzen dizuna deskribatzen du. Atal honek nola egin deskribatzen du:

  • Sartu DDR kontroladorearen eta SERDESIF konfigurazio-erregistroen konfigurazio-datuak.
  • Instantziatu eta konektatu konfigurazio-datuak DDR kontrolagailuetara eta SERDESIF konfigurazio-erregistroetara transferitzeko behar diren Fabric Cores.

DDR kontrolagailuaren konfigurazioa
MSS DDR (MDDR) eta Fabric DDR (FDDR) kontrolagailuak dinamikoki konfiguratu behar dira (exekuzioan) kanpoko DDR memoriaren konfigurazio-eskakizunekin bat egiteko (DDR modua, PHY zabalera, leherketa modua, ECC, etab.). MDDR/FDDR konfiguratzailean sartutako datuak DDR kontroladorearen konfigurazio-erregistroetan idazten dira CMSIS SystemInit() funtzioaren bidez. Konfiguratzaileak hiru fitxa ezberdin ditu konfigurazio-datu mota desberdinak sartzeko:

  • Datu orokorrak (DDR modua, Datuen zabalera, Erlojuaren maiztasuna, ECC, Fabric Interface, Drive Strength)
  • Memoria hasierako datuak (leherketaren iraupena, leherketaren ordena, denbora-modua, latentzia, etab.)
  • Memoria Denboraren datuak

Ikusi zure kanpoko DDR memoriaren zehaztapenak eta konfiguratu DDR kontrolagailua zure kanpoko DDR memoriaren eskakizunekin bat etor dadin.
DDR konfigurazioari buruzko xehetasunak lortzeko, ikusi SmartFusion2 MSS DDR konfigurazio erabiltzailearen gida.
SERDESIF konfigurazioa
Egin klik bikoitza SmartDesign oihaleko SERDES blokean SERDES konfiguratzeko Konfiguratzailea irekitzeko (3-1 Irudia). Erregistro-balio hauek inporta ditzakezu edo SERDES konfiguratzailea erabil dezakezu zure PCIe edo EPCS parametroak sartzeko eta erregistro-balioak automatikoki kalkulatzen dira zuretzat. Xehetasunetarako, jo SERDES Konfiguratzailea Erabiltzailearen Gida.Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - Abiadura handiko serieko interfazearen konfiguratzailea3-1 irudia • Abiadura Handiko Serie Interfazearen Konfiguratzailea
FPGA Diseinuaren Hasierako Azpisistema sortzea
DDR eta SERDESIF blokeak hasieratzeko, hasierako azpisistema sortu behar duzu FPGA ehunean. FPGA ehunaren hasierako azpisistemak Cortex-M3-tik datuak DDR eta SERDESIF konfigurazio-erregistroetara eramaten ditu, bloke horiek funtzionatzeko beharrezkoak diren berrezartze-sekuentziak kudeatzen ditu eta bloke hauek zure diseinuarekin komunikatzeko prest daudenean adierazten du. Hasierako azpisistema sortzeko, behar duzu:

  • Konfiguratu FIC_2 MSS barruan
  • Instantziatu eta konfiguratu CoreConfigP eta CoreResetP nukleoak
  • Instantziatu txiparen 25/50MHz RC osziladorea
  • Instantziatu sistema berrezarri (SYSRESET) makroa
  • Konektatu osagai hauek periferiko bakoitzaren konfigurazio interfazeetara, erlojuetara, berrezarri eta PLL blokeo portuetara

MSS FIC_2 APB konfigurazioa
MSS FIC_2 konfiguratzeko:

  1. Ireki FIC_2 konfiguratzailearen elkarrizketa-koadroa MSS konfiguratzailetik (3-2 irudia).
  2. Hautatu Hasieratu periferikoak Cortex-M3 erabiliz.
  3. Zure sistemaren arabera, markatu kontrol-lauki hauetako bat edo bi:
    – MSS DDR
    – Fabric DDR eta/edo SERDES blokeak
  4. Sakatu Ados eta jarraitu MSS sortzen (ekintza hau atzeratu dezakezu MSS zure diseinu-eskakizunetara guztiz konfiguratu arte). FIC_2 atakak (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK eta FIC_2_APB_M_RESET_N) orain MSS interfazean azaltzen dira eta CoreConfigP eta CoreResetP nukleoetara konekta daitezke.

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - MSS FIC 2 konfiguratzailea3-2 Irudia • MSS FIC_2 konfiguratzailea

CoreConfigP
CoreConfigP konfiguratzeko:

  1. Instantziatu CoreConfigP zure SmartDesign-en (normalean MSS instantziatzen den horretan).
    Nukleo hau Libero Katalogoan aurki daiteke (Periferikoak atalean).
  2. Egin klik bikoitza nukleoan konfiguratzailea irekitzeko.
  3. Konfiguratu nukleoa zein periferiko hasi behar diren zehazteko (3-3 irudia)

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - Elkarrizketa-koadroa3-3 Irudia • CoreConfigP elkarrizketa-koadroa

CoreResetP
CoreResetP konfiguratzeko:

  1. Instantziatu CoreResetP zure SmartDesign-en (normalean MSS instantziatzen den horretan).
    Nukleo hau Libero Katalogoan aurki daiteke, Periferikoak atalean.
  2. Egin klik bikoitza SmartDesign Canvas-en barruan dagoen muinean Konfiguratzailea irekitzeko (3-4 Irudia).
  3. Konfiguratu nukleoa honela:
    – Zehaztu kanpoko berrezarri portaera (EXT_RESET_OUT baieztatua). Aukeratu lau aukeretako bat:
    o EXT_RESET_OUT ez da inoiz aldarrikatzen
    o EXT_RESET_OUT baieztatzen da piztea berrezartzen bada (POWER_ON_RESET_N)
    o EXT_RESET_OUT baieztatzen da FAB_RESET_N baieztatzen bada
    o EXT_RESET_OUT berresten da pizteko berrezarri (POWER_ON_RESET_N) edo FAB_RESET_N baieztatzen bada
    – Zehaztu Gailuaren Voltage. Hautatutako balioak bolumenarekin bat etorri behar dutagLibero proiektuaren ezarpenen elkarrizketa-koadroan hautatu duzu.
    – Markatu kontrol-lauki egokiak zure diseinuan zein periferiko erabiltzen ari zaren adierazteko.
    – Zehaztu kanpoko DDR memoria konfiguratzeko ordua. Hau da zure aplikazioan erabiltzen diren DDR memoria guztien balio maximoa (MDDR eta FDDR). Parametro hau konfiguratzeko, jo kanpoko DDR memoria hornitzailearen datu-orrira. 200us balio lehenetsi ona da 2MHz-n exekutatzen diren DDR3 eta DDR200 memoriarentzat. Oso parametro garrantzitsua da silizioan lan-simulazioa eta lan-sistema bat bermatzeko. Egokitze denboraren balio oker batek simulazio-erroreak sor ditzake. Parametro hau konfiguratzeko, jo DDR memoria hornitzailearen datu-orrira.
    – Zure diseinuko SERDES bloke bakoitzeko, markatu lauki egokiak ala ez adierazteko:
    o PCIe erabiltzen da
    o PCIe Hot Reset-erako laguntza behar da
    o PCIe L2/P2 laguntza behar da

Oharra: 090 die (M2S090) erabiltzen ari bazara eta zure diseinuak SERDESIF erabiltzen badu, ez duzu kontrol-lauki hauetako bat markatu beharrik: 'PCIe-rako erabiltzen da', 'PCIe HotReset laguntza barne' eta 'PCIe L2/P2 euskarria barne'. 090 ez den edozein gailu erabiltzen ari bazara eta SERDESIF bloke bat edo gehiago erabiltzen ari bazara, lau kontrol-laukiak markatu behar dituzu SERDESIF atal egokian.
Oharra: Konfiguratzaile honetan eskura dituzun aukerei buruzko xehetasunak lortzeko, ikusi CoreResetP Eskuliburua.

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua - CoreResetPConfigurator3-4 Irudia • CoreResetPConfigurator

25/50MHz osziladorearen instantziazioa
CoreConfigP eta CoreResetP txiparen 25/50MHz RC osziladoreak erlojua du. 25/50MHz osziladore bat instantziatu eta nukleo horietara konektatu behar duzu.

  1. Instantziatu Chip Osziladoreen nukleoa zure SmartDesign-en (normalean MSS instantziatzen den horretan). Nukleo hau Libero Katalogoan aurki daiteke Erlojua eta kudeaketa atalean.
  2. Konfiguratu nukleo hau RC osziladoreak FPGA ehuna gidatzeko, 3-5 Irudian ikusten den moduan.

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua - Osziladoreen konfiguratzailea3-5 Irudia • Txip-osziladoreen konfiguratzailea

Sistema berrezartzea (SYSRESET) Instantziazioa
SYSRESET makroak gailuaren maila berrezartzeko funtzionaltasuna eskaintzen dio zure diseinuari. POWER_ON_RESET_N irteerako seinalea txipa pizten den bakoitzean edo DEVRST_N kanpoko pina aktibatzen/desegiten da (3-6 irudia).
Instantziatu SYSRESET makroa zure SmartDesign-en (normalean MSS instantziatzen den horretan). Makro hau Libero Katalogoan aurki daiteke Makro Liburutegian. Ez da makro honen konfiguraziorik behar.

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - SYSRESET Makroa3-6 Irudia • SYSRESET Makroa

Konektibitate orokorra
Zure diseinuan MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP eta CoreResetP nukleoak instantziatu eta konfiguratu ondoren, konektatu behar dituzu Hasierako periferikoaren azpisistema osatzeko. Dokumentu honetako konektibitatearen deskribapena errazteko, CoreConfigP eta CoreResetP erlazionatutako konexioekin lotutako APB3 konfigurazio datuen bide-konektibitatean zatitzen da.
Konfigurazio Datuen Bidearen Konektibitatea
3-7 irudiak CoreConfigP MSS FIC_2 seinaleetara eta periferikoen APB3 konfigurazio interfazeetara nola konektatu erakusten du.
3-1 taula • Konfigurazio Datuen Bidea Portua/BIF Konexioak

HANDIK
Portua/Bus Interfazea
(BIF)/ Osagaia
ERA
Portua/Bus Interfazea (BIF)/Osagaia
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 ESLABOA (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB ESLABOA (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB ESCLAVUA (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MASTER/ MSS

Microsemi SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua - azpisistemaren konexioa3-7 Irudia • FIC_2 APB3 Azpisistemaren Konektibitatea

Erlojuak eta konektibitatea berrezarri
3-8 irudiak erakusten du nola konektatu CoreResetP kanpoko berrezarri iturrietara eta periferikoen core berrezartzeko seinaleetara. CoreResetP periferikoen erlojuaren sinkronizazio-egoera seinaleetara (PLL blokeo-seinaleak) nola konektatu ere erakusten du. Horrez gain, CoreConfigP eta CoreResetP nola konektatuta dauden erakusten du.

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua - azpisistemaren konexioa 23-8 Irudia • Core SF2Reset azpisistemaren konektibitatea

Firmware aplikazioa sortzea eta konpilatzea

LiberoSoC-tik firmwarea esportatzen duzunean (Design Flow Window > Export Firmware > Export Firmware), Liberok honako hau sortzen du. files-en /firmware/drivers_config/ sys_config karpeta:

  • sys_config.c – Erregistro periferikoen balioak gordetzen dituzten datu-egiturak biltzen ditu.
  • sys_config.h – Diseinuan zein periferiko erabiltzen diren eta hasieratu behar diren zehazten duten #define adierazpenak ditu.
  • sys_config_mddr_define.h – Erregistroen konfigurazioa elkarrizketa-koadroan sartutako MDDR kontrolagailuaren konfigurazio-datuak ditu.
  • sys_config_fddr_define.h – Erregistroen konfigurazioa elkarrizketa-koadroan sartutako FDDR kontroladorearen konfigurazio-datuak ditu.
  • sys_config_mss_clocks.h – Hau file MSS CCC konfiguratzailean definitutako MSS erloju-maiztasunak ditu. Frekuentzia hauek CMSIS kodeak erabiltzen ditu erlojuaren informazio zuzena emateko beren Erloju Periferikoko (PCLK) maiztasunerako sarbidea izan behar duten MSS kontrolatzaile askori (adibidez, MSS UART baud-abiaduraren zatitzaileak baud-abiaduraren eta PCLK maiztasunaren funtzioa dira. ).
  • sys_config_SERDESIF_ .c – SERDESIF_ dauka erregistratu SERDESIF_ bitartean emandako konfigurazio datuak blokeen konfigurazioa diseinua sortzean.
  • sys_config_SERDESIF_ .h – PMA_READY-rako galdeketa egin behar den erregistro-konfigurazio-bikote kopurua eta PMA_READY-rako (PCIe moduan soilik) galdeketa egin behar den #define adierazpenak ditu.

Hauek fileCMSIS kodea behar bezala biltzeko eta zure egungo diseinuari buruzko informazioa edukitzeko beharrezkoak dira, periferikoen konfigurazio-datuak eta erlojuaren konfigurazio-informazioa barne MSSrako.
Ez editatu hauek files eskuz; dagozkien osagai/periferiko direktorioetan sortzen dira, dagozkien periferikoak dituzten SmartDesign osagaiak sortzen diren bakoitzean. Periferikoren baten konfigurazio-datuetan aldaketaren bat egiten bada, firmware-proiektuak berriro esportatu behar dituzu firmware eguneratua izan dadin. files (ikusi goiko zerrenda) honera esportatzen dira / firmware/drivers_config/sys_config karpeta.
Firmwarea esportatzen duzunean, Libero SoC-k firmware-proiektuak sortzen ditu: liburutegi bat non zure diseinuaren konfigurazioa files eta kontrolatzaileak biltzen dira.
Sortu proiektua egiaztatzen baduzu kontrol-laukia firmwarea esportatzen duzunean, software SoftConsole/IAR/Keil proiektu bat sortzen da aplikazio-proiektuari eusteko, non main.c eta erabiltzailea C/H editatu ahal izateko. files. Ireki SoftConSole/IAR/Keil proiektua CMSIS kodea behar bezala konpilatzeko eta zure firmware-aplikazioa behar bezala konfiguratuta zure hardwarearen diseinuarekin bat etortzeko.

BFM Files Diseinua simulatzeko erabiltzen da

Zure diseinuarekin lotutako periferikoak dituzten SmartDesign osagaiak sortzen dituzunean, simulazioa filedagozkien periferikoei dagozkien s-ak sortzen dira /simulazio direktorioa:

  • proba.bfm – Goi-mailako BFM file SmartFusion2 MSS Cortex-M3 prozesadorea erabiltzen duen edozein simulaziotan exekutatzen dena. Peripheral_init.bfm eta user.bfm exekutatzen ditu, ordena horretan.
  • MDDR_init.bfm – Zure diseinuak MDDR erabiltzen badu, Liberok hau sortzen du file; Idatzi dituzun MSS DDR konfigurazio-erregistroko datuen idazketak simulatzen dituzten BFM idazteko komandoak ditu (Editatu Erregistroak elkarrizketa-koadroa erabiliz edo MSS_MDDR GUI-n) MSS DDR Controller erregistroetan.
  • FDDR_init.bfm – Zure diseinuak FDDR erabiltzen badu, Liberok hau sortzen du file; Sartu dituzun Fabric DDR konfigurazio-erregistroko datuen idazketak simulatzen dituzten BFM idazteko komandoak ditu (Editatu Erregistroak elkarrizketa-koadroa erabiliz edo FDDR GUIan) Fabric DDR Controller erregistroetan.
  • SERDESIF_ _init.bfm – Zure diseinuak SERDESIF bloke bat edo gehiago erabiltzen baditu, Liberok hau sortzen du file SERDESIF_ bakoitzeko erabilitako blokeak; sartu dituzun SERDESIF konfigurazio-erregistroko datuen idazketak simulatzen dituzten BFM idazteko komandoak ditu (Editatu erregistroak elkarrizketa-koadroa erabiliz edo SERDESIF_ GUI) SERDESIF_ sartu erregistroak. SERDESIF blokea PCIe gisa konfiguratuta badago, hau file #define sententzia batzuk ere baditu, 2 erregistroen konfigurazio faseen exekuzioa ordena ezin hobean kontrolatzen dutenak.
  • erabiltzailea.bfm – Erabiltzaileen komandoak ditu. Komando hauek peripheral_init.bfm amaitu ondoren exekutatzen dira. Editatu hau file zure BFM komandoak sartzeko.
  • SERDESIF_ _erabiltzailea.bfm – Erabiltzaileen komandoak ditu. Editatu hau file zure BFM komandoak sartzeko. Erabili hau SERDESIF_ konfiguratu baduzu blokea BFM PCIe simulazio moduan eta AXI/AHBLite maisu gisa. SERDESIF_ konfiguratu baduzu blokeatu RTL simulazio moduan, ez duzu hau beharko file.

Simulazioa deitzen duzun bakoitzean, honako bi simulazio hauek files birsortzen dira /simulazio direktorioa eduki eguneratuekin:

  • azpisistema.bfm – Zure diseinuan erabilitako periferiko bakoitzeko #define adierazpenak ditu, periferiko bakoitzari dagokion exekutatu beharreko periferiko_init.bfm-aren atal zehatza zehazten dutenak.
  • operipheral_init.bfm – Cortex-M3-n exekutatzen den CMSIS:: SystemInit() funtzioa emulatzen duen BFM prozedura dauka, main() prozeduran sartu aurretik. Diseinuan erabilitako edozein periferikoren konfigurazio-datuak kopiatzen ditu periferikoen konfigurazio-erregistro egokietara eta, ondoren, periferiko guztiak prest egon arte itxarongo du periferiko horiek erabil ditzakezula baieztatu aurretik. MDDR_init.bfm eta FDDR_init.bfm exekutatzen ditu.

Sortutako hauek erabiliz files, zure diseinuko DDR kontrolagailuak automatikoki konfiguratzen dira, SmartFusion2 gailu batean gertatuko litzatekeena simulatuz. user.bfm edita dezakezu file zure diseinua simulatzeko beharrezkoak diren komandoak gehitzeko (Cortex-M3 da maisua). Komando hauek periferikoak hasieratu ondoren exekutatzen dira. Ez editatu test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files eta SERDESIF_ _init.bfm files.

Produktuaren laguntza

Microsemi SoC Products Group-ek bere produktuak babesten ditu hainbat laguntza-zerbitzurekin, besteak beste, Bezeroarentzako Zerbitzua, Bezeroentzako Laguntza Zentro Teknikoa, webgunea, posta elektronikoa eta mundu osoko salmenta bulegoak.
Eranskin honek Microsemi SoC Products Group-ekin harremanetan jartzeari eta laguntza-zerbitzu hauek erabiltzeari buruzko informazioa jasotzen du.
Bezeroarentzako Zerbitzua
Jarri harremanetan Bezeroarentzako Zerbitzuarekin produktuen laguntza teknikoa ez den, hala nola produktuen prezioak, produktuen bertsio berritzeak, eguneratze-informazioa, eskaeraren egoera eta baimena lortzeko.
Ipar Amerikatik, deitu 800.262.1060
Mundutik, deitu 650.318.4460
Faxa, munduko edozein lekutatik, 408.643.6913
Bezeroaren Laguntza Teknikorako Zentroa
Microsemi SoC Products Group-ek bere Bezeroentzako Laguntza Teknikorako Zentroa eskaintzen du Microsemi SoC produktuei buruzko zure hardware, software eta diseinuko galderei erantzuten lagunduko dizuten ingeniari trebeekin. Bezeroaren Laguntza Teknikorako Zentroak denbora asko ematen du aplikazioen oharrak, diseinu-ziklo arrunteko galderei erantzunak, arazo ezagunei buruzko dokumentazioa eta hainbat galdera-galderak sortzen. Beraz, gurekin harremanetan jarri aurretik, bisitatu gure sareko baliabideak. Litekeena da dagoeneko zure galderei erantzuna ematea.
Laguntza Teknikoa
Bisitatu Bezeroarentzako Arreta Zerbitzura webgunea (www.microsemi.com/soc/support/search/default.aspx) informazio eta laguntza gehiago lortzeko. Erantzun asko aurki daitezke bilaketan web baliabideak diagramak, ilustrazioak eta beste baliabide batzuetarako estekak ditu webgunea.
Webgunea
Hainbat informazio tekniko eta ez-teknikoa araka dezakezu SoC hasierako orrialdean, helbidean www.microsemi.com/soc.
Bezeroaren Laguntza Teknikorako Zentroarekin harremanetan jartzea
Gaitasun handiko ingeniariek Laguntza Teknikorako Zentroa osatzen dute. Laguntza Teknikoko Zentroarekin harremanetan jar zaitezke posta elektronikoz edo Microsemi SoC Products Group-en bidez webgunea.
Posta elektronikoa
Zure galdera teknikoak gure helbide elektronikora helarazi eta erantzunak jaso ditzakezu posta elektronikoz, faxez edo telefonoz. Gainera, diseinu arazoak badituzu, zure diseinua posta elektronikoz egin dezakezu files laguntza jasotzeko.
Egun osoan zehar posta elektronikoko kontua etengabe kontrolatzen dugu. Zure eskaera bidaltzean, mesedez, ziurtatu zure izen-abizenak, enpresaren izena eta zure harremanetarako informazioa sartzen dituzula eskaera eraginkortasunez prozesatzeko.
Laguntza teknikoaren helbide elektronikoa da soc_tech@microsemi.com.
Nire kasuak
Microsemi SoC Products Group bezeroek kasu teknikoak linean bidali eta jarraipena egin ditzakete helbidera joanda Nire kasuak.
AEBetatik kanpo
AEBetako ordu-eremuetatik kanpo laguntza behar duten bezeroek laguntza teknikoarekin harremanetan jar daitezke posta elektroniko bidez (soc_tech@microsemi.com) edo jarri harremanetan tokiko salmenta bulego batekin. Salmenta bulegoen zerrendak helbidean aurki daitezke www.microsemi.com/soc/company/contact/default.aspx.
ITAR Laguntza Teknikoa
Armen Trafikoaren Nazioarteko Araudiak (ITAR) arautzen dituen RH eta RT FPGAen laguntza teknikoa lortzeko, jar zaitez gurekin harremanetan soc_tech_itar@microsemi.com. Bestela, Nire kasuak atalean, hautatu Bai ITAR goitibeherako zerrendan. ITARek araututako Microsemi FPGAen zerrenda osoa lortzeko, bisitatu ITAR web orrialdea.
Microsemi Corporation (NASDAQ: MSCC) erdieroaleen soluzioen zorro osoa eskaintzen du: aeroespaziala, defentsa eta segurtasuna; enpresa eta komunikazioak; eta industria eta energia alternatiboen merkatuak. Produktuen artean, errendimendu handiko, fidagarritasun handiko gailu analogikoak eta RF, seinale mistoa eta RF zirkuitu integratuak, SoC pertsonalizagarriak, FPGAak eta azpisistema osoak daude. Microsemi-k Aliso Viejo-n (Kalifornia) du egoitza. Lortu informazio gehiago hemen www.microsemi.com.
© 2014 Microsemi Corporation. Eskubide guztiak erreserbatuak. Microsemi eta Microsemi logotipoa Microsemi Corporation-en marka komertzialak dira. Gainerako marka komertzialak eta zerbitzu-markak dagozkien jabeen jabetzakoak dira.

5-02-00384-1/08.14Microsemi logotipoaMicrosemi Egoitza Korporatiboa
One Enterprise, Aliso Viejo CA 92656 AEB
AEBetan: +1 949-380-6100
Salmentak: +1 949-380-6136
Faxa: +1 949-215-4996

Dokumentuak / Baliabideak

Microsemi SmartFusion2 DDR kontrolagailua eta serieko abiadura handiko kontrolagailua [pdfErabiltzailearen gida
SmartFusion2 DDR kontroladorea eta serieko abiadura handiko kontrolagailua, SmartFusion2 DDR, kontroladorea eta serieko abiadura handiko kontrolagailua, abiadura handiko kontrolagailua

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *