Microsemi logoSmartFusion2
DDR-kontroller ja kiire jadakontroller
Initsialiseerimise metoodika
Kasutusjuhend

Sissejuhatus

Disaini loomisel SmartFusion2 seadmega, kui kasutate ühte kahest DDR-kontrollerist (FDDR või MDDR) või mõnda SERDESIF-i jadakontrolleri plokkidest, peate nende plokkide konfiguratsiooniregistrid käivitamise ajal enne käivitamist initsialiseerima. neid saab kasutada. NäiteksampDDR-kontrolleri jaoks peate määrama DDR-režiimi (DDR3/DDR2/LPDDR), PHY laiuse, sarivõtte režiimi ja ECC.
Samamoodi peate PCIe lõpp-punktina kasutatava SERDESIF-ploki jaoks määrama PCIE BAR-i aknaks AXI (või AHB).
See dokument kirjeldab samme, mis on vajalikud Libero disaini loomiseks, mis initsialiseerib automaatselt DDR-kontrolleri ja SERDESIF-plokid sisselülitamisel. Samuti kirjeldatakse, kuidas luua Libero SOC-ist püsivara koodi, mida kasutatakse manustatud disainivoos.
Esmalt esitatakse operatsiooniteooria üksikasjalik kirjeldus.
Järgmises jaotises kirjeldatakse, kuidas luua sellist disaini, kasutades Libero SoC System Builderit, mis on võimas disainitööriist, mis lisaks muudele funktsioonidele loob teie jaoks "initsialiseerimislahenduse", kui kasutate oma disainis DDR- või SERDESIF-plokke.
Järgmises jaotises kirjeldatakse, kuidas koostada täielik lähtestamislahendus ilma SmartFusion2 System Builderit kasutamata. See aitab selgitada, mida tuleb teha, kui te ei soovi System Builderit kasutada, ja kirjeldab ka seda, mida System Builderi tööriist teie jaoks tegelikult loob. See jaotis käsitleb:

  • DDR-kontrolleri ja SERDESIF-i konfiguratsiooniregistrite konfiguratsiooniandmete loomine
  • FPGA-loogika loomine, mis on vajalik konfiguratsiooniandmete edastamiseks erinevatesse ASIC-konfiguratsiooniregistritesse

Lõpuks kirjeldame genereeritud fileon seotud:

  • Püsivara "initsialiseerimise" lahenduse loomine.
  • DDR-i "initsialiseerimise" lahenduse disaini simulatsioon.

Lisateavet DDR-kontrolleri ja SERDESIF-i konfiguratsiooniregistrite kohta leiate jaotisest Microsemi SmartFusion2 kiire jada- ja DDR-liideste kasutusjuhend.

Operatsiooni teooria

Välisseadmete lähtestamislahendus kasutab järgmisi põhikomponente:

  • Funktsioon CMSIS SystemInit(), mis töötab Cortex-M3-s ja juhib lähtestamisprotsessi.
  • CoreConfigP pehme IP-tuum, mis lähtestab välisseadmete konfiguratsiooniregistrid.
  • CoreResetP pehme IP-tuum, mis haldab MSS-i, DDR-kontrollerite ja SERDESIF-plokkide lähtestamisjärjestust.

Välisseadmete lähtestamisprotsess toimib järgmiselt.

  1. Lähtestamisel käivitab Cortex-M3 funktsiooni CMSIS SystemInit(). See funktsioon käivitatakse automaatselt enne rakenduse main() funktsiooni käivitamist.
    CoreResetP väljundsignaal MSS_HPMS_READY kinnitatakse lähtestamisprotsessi alguses, mis näitab, et MSS ja kõik välisseadmed (välja arvatud MDDR) on suhtlemiseks valmis.
  2. Funktsioon SystemInit() kirjutab konfiguratsiooniandmed DDR-kontrolleritesse ja SERDESIF-i konfiguratsiooniregistritesse MSS FIC_2 APB3 siini kaudu. See liides on ühendatud pehme CoreConfigP südamikuga, mis on loodud FPGA-kangas.
  3. Kui kõik registrid on konfigureeritud, kirjutab funktsioon SystemInit() CoreConfigP juhtregistritesse, et näidata registri seadistamise etapi lõppemist; seejärel kinnitatakse CoreConfigP väljundsignaalid CONFIG1_DONE ja CONIG2_DONE.
    Registri konfigureerimisel on kaks faasi (CONFIG1 ja CONFIG2), mis sõltuvad disainis kasutatud välisseadmetest.
  4. Kui kasutatakse ühte või mõlemat MDDR-i/FDDR-i ja disainis ei kasutata ühtki SERDESIF-i plokkidest, on ainult üks registri konfiguratsioonifaas. Mõlemad CoreConfigP väljundsignaalid CONFIG1_DONE ja CONIG2_DONE kinnitatakse üksteise järel ilma ootamise/viivituseta.
    Kui disainis kasutatakse üht või mitut mitte-PCIe-režiimis SERDESIF-i plokki, on registri konfigureerimisel ainult üks faas. CONFIG1_DONE ja CONIG2_DONE kinnitatakse üksteise järel ilma ootamise/viivituseta.
    Kui kujunduses kasutatakse üht või mitut PCIe-režiimis SERDESIF-plokki, on registri konfigureerimisel kaks faasi. CONFIG1_DONE kinnitatakse pärast registri seadistamise esimese etapi lõppemist. Selles etapis konfigureeritakse SERDESIF-süsteem ja sõiduradade registrid. Kui SERDESIF on konfigureeritud mitte-PCIE-režiimis, kinnitatakse kohe ka signaal CONFIG2_DONE.
  5. Seejärel järgneb registri seadistamise teine ​​faas (kui SERDESIF on konfigureeritud PCIE režiimis). Järgmised on erinevad sündmused, mis toimuvad teises etapis:
    – CoreResetP tühistab PHY_RESET_N ja CORE_RESET_N signaalid, mis vastavad igale kasutatud SERDESIF-plokile. Samuti kinnitab see väljundsignaali SDIF_RELEASED pärast seda, kui kõik SERDESIF-plokid on lähtestatud. Seda SDIF_RELEASED signaali kasutatakse CoreConfigP-le näitamiseks, et SERDESIF-i tuum on lähtestamata ja registri seadistamise teiseks faasiks valmis.
    – Kui signaal SDIF_RELEASED on kinnitatud, alustab funktsioon SystemInit() PMA_READY kinnituse pärimist vastaval SERDESIF-i rajal. Kui PMA_READY on kinnitatud, konfigureerib/kirjutab funktsioon SystemInit() teise SERDESIF-registrite komplekti (PCIE registrid).
  6. Kui kõik PCIE registrid on konfigureeritud, kirjutab funktsioon SystemInit() CoreConfigP juhtregistritesse, et näidata registri konfigureerimise teise faasi lõpetamist; seejärel kinnitatakse CoreConfigP väljundsignaal CONIG2_DONE.
  7. Lisaks ülaltoodud signaali kinnitustele / kinnituste tühistamisele haldab CoreResetP ka erinevate plokkide lähtestamist, täites järgmisi funktsioone:
    – FDDR-i tuuma lähtestamise tühistamine
    – SERDESIF-i kinnituse tühistamine blokeerib PHY ja CORE lähtestamise
    – FDDR PLL (FPLL) lukustussignaali jälgimine. FPLL peab olema lukustatud, et tagada FDDR AXI/AHBLite andmeliidese ja FPGA kanga korrektne suhtlemine.
    – SERDESIF-ploki PLL (SPLL) lukustussignaalide jälgimine. SPLL peab olema lukustatud tagamaks, et SERDESIF blokeerib AXI/AHBLite liidese (PCIe režiim) või XAUI liidese saab korralikult suhelda FPGA kangaga.
    – Ootame, kuni välised DDR-mälud on settinud ja DDR-kontrolleritele juurdepääsuks valmis.
  8. Kui kõik välisseadmed on lähtestamise lõpetanud, kinnitab CoreResetP signaali INIT_DONE; seejärel kinnitatakse CoreConfigP sisemine register INIT_DONE.
    Kui kasutatakse ühte või mõlemat MDDR-i/FDDR-i ja DDR-i lähtestamise aeg on saavutatud, kinnitatakse CoreResetP väljundsignaal DDR_READY. Selle signaali DDR_READY kinnitamist saab jälgida märguandeks, et DDR (MDDR/FDDR) on suhtlemiseks valmis.
    Kui kasutatakse ühte või mitut SERDESIF-plokki ja registri seadistamise teine ​​faas on edukalt lõpule viidud, kinnitatakse CoreResetP väljundsignaal SDIF_READY. Selle signaali SDIF_READY kinnitamist saab jälgida kui märguannet, et kõik SERDESIF-i plokid on suhtlemiseks valmis.
  9. Funktsioon SystemInit(), mis on oodanud, kuni INIT_DONE kinnitatakse, saab lõpule ja käivitatakse rakenduse main() funktsioon. Selleks ajaks on kõik kasutatud DDR-kontrollerid ja SERDESIF-i plokid lähtestatud ning püsivararakendus ja FPGA kangaloogika saavad nendega usaldusväärselt suhelda.

Selles dokumendis kirjeldatud metoodika tugineb sellele, et Cortex-M3 käivitab lähtestamisprotsessi osana süsteemi lähtestamiskoodist, mis käivitatakse enne rakenduse peamist()funktsiooni.
FDDR/MDDR, SEREDES (mitte-PCIe režiim) ja SERDES (PCIe režiim) lähtestamise etappide kohta vaadake vooskeemi Joonis 1-1, Joonis 1-2 ja Joonis 1-3.
Joonis 1-4 näitab perifeerse lähtestamise ajastusdiagrammi.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – ajastusskeem 1 Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – ajastusskeem 2

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – ajastusskeem 3Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – ajastusskeem 4Joonis 1-3 • SERDESIF (PCIe) lähtestamise vooskeem
Selles dokumendis kirjeldatud lähtestamisprotseduur nõuab Cortex-M3 käivitamist lähtestamisprotsessi ajal, isegi kui te ei kavatse Cortex-M3-s koodi käivitada. Peate looma püsivara põhirakenduse, mis ei tee midagi (lihtne silmus, ntample) ja laadige see käivitatav fail manustatud püsimällu (eNVM), nii et DDR-kontrollerid ja SERDESIF-plokid lähtestatakse Cortex-M3 alglaadimisel.

Süsteemi koostaja kasutamine disaini loomiseks DDR-i ja SERDESIF-plokkide abil

SmartFusion2 System Builder on võimas disainitööriist, mis aitab teil oma süsteemitaseme nõudeid tabada ja koostab neid nõudeid rakendava disaini. System Builderi väga oluline funktsioon on perifeersete seadmete initsialiseerimise alamsüsteemi automaatne loomine. “SmartDesigni kasutamine kujunduse loomiseks DDR-i ja SERDESIF-plokkide abil” leheküljel 17 kirjeldab üksikasjalikult, kuidas sellist lahendust ilma süsteemikoostajata luua.
Kui kasutate System Builderit, peate tegema järgmised toimingud, et luua kujundus, mis lähtestab teie DDR-kontrollerid ja SERDESIF-plokid sisselülitamisel.

  1. Seadme funktsioonide lehel (Joonis 2-1) määrake, milliseid DDR-kontrollereid kasutatakse ja kui palju SERDESIF-plokke teie kujunduses kasutatakse.
  2. Lehel Mälu määrake DDR-i tüüp (DDR2/DDR3/LPDDR) ja väliste DDR-mälude konfiguratsiooniandmed. Vaadake üksikasju jaotisest Mälu leht.
  3. Lisage lehel Välisseadmed kangameistrid, mis on konfigureeritud kui AHBLite/AXI kanga DDR-i alamsüsteemi ja/või MSS-i DDR-FIC-alamsüsteemi (valikuline).
  4. Lehel Kella sätted määrake DDR-i alamsüsteemide kella sagedused.
  5. Täitke oma disaini spetsifikatsioon ja klõpsake nuppu Lõpeta. See genereerib System Builderi loodud disaini, sealhulgas lähtestamislahenduse jaoks vajaliku loogika.
  6. Kui kasutate SERDESIF-i plokke, peate SERDESIF-i plokid oma kujunduses leidma ja ühendama nende lähtestamispordid System Builderi loodud tuuma omadega.

Süsteemi koostaja seadme funktsioonide leht
Seadme funktsioonide lehel määrake, milliseid DDR-kontrollereid (MDDR ja/või FDDR) kasutatakse ja kui palju SERDESIF-plokke teie kujunduses kasutatakse (Joonis 2-1).

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – seadme funktsioonide lehtJoonis 2-1 • System Builderi seadme funktsioonide leht

Süsteemi koostaja mäluleht
MSS DDR (MDDR) või Fabric DDR (FDDR) kasutamiseks valige ripploendist mälutüüp (Joonis 2-2).

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – väline mäluJoonis 2-2 • MSS-i välismälu

Peate:

  1. Valige DDR-i tüüp (DDR2, DDR3 või LPDDR).
  2. Määrake DDR-mälu settimise aeg. Õige mälu seadistamise aja määramiseks vaadake oma välise DDR-mälu spetsifikatsiooni. Kui mälu settimise aeg pole õigesti seadistatud, ei pruugi DDR-mälu õigesti lähtestada.
  3. Importige DDR-registri konfiguratsiooniandmed või määrake oma DDR-mälu parameetrid. Üksikasjad leiate aadressilt Microsemi SmartFusion2 kiire jada- ja DDR-liideste kasutusjuhend.

Neid andmeid kasutatakse DDR-registri BFM ja püsivara konfiguratsiooni loomiseks files nagu on kirjeldatud jaotistes "Püsivararakenduse loomine ja kompileerimine" lk 26 ja "BFM Files Kasutatakse disaini simuleerimiseks” lk 27. DDR-kontrolleri konfiguratsiooniregistrite üksikasju leiate Microsemi SmartFusion2 kiire jada- ja DDR-liideste kasutusjuhend.
Endineampkonfiguratsioonist file süntaks on näidatud joonisel 2-3. Selles kasutatud registrinimed file on samad, mis on kirjeldatud punktis Microsemi SmartFusion2 kiire jada- ja DDR-liideste kasutusjuhend

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller - File Süntaks NtampleJoonis 2-3 • Konfiguratsioon File Süntaks Ntample
System Builderi välisseadmete leht
Lehel Välisseadmed luuakse iga DDR-kontrolleri jaoks eraldi alamsüsteem (FDDR-i jaoks kangas DDR-i alamsüsteem ja MDDR-i jaoks MSS-i DDR-i alamsüsteem). Kõigile nendele alamsüsteemidele saate lisada Fabric AMBA Masteri (konfigureeritud kui AXI/AHBLite) südamiku, et võimaldada kangaülema juurdepääsu DDR-kontrolleritele. Genereerimisel loob System Builder automaatselt siini südamikud (olenevalt lisatud AMBA Masteri tüübist) ja paljastab siini südamiku peamise BIF-i ning vastavate alamsüsteemide (FDDR/MDDR) kella- ja lähtestusviigud vastavate viigurühmade all. üleval. Kõik, mida pead tegema, on ühendada BIF-id vastavate Fabric Masteri tuumadega, mida kujunduses kasutaksite. MDDR puhul on valikuline lisada MSS DDR FIC alamsüsteemi Fabric AMBA Master tuum; Cortex-M3 on selle alamsüsteemi vaikeseade. Joonis 2-4 näitab System Builderi välisseadmete lehte.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – Builderi välisseadmete lehtJoonis 2-4 • System Builderi välisseadmete leht

Süsteemi koostaja kella seadete leht
Lehel Kella sätted peate iga DDR-kontrolleri jaoks määrama iga DDR-i (MDDR ja/või FDDR) alamsüsteemiga seotud kella sagedused.
MDDR-i jaoks peate määrama:

  • MDDR_CLK – see kell määrab DDR-kontrolleri töösageduse ja peaks vastama kella sagedusele, millel soovite oma välist DDR-mälu töötada. See kell on defineeritud kui M3_CLK kordne (Cortex-M3 ja MSS põhikell, joonis 2-5). MDDR_CLK peab olema väiksem kui 333 MHz.
  • DDR_FIC_CLK – kui olete valinud juurdepääsu MDDR-ile ka FPGA-kangast, peate määrama DDR_FIC_CLK. See taktsagedus on määratletud kui MDDR_CLK suhe ja see peaks ühtima sagedusega, millega MDDR-ile juurde pääsev FPGA kanga alamsüsteem töötab.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – MDDR-kelladJoonis 2-5 • Cortex-M3 ja MSS põhikell; MDDR kellad

FDDR-i jaoks peate määrama:

  • FDDR_CLK – määrab DDR-kontrolleri töösageduse ja peaks vastama kellasagedusele, millega soovite oma välist DDR-mälu töötada. Pange tähele, et see kell on defineeritud kui M3_CLK kordne (MSS ja Cortex-M3 kell, joonis 2-5). FDDR_CLK peab jääma vahemikku 20 MHz ja 333 MHz.
  • FDDR_SUBSYSTEM_CLK – see taktsagedus on määratletud FDDR_CLK suhtena ja see peaks ühtima sagedusega, millega FDDR-ile juurde pääsev FPGA kanga alamsüsteem töötab.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – riidest DDR-kelladJoonis 2-6 • Kangast DDR-kellad
SERDESIF konfiguratsioon
SERDESIF-i plokke ei genereerita System Builderi loodud kujunduses. Kuid kõigi SERDESIF-plokkide jaoks on lähtestamissignaalid saadaval System Builderi tuuma liideses ja neid saab ühendada SERDESIF-i tuumadega hierarhia järgmisel tasemel, nagu on näidatud joonisel 2-7.Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – välisseadmete lähtestamise ühenduvusJoonis 2-7 • SERDESIFi välisseadmete initsialiseerimise ühenduvus
Sarnaselt DDR-i konfiguratsiooniregistritele on igal SERDES-plokil ka konfiguratsiooniregistrid, mis tuleb käivitamise ajal laadida. Saate need registriväärtused importida või kasutada PCIe või EPCS parameetrite sisestamiseks kiirjadaliidese konfiguraatorit (Joonis 2-8) ja registriväärtused arvutatakse teie eest automaatselt. Üksikasjad leiate aadressilt SERDES konfiguraatori kasutusjuhend.Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – jadaliidese konfiguraatorJoonis 2-8 • Kiire jadaliidese konfiguraator
Kui olete oma kasutajaloogika integreerinud System Builderi ploki ja SERDES plokiga, saate luua oma tipptasemel SmartDesigni. See genereerib kogu HDL-i ja BFM-i files, mis on vajalikud teie disaini rakendamiseks ja simuleerimiseks. Seejärel saate jätkata ülejäänud disainivooga.

SmartDesigni kasutamine disaini loomiseks DDR- ja SERDESIF-plokkide abil

Selles jaotises kirjeldatakse, kuidas luua täielik lähtestamislahendus ilma SmartFusion2 System Builderit kasutamata. Eesmärk on aidata teil mõista, mida peate tegema, kui te ei soovi System Builderit kasutada. Selles jaotises kirjeldatakse ka seda, mida System Builderi tööriist teie jaoks tegelikult loob. Selles jaotises kirjeldatakse, kuidas:

  • Sisestage DDR-kontrolleri ja SERDESIF-i konfiguratsiooniregistrite konfiguratsiooniandmed.
  • Looge ja ühendage kanga südamikud, mis on vajalikud konfiguratsiooniandmete ülekandmiseks DDR-kontrolleritesse ja SERDESIF-i konfiguratsiooniregistritesse.

DDR-kontrolleri konfiguratsioon
MSS DDR (MDDR) ja Fabric DDR (FDDR) kontrollerid tuleb konfigureerida dünaamiliselt (käitusajal), et need vastaksid välise DDR-mälu konfiguratsiooninõuetele (DDR-režiim, PHY laius, sarivõtterežiim, ECC jne). MDDR/FDDR konfiguraatorisse sisestatud andmed kirjutatakse DDR-kontrolleri konfiguratsiooniregistritesse funktsiooni CMSIS SystemInit() abil. Konfiguraatoril on kolm erinevat vahekaarti erinevat tüüpi konfiguratsiooniandmete sisestamiseks:

  • Üldandmed (DDR-režiim, andmete laius, kellasagedus, ECC, kanga liides, draivi tugevus)
  • Mälu lähtestamise andmed (sarivõtte pikkus, sarivõtte järjekord, ajastusrežiim, latentsus jne)
  • Mälu ajastuse andmed

Vaadake oma välise DDR-mälu tehnilisi andmeid ja konfigureerige DDR-kontroller nii, et see vastaks teie välise DDR-mälu nõuetele.
Lisateavet DDR-i konfiguratsiooni kohta leiate jaotisest SmartFusion2 MSS DDR konfiguratsiooni kasutusjuhend.
SERDESIF konfiguratsioon
Topeltklõpsake SmartDesigni lõuendil SERDES-i plokki, et avada SERDES-i konfigureerimiseks konfiguraator (joonis 3-1). Saate need registriväärtused importida või kasutada PCIe või EPCS parameetrite sisestamiseks SERDES konfiguraatorit ja registriväärtused arvutatakse teie eest automaatselt. Üksikasjad leiate aadressilt SERDES konfiguraatori kasutusjuhend.Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – kiire jadaliidese konfiguraatorJoonis 3-1 • Kiire jadaliidese konfiguraator
FPGA disaini initsialiseerimise alamsüsteemi loomine
DDR- ja SERDESIF-plokkide lähtestamiseks peate looma FPGA-kangas lähtestamise alamsüsteemi. FPGA kanga initsialiseerimise alamsüsteem teisaldab andmed Cortex-M3-st DDR-i ja SERDESIF-i konfiguratsiooniregistritesse, haldab nende plokkide töötamiseks vajalikke lähtestamisjärjestusi ja annab märku, kui need plokid on teie ülejäänud disainiga suhtlemiseks valmis. Initsialiseerimise alamsüsteemi loomiseks peate:

  • Seadistage FIC_2 MSS-is
  • Looge ja konfigureerige CoreConfigP ja CoreResetP tuumad
  • Looge kiibil olev 25/50 MHz RC-ostsillaator
  • Käivitage süsteemi lähtestamise (SYSRESET) makro
  • Ühendage need komponendid iga välisseadme konfiguratsiooniliideste, kellade, lähtestamise ja PLL-luku portidega

MSS FIC_2 APB konfiguratsioon
MSS-i FIC_2 konfigureerimiseks tehke järgmist.

  1. Avage MSS-i konfiguraatoris dialoogiboks FIC_2 konfiguraator (Joonis 3-2).
  2. Valige käsk Initsialiseeri välisseadmed Cortex-M3 abil.
  3. Sõltuvalt teie süsteemist märkige üks või mõlemad järgmistest märkeruutudest.
    - MSS DDR
    – kangast DDR ja/või SERDES plokid
  4. Klõpsake nuppu OK ja jätkake MSS-i loomist (võite selle toimingu edasi lükata, kuni olete MSS-i täielikult oma disaininõuetele vastavaks konfigureerinud). FIC_2 pordid (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK ja FIC_2_APB_M_RESET_N) on nüüd MSS-liideses avatud ja neid saab ühendada CoreConfigP ja CoreResetP tuumadega.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – MSS FIC 2 konfiguraatorJoonis 3-2 • MSS FIC_2 konfiguraator

CoreConfigP
CoreConfigP konfigureerimiseks tehke järgmist.

  1. Instantseerige CoreConfigP oma SmartDesignisse (tavaliselt sinna, kus MSS instantseeritakse).
    Selle tuuma leiate Libero kataloogist (välisseadmete all).
  2. Konfiguraatori avamiseks topeltklõpsake tuumal.
  3. Konfigureerige tuum, et määrata, millised välisseadmed tuleb lähtestada (joonis 3-3)

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – dialoogiboksJoonis 3-3 • CoreConfigP dialoogiboks

CoreResetP
CoreResetP konfigureerimiseks tehke järgmist.

  1. Instantseerige CoreResetP oma SmartDesignisse (tavaliselt sellesse, kus MSS-i instantseeritakse).
    Selle tuuma leiate Libero kataloogist Välisseadmete all.
  2. Konfiguraatori avamiseks topeltklõpsake SmartDesign Canvas sees olevat südamikku (joonis 3-4).
  3. Seadistage tuum järgmiselt:
    – Määrake välise lähtestamise käitumine (EXT_RESET_OUT on kinnitatud). Valige üks neljast valikust.
    o EXT_RESET_OUT ei kinnitata kunagi
    o EXT_RESET_OUT kinnitatakse, kui kinnitatakse sisselülitamise lähtestamine (POWER_ON_RESET_N)
    o EXT_RESET_OUT on kinnitatud, kui FAB_RESET_N on kinnitatud
    o EXT_RESET_OUT on kinnitatud, kui lülitatakse sisse toite lähtestamine (POWER_ON_RESET_N) või FAB_RESET_N
    – Määrake Device Voltage. Valitud väärtus peaks vastama mahuletage valisite dialoogiboksis Libero projekti sätted.
    – Märkige vastavad märkeruudud, et näidata, milliseid välisseadmeid oma disainis kasutate.
    – Määrake välise DDR-mälu seadistamise aeg. See on kõigi teie rakenduses kasutatavate DDR-mälude (MDDR ja FDDR) maksimaalne väärtus. Selle parameetri konfigureerimiseks vaadake välise DDR-mälu tarnija andmelehte. 200us on hea vaikeväärtus DDR2 ja DDR3 mäludele, mis töötavad sagedusel 200 MHz. See on väga oluline parameeter, et tagada töösimulatsioon ja toimiv süsteem ränil. Settimisaja vale väärtus võib põhjustada simulatsioonivigu. Selle parameetri konfigureerimiseks vaadake DDR-mälu tarnija andmelehte.
    – Märkige iga disaini SERDES-ploki puhul vastavad ruudud, et näidata, kas:
    o Kasutusel on PCIe
    o PCIe Hot Reset tugi on vajalik
    o PCIe L2/P2 tugi on vajalik

Märkus. Kui kasutate stantsi 090 (M2S090) ja teie disain kasutab SERDESIF-i, ei pea te märkima ühtki järgmistest märkeruutudest: „Kasutatakse PCIe jaoks”, „Kaasa PCIe HotReset tugi” ja „Kaasa PCIe L2/P2 tugi”. Kui kasutate mõnda muud seadet kui 090 ja kasutate ühte või mitut SERDESIF-i plokki, peate vastava SERDESIF-i jaotises märkima kõik neli märkeruutu.
Märkus. Lisateavet selles konfiguraatoris saadaolevate valikute kohta leiate CoreResetP käsiraamatust.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – CoreResetPConfiguratorJoonis 3-4 • CoreResetPConfigurator

25/50MHz ostsillaatori teostus
CoreConfigP ja CoreResetP taktsagedused on kiibil oleva 25/50 MHz RC-ostsillaatoriga. Peate looma 25/50 MHz ostsillaatori ja ühendama selle nende tuumadega.

  1. Instantseerige kiibiostsillaatorituum oma SmartDesignisse (tavaliselt sellesse, kus MSS instantseeritakse). Selle tuuma leiate Libero kataloogist kella ja haldamise all.
  2. Seadistage see tuum nii, et RC-ostsillaator juhiks FPGA kangast, nagu on näidatud joonisel 3-5.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – ostsillaatorite konfiguraatorJoonis 3-5 • Kiibiostsillaatorite konfiguraator

Süsteemi lähtestamine (SYSRESET) käivitamine
SYSRESETi makro pakub teie disainile seadme tasemel lähtestamise funktsiooni. Väljundsignaal POWER_ON_RESET_N aktiveeritakse/tühistatakse alati, kui kiip on sisse lülitatud või kui väline viik DEVRST_N aktiveeritakse/tühistatakse (joonis 3-6).
Eksperimenteerige SYSRESET-i makro oma SmartDesignisse (tavaliselt sellesse, kus MSS-i instantseeritakse). Selle makro leiate Libero kataloogi jaotisest Macro Library. Seda makrot pole vaja konfigureerida.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – SYSRESETi makroJoonis 3-6 • SYSRESET makro

Üldine ühenduvus
Kui olete oma disainis MSS-i, FDDR-i, SERDESIF-i, OSC-, SYSRESET-i, CoreConfigP- ja CoreResetP-südamikud loonud ja konfigureerinud, peate need ühendama, et moodustada välisseadmete initsialiseerimise alamsüsteem. Selle dokumendi ühenduvuse kirjelduse lihtsustamiseks on see jagatud APB3-ga ühilduvaks konfiguratsiooniandmete tee ühenduvuseks, mis on seotud CoreConfigP ja CoreResetP-ga seotud ühendustega.
Konfiguratsiooni andmetee ühenduvus
Joonis 3-7 näitab, kuidas ühendada CoreConfigP MSS FIC_2 signaalide ja välisseadmete APB3 ühilduvate konfiguratsiooniliidestega.
Tabel 3-1 • Konfiguratsiooni andmete tee Port/BIF ühendused

FROM
Sadama/bussi liides
(BIF)/ komponent
TO
Pordi/siiniliides (BIF)/komponent
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 SLAVE (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB SLAVE (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MASTER/ MSS

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – alamsüsteemi ühenduvusJoonis 3-7 • FIC_2 APB3 alamsüsteemi ühenduvus

Kellad ja lähtestab ühenduvust
Joonis 3-8 näitab, kuidas ühendada CoreResetP väliste lähtestusallikate ja välisseadmete tuuma lähtestamise signaalidega. Samuti näitab see, kuidas ühendada CoreResetP välisseadmete kella sünkroonimise olekusignaalidega (PLL lukustussignaalid). Lisaks näitab see, kuidas CoreConfigP ja CoreResetP on ühendatud.

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller – alamsüsteemi ühenduvus 2Joonis 3-8 • Core SF2Reset alamsüsteemi ühenduvus

Püsivararakenduse loomine ja kompileerimine

Kui ekspordite püsivara LiberoSoC-st (disainivoo aken > püsivara eksportimine > püsivara eksportimine), genereerib Libero järgmise files /firmware/drivers_config/ sys_config kaust:

  • sys_config.c – Sisaldab andmestruktuure, mis sisaldavad välisseadmete registrite väärtusi.
  • sys_config.h – Sisaldab lauseid #define, mis määravad, milliseid välisseadmeid disainis kasutatakse ja mis tuleb lähtestada.
  • sys_config_mddr_define.h – Sisaldab dialoogiboksis Registrite konfiguratsioon sisestatud MDDR-kontrolleri konfiguratsiooniandmeid.
  • sys_config_fddr_define.h – Sisaldab dialoogiboksis Registrite konfiguratsioon sisestatud FDDR-kontrolleri konfiguratsiooniandmeid.
  • sys_config_mss_clocks.h – Seda file sisaldab MSS-i kellasagedusi, nagu on määratletud MSS-i CCC konfiguraatoris. Neid sagedusi kasutab CMSIS-kood, et anda õiget kellateavet paljudele MSS-draiveritele, millel peab olema juurdepääs nende perifeerse kella (PCLK) sagedusele (nt MSS UART-i andmeedastuskiiruse jagajad on andmeedastuskiiruse ja PCLK sageduse funktsioon. ).
  • sys_config_SERDESIF_ .c – Sisaldab SERDESIF_ registreerige SERDESIF_ ajal esitatud konfiguratsiooniandmed ploki konfiguratsioon disaini loomisel.
  • sys_config_SERDESIF_ .h – Sisaldab lauseid #define, mis määravad registri konfiguratsioonipaaride arvu ja raja numbrit, mida tuleb PMA_READY (ainult PCIe režiimis) jaoks küsitleda.

Need files on vajalikud selleks, et CMSIS-kood saaks õigesti kompileerida ja sisaldaks teavet teie praeguse kujunduse kohta, sealhulgas välisseadmete konfiguratsiooniandmeid ja MSS-i kella konfiguratsiooniteavet.
Ärge muutke neid files käsitsi; need luuakse vastavatesse komponentide/välisseadmete kataloogidesse iga kord, kui vastavaid välisseadmeid sisaldavad SmartDesigni komponendid genereeritakse. Kui mõne välisseadme konfiguratsiooniandmetes tehakse muudatusi, peate püsivara projektid uuesti eksportima, et värskendatud püsivara files (vt ülaltoodud loendit) eksporditakse / firmware/drivers_config/sys_config kaust.
Kui ekspordite püsivara, loob Libero SoC püsivara projektid: raamatukogu, kus on teie disainikonfiguratsioon files ja draiverid koostatakse.
Kui märgite valiku Loo projekt märkeruut püsivara eksportimisel luuakse tarkvara SoftConsole/IAR/Keil projekt, mis hoiab rakendusprojekti, kus saate redigeerida faili main.c ja kasutaja C/H files. Avage projekt SoftConSole/IAR/Keil, et CMSIS-kood õigesti kompileerida ja oma püsivara rakendus õigesti konfigureerida, et see vastaks teie riistvarakujundusele.

BFM Files Kasutatakse disaini simuleerimiseks

Kui loote SmartDesigni komponendid, mis sisaldavad teie disainiga seotud välisseadmeid, siis simulatsioon files, mis vastavad vastavatele välisseadmetele, genereeritakse /simulatsiooni kataloog:

  • test.bfm - tipptasemel BFM file mis käivitatakse esmakordselt mis tahes simulatsiooni ajal, mis kasutab SmartFusion2 MSS Cortex-M3 protsessorit. See käivitab faili peripheral_init.bfm ja user.bfm selles järjekorras.
  • MDDR_init.bfm – Kui teie disain kasutab MDDR-i, genereerib Libero selle file; see sisaldab BFM-i kirjutamiskäske, mis simuleerivad teie sisestatud MSS-i DDR-i konfiguratsiooniregistri andmete (kasutades dialoogiboksi Redigeeri registreid või MSS_MDDR GUI-s) kirjutamist MSS-i DDR-kontrolleri registritesse.
  • FDDR_init.bfm - Kui teie disain kasutab FDDR-i, genereerib Libero selle file; see sisaldab BFM-i kirjutuskäske, mis simuleerivad kanga DDR-i konfiguratsiooniregistri andmete kirjutamist (kasutades dialoogiboksi Redigeeri registreid või FDDR-i GUI-s) Fabric'i DDR-kontrolleri registritesse.
  • SERDESIF_ _init.bfm – Kui teie disain kasutab ühte või mitut SERDESIF-i plokki, genereerib Libero selle file iga SERDESIF_ kasutatud plokid; see sisaldab BFM-i kirjutuskäske, mis simuleerivad sisestatud SERDESIF-i konfiguratsiooniregistri andmete kirjutamist (kasutades dialoogiboksi Registrite redigeerimine või SERDESIF_ GUI) SERDESIF_ registrid. Kui SERDESIF-plokk on konfigureeritud PCIe-na, siis see file sellel on ka mõned #define laused, mis juhivad 2 registri seadistamise faasi täitmist täiuslikus järjekorras.
  • user.bfm – Sisaldab kasutaja käske. Need käsud käivitatakse pärast faili peripheral_init.bfm lõpetamist. Muutke seda file BFM-i käskude sisestamiseks.
  • SERDESIF_ _user.bfm – Sisaldab kasutaja käske. Muutke seda file BFM-i käskude sisestamiseks. Kasutage seda, kui olete seadistanud SERDESIF_ plokk BFM PCIe simulatsioonirežiimis ja AXI/AHBLite masterina. Kui olete seadistanud SERDESIF_ blokeerige RTL-i simulatsioonirežiimis, pole teil seda vaja file.

Kui kutsute simulatsiooni iga kord, järgmised kaks simulatsiooni files luuakse uuesti /simulatsiooni kataloog värskendatud sisuga:

  • alamsüsteem.bfm – Sisaldab #define lauseid iga teie kujunduses kasutatava välisseadme jaoks, mis määravad faili peripheral_init.bfm konkreetse jaotise, mis tuleb igale välisseadmele vastava käivitada.
  • operipheral_init.bfm – Sisaldab BFM-protseduuri, mis emuleerib funktsiooni CMSIS:: SystemInit(), mida käivitatakse Cortex-M3-s enne protseduuri main() sisenemist. See kopeerib disainis kasutatud välisseadmete konfiguratsiooniandmed õigetesse välisseadmete konfiguratsiooniregistritesse ja ootab seejärel, kuni kõik välisseadmed on valmis, enne kui kinnitab, et saate neid välisseadmeid kasutada. See käivitab failid MDDR_init.bfm ja FDDR_init.bfm.

Kasutades neid loodud files, teie disainis olevad DDR-kontrollerid konfigureeritakse automaatselt, simuleerides seda, mis juhtuks SmartFusion2 seadmes. Saate redigeerida faili user.bfm file kujunduse simuleerimiseks vajalike käskude lisamiseks (Cortex-M3 on juht). Need käsud täidetakse pärast välisseadmete lähtestamist. Ärge muutke faile test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files ja SERDESIF_ _init.bfm files.

Tootetugi

Microsemi SoC Products Group toetab oma tooteid erinevate tugiteenustega, sealhulgas klienditeenindusega, kliendi tehnilise toe keskusega jne websait, e-post ja ülemaailmsed müügiesindused.
See lisa sisaldab teavet Microsemi SoC Products Groupiga ühenduse võtmise ja nende tugiteenuste kasutamise kohta.
Klienditeenindus
Võtke ühendust klienditeenindusega mittetehnilise tootetoe saamiseks, nagu toote hind, tooteuuendused, värskendusteave, tellimuse olek ja autoriseerimine.
Põhja-Ameerikast helistage 800.262.1060
Helistage mujalt maailmast 650.318.4460
Faks kõikjalt maailmast, 408.643.6913
Kliendi tehnilise toe keskus
Microsemi SoC Products Group töötab kliendi tehnilise toe keskuses kõrgelt kvalifitseeritud inseneridega, kes aitavad vastata teie riistvara-, tarkvara- ja disainiküsimustele Microsemi SoC toodete kohta. Kliendi tehniline tugikeskus kulutab palju aega rakenduste märkuste, vastuste leidmisele projekteerimistsükli levinud küsimustele, teadaolevate probleemide dokumenteerimisele ja erinevatele KKK-dele. Seega, enne kui võtate meiega ühendust, külastage meie veebiressursse. Tõenäoliselt oleme teie küsimustele juba vastanud.
Tehniline tugi
Külastage kliendituge websait (www.microsemi.com/soc/support/search/default.aspx) lisateabe ja toe saamiseks. Paljud vastused on saadaval otsingus web ressurss sisaldab diagramme, illustratsioone ja linke muudele ressurssidele websaidile.
Websaidile
SoC avalehel saate sirvida mitmesugust tehnilist ja mittetehnilist teavet www.microsemi.com/soc.
Võtke ühendust kliendi tehnilise toe keskusega
Tehnilise toe keskuses töötavad kõrgelt kvalifitseeritud insenerid. Tehnilise toe keskusega saab ühendust võtta e-posti teel või Microsemi SoC tooterühma kaudu websaidile.
Meil
Saate edastada oma tehnilised küsimused meie e-posti aadressile ja saada vastused e-posti, faksi või telefoni teel. Samuti, kui teil on disainiprobleeme, saate oma kujunduse meili teel saata files abi saada.
Jälgime e-posti kontot pidevalt kogu päeva jooksul. Kui saadate meile päringu, lisage kindlasti oma täisnimi, ettevõtte nimi ja kontaktandmed, et teie päringut tõhusalt menetleda.
Tehnilise toe e-posti aadress on soc_tech@microsemi.com.
Minu juhtumid
Microsemi SoC Products Groupi kliendid saavad tehnilisi juhtumeid veebis esitada ja jälgida, minnes aadressile Minu juhtumid.
Väljaspool USA-d
Kliendid, kes vajavad abi väljaspool USA ajavööndeid, võivad võtta ühendust tehnilise toega e-posti teel (soc_tech@microsemi.com) või võtke ühendust kohaliku müügiesindusega. Müügibüroode nimekirjad leiate aadressilt www.microsemi.com/soc/company/contact/default.aspx.
ITARi tehniline tugi
Tehnilise toe saamiseks RH ja RT FPGA-de kohta, mida reguleerivad rahvusvahelised relvaliikluse eeskirjad (ITAR), võtke meiega ühendust aadressil soc_tech_itar@microsemi.com. Teise võimalusena valige jaotises Minu juhtumid ITAR-i ripploendist Jah. ITAR-i reguleeritud Microsemi FPGA-de täieliku loendi saamiseks külastage ITAR-i web lehel.
Microsemi Corporation (NASDAQ: MSCC) pakub laiaulatuslikku pooljuhtlahenduste portfelli: lennundus, kaitse ja julgeolek; ettevõte ja side; ning tööstus- ja alternatiivenergia turgudel. Tooted hõlmavad suure jõudlusega, suure töökindlusega analoog- ja RF-seadmeid, segasignaali ja RF-integraallülitusi, kohandatavaid SoC-sid, FPGA-sid ja terviklikke alamsüsteeme. Microsemi peakorter asub Californias Aliso Viejos. Lisateavet leiate aadressilt www.microsemi.com.
© 2014 Microsemi Corporation. Kõik õigused kaitstud. Microsemi ja Microsemi logo on Microsemi Corporationi kaubamärgid. Kõik muud kaubamärgid ja teenindusmärgid on nende vastavate omanike omand.

5-02-00384-1/08.14Microsemi logoMicrosemi ettevõtte peakorter
One Enterprise, Aliso Viejo CA 92656 USA
USA piires: +1 949-380-6100
Müük: +1 949-380-6136
Faks: +1 949-215-4996

Dokumendid / Ressursid

Microsemi SmartFusion2 DDR-kontroller ja kiire jadakontroller [pdfKasutusjuhend
SmartFusion2 DDR-kontroller ja kiire jadakontroller, SmartFusion2 DDR-kontroller ja kiire jadakontroller, kiirkontroller

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *