SmartFusion2
DDR-ohjain ja Serial High Speed Controller
Alustusmenetelmät
Käyttöopas
Johdanto
Kun luot suunnittelua SmartFusion2-laitteella ja käytät jompaakumpaa kahdesta DDR-ohjaimesta (FDDR tai MDDR) tai SERDESIF (Serial High speed controller) -lohkoista, sinun on alustettava näiden lohkojen konfigurointirekisterit ajon aikana ennen kuin niitä voidaan käyttää. esimampDDR-ohjaimelle on asetettava DDR-tila (DDR3/DDR2/LPDDR), PHY-leveys, pursketila ja ECC.
Vastaavasti PCIe-päätepisteenä käytettävän SERDESIF-lohkon PCIE-palkki on asetettava arvoon AXI (tai AHB).
Tässä asiakirjassa kuvataan vaiheet, jotka tarvitaan luomaan Libero-malli, joka alustaa automaattisesti DDR-ohjaimen ja SERDESIF-lohkot käynnistyksen yhteydessä. Siinä kuvataan myös, kuinka laiteohjelmistokoodi luodaan Libero SOC:sta, jota käytetään sulautetussa suunnitteluprosessissa.
Ensin annetaan yksityiskohtainen kuvaus toimintateoriasta.
Seuraavassa osiossa kuvataan, kuinka luodaan tällainen malli käyttämällä Libero SoC System Builder -työkalua, joka on tehokas suunnittelutyökalu, joka muiden ominaisuuksien ohella luo "alustus" ratkaisun sinulle, jos käytät suunnittelussasi DDR- tai SERDESIF-lohkoja.
Seuraavassa osiossa kuvataan, kuinka täydellinen alustusratkaisu yhdistetään ilman SmartFusion2 System Builder -ohjelmaa. Tämä auttaa selittämään, mitä on tehtävä, jos et halua käyttää System Builder -ohjelmaa, ja kuvailee myös, mitä System Builder -työkalu todella tuottaa sinulle. Tämä osio käsittelee:
- Konfigurointitietojen luominen DDR-ohjaimelle ja SERDESIF-konfiguraatiorekistereille
- FPGA-logiikan luominen, joka vaaditaan konfigurointitietojen siirtämiseksi eri ASIC-konfiguraatiorekistereihin
Lopuksi kuvataan luotu fileliittyy aiheeseen:
- Laiteohjelmiston alustusratkaisun luominen.
- DDR-alustusratkaisun suunnittelun simulointi.
Lisätietoja DDR-ohjaimesta ja SERDESIF-kokoonpanorekistereistä on kohdassa Microsemi SmartFusion2 High Speed Serial- ja DDR-liitäntöjen käyttöopas.
Toimintateoria
Oheislaitteiden alustusratkaisu käyttää seuraavia pääkomponentteja:
- CMSIS SystemInit()-funktio, joka toimii Cortex-M3:ssa ja ohjaa alustusprosessin.
- CoreConfigP pehmeä IP-ydin, joka alustaa oheislaitteiden konfigurointirekisterit.
- CoreResetP pehmeä IP-ydin, joka hallitsee MSS-, DDR-ohjainten ja SERDESIF-lohkojen nollaussekvenssiä.
Oheislaitteiden alustusprosessi toimii seuraavasti:
- Nollauksen jälkeen Cortex-M3 suorittaa CMSIS SystemInit()-funktion. Tämä toiminto suoritetaan automaattisesti ennen kuin sovelluksen main()-toiminto suoritetaan.
CoreResetP-lähtösignaali MSS_HPMS_READY vahvistetaan alustusprosessin alussa, mikä osoittaa, että MSS ja kaikki oheislaitteet (paitsi MDDR) ovat valmiita tiedonsiirtoon. - SystemInit()-funktio kirjoittaa konfigurointitiedot DDR-ohjaimiin ja SERDESIF-konfiguraatiorekistereihin MSS FIC_2 APB3 -väylän kautta. Tämä liitäntä on kytketty pehmeään CoreConfigP-ytimeen, joka on instantoitu FPGA-kankaaseen.
- Kun kaikki rekisterit on konfiguroitu, SystemInit()-funktio kirjoittaa CoreConfigP-ohjausrekistereihin osoittaakseen rekisterin konfigurointivaiheen valmistumisen; CoreConfigP-lähtösignaalit CONFIG1_DONE ja CONIG2_DONE vahvistetaan sitten.
Rekisterin konfiguroinnissa on kaksi vaihetta (CONFIG1 ja CONFIG2) suunnittelussa käytetyistä oheislaitteista riippuen. - Jos käytetään toista tai molempia MDDR/FDDR:istä eikä mitään SERDESIF-lohkoista käytetä suunnittelussa, on vain yksi rekisterin konfigurointivaihe. Molemmat CoreConfigP-lähtösignaalit CONFIG1_DONE ja CONIG2_DONE vahvistetaan peräkkäin ilman odotusta/viivettä.
Jos suunnittelussa käytetään yhtä tai useampaa SERDESIF-lohkoa ei-PCIe-tilassa, rekisterin määrittelyssä on vain yksi vaihe. CONFIG1_DONE ja CONIG2_DONE vahvistetaan peräkkäin ilman odotusta/viivettä.
Jos suunnittelussa käytetään yhtä tai useampaa SERDESIF-lohkoa PCIe-tilassa, rekisterin konfiguroinnissa on kaksi vaihetta. CONFIG1_DONE vahvistetaan, kun rekisterin konfiguroinnin ensimmäinen vaihe on valmis. SERDESIF-järjestelmä ja kaistarekisterit konfiguroidaan tässä vaiheessa. Jos SERDESIF on määritetty ei-PCIE-tilassa, myös CONFIG2_DONE-signaali vahvistetaan välittömästi. - Sitten seuraa rekisterin konfiguroinnin toinen vaihe (jos SERDESIF on konfiguroitu PCIE-tilassa). Seuraavat ovat erilaiset tapahtumat, jotka tapahtuvat toisessa vaiheessa:
– CoreResetP poistaa vahvistuksen PHY_RESET_N- ja CORE_RESET_N-signaaleista, jotka vastaavat kutakin käytettyä SERDESIF-lohkoa. Se myös vahvistaa lähtösignaalin SDIF_RELEASED sen jälkeen, kun kaikki SERDESIF-lohkot ovat poissa nollauksesta. Tätä SDIF_RELEASED-signaalia käytetään osoittamaan CoreConfigP:lle, että SERDESIF-ydin ei ole nollattu ja on valmis rekisterin konfiguroinnin toiseen vaiheeseen.
– Kun SDIF_RELEASED-signaali on vahvistettu, SystemInit()-funktio alkaa pollata PMA_READY-vahvistusta sopivalla SERDESIF-kaistalla. Kun PMA_READY on vahvistettu, SystemInit()-funktio konfiguroi/kirjoittaa toisen joukon SERDESIF-rekistereitä (PCIE-rekistereitä). - Kun kaikki PCIE-rekisterit on konfiguroitu, SystemInit()-funktio kirjoittaa CoreConfigP-ohjausrekistereihin osoittaakseen rekisterin konfiguroinnin toisen vaiheen valmistumisen; CoreConfigP-lähtösignaali CONIG2_DONE vahvistetaan sitten.
- Yllä olevien signaalivahvistusten/vahvistusten poistamisen lisäksi CoreResetP hallitsee myös eri lohkojen alustuksen suorittamalla seuraavat toiminnot:
– FDDR-ytimen nollauksen vahvistaminen
– SERDESIFin vahvistamisen poistaminen estää PHY- ja CORE-nollaukset
– FDDR PLL (FPLL) -lukitussignaalin valvonta. FPLL:n on oltava lukittu, jotta voidaan taata, että FDDR AXI/AHBLite -dataliitäntä ja FPGA-kangas voivat kommunikoida oikein.
– SERDESIF-lohkon PLL (SPLL) lukitussignaalien valvonta. SPLL:n on oltava lukittu, jotta voidaan taata, että SERDESIF estää AXI/AHBLite-liitännän (PCIe-tila) tai XAUI-liitännän voi kommunikoida oikein FPGA-kudoksen kanssa.
– Odotetaan, että ulkoiset DDR-muistit asettuvat ja ovat valmiita DDR-ohjaimien käyttöön. - Kun kaikki oheislaitteet ovat saaneet alustuksensa valmiiksi, CoreResetP vahvistaa signaalin INIT_DONE; sitten vahvistetaan sisäinen CoreConfigP-rekisteri INIT_DONE.
Jos käytetään toista tai molempia MDDR/FDDR:stä ja DDR:n alustusaika saavutetaan, CoreResetP-lähtösignaali DDR_READY vahvistetaan. Tämän signaalin DDR_READY vahvistamista voidaan valvoa osoituksena siitä, että DDR (MDDR/FDDR) on valmis viestintään.
Jos käytetään yhtä tai useampaa SERDESIF-lohkoa ja rekisterin konfiguroinnin toinen vaihe on suoritettu onnistuneesti, CoreResetP-lähtösignaali SDIF_READY vahvistetaan. Tämän signaalin SDIF_READY vahvistamista voidaan valvoa osoituksena siitä, että kaikki SERDESIF-lohkot ovat valmiita tiedonsiirtoon. - SystemInit()-funktio, joka on odottanut INIT_DONE:n vahvistamista, valmistuu ja sovelluksen main()-funktio suoritetaan. Tuolloin kaikki käytetyt DDR-ohjaimet ja SERDESIF-lohkot on alustettu, ja laiteohjelmistosovellus ja FPGA-kangaslogiikka voivat kommunikoida luotettavasti niiden kanssa.
Tässä asiakirjassa kuvattu menetelmä perustuu siihen, että Cortex-M3 suorittaa alustusprosessin osana järjestelmän alustuskoodia, joka suoritetaan ennen sovelluksen main()-toimintoa.
Katso FDDR/MDDR:n, SEREDES:n (ei-PCIe-tila) ja SERDES:n (PCIe-tila) alustusvaiheet kohdista Kuva 1-1, Kuva 1-2 ja Kuva 1-3.
Kuva 1-4 esittää oheislaitteiden alustuksen ajoituskaaviota.
![]() |
![]() |
Kuva 1-3 • SERDESIF (PCIe) -alustuksen vuokaavio
Tässä asiakirjassa kuvattu alustustoimenpide edellyttää Cortex-M3:n suorittamista alustusprosessin aikana, vaikka et aio suorittaa mitään koodia Cortex-M3:ssa. Sinun on luotava peruslaiteohjelmistosovellus, joka ei tee mitään (yksinkertainen silmukka, esimample) ja lataa se suoritettava tiedosto sulautettuun haihtumattomaan muistiin (eNVM), jotta DDR-ohjaimet ja SERDESIF-lohkot alustetaan, kun Cortex-M3 käynnistyy.
Järjestelmänrakentajan käyttö mallin luomiseen DDR- ja SERDESIF-lohkoilla
SmartFusion2 System Builder on tehokas suunnittelutyökalu, jonka avulla voit ottaa huomioon järjestelmätason vaatimukset ja tuottaa suunnittelun, joka toteuttaa nämä vaatimukset. System Builderin erittäin tärkeä toiminto on Peripheral Initialization -alijärjestelmän automaattinen luominen. "SmartDesignin käyttäminen suunnittelun luomiseen DDR- ja SERDESIF-lohkojen avulla" sivulla 17 kuvaa yksityiskohtaisesti, kuinka tällainen ratkaisu luodaan ilman System Builder -ohjelmaa.
Jos käytät System Builder -ohjelmaa, sinun on suoritettava seuraavat tehtävät luodaksesi suunnittelu, joka alustaa DDR-ohjaimet ja SERDESIF-lohkot käynnistyksen yhteydessä:
- Määritä Laitteen ominaisuudet -sivulla (Kuva 2-1), mitä DDR-ohjaimia käytetään ja kuinka monta SERDESIF-lohkoa suunnittelussasi käytetään.
- Määritä Muisti-sivulla DDR:n tyyppi (DDR2/DDR3/LPDDR) ja ulkoisten DDR-muistien kokoonpanotiedot. Katso lisätietoja Muistisivu-osiosta.
- Lisää Oheislaitteet-sivulla AHBLite/AXI:ksi määritetyt kudosmasterit Fabric DDR -alijärjestelmään ja/tai MSS DDR FIC -alijärjestelmään (valinnainen).
- Määritä Kelloasetukset-sivulla DDR-alijärjestelmien kellotaajuudet.
- Täytä suunnittelutietosi ja napsauta Valmis. Tämä luo System Builderin luoman suunnitelman, joka sisältää "alustus"-ratkaisuun tarvittavan logiikan.
- Jos käytät SERDESIF-lohkoja, sinun on mallinnettava SERDESIF-lohkot suunnittelussasi ja yhdistettävä niiden alustusportit System Builderin luoman ytimen portteihin.
System Builder Device Features -sivu
Määritä Laitteen ominaisuudet -sivulla, mitä DDR-ohjaimia (MDDR ja/tai FDDR) käytetään ja kuinka monta SERDESIF-lohkoa suunnittelussasi käytetään (Kuva 2-1).
Kuva 2-1 • System Builder Device Features -sivu
System Builder -muistisivu
Jos haluat käyttää MSS DDR:tä (MDDR) tai Fabric DDR:tä (FDDR), valitse Muistityyppi avattavasta luettelosta (Kuva 2-2).
Kuva 2-2 • Ulkoinen MSS-muisti
Sinun tulee:
- Valitse DDR-tyyppi (DDR2, DDR3 tai LPDDR).
- Määritä DDR-muistin asettumisaika. Tarkista ulkoisen DDR-muistin tekniset tiedot määrittääksesi oikean muistin asetusajan. DDR-muisti ei ehkä käynnisty oikein, jos muistin asettumisaikaa ei ole asetettu oikein.
- Tuo DDR-rekisterin määritystiedot tai aseta DDR-muistiparametrit. Katso lisätietoja kohdasta Microsemi SmartFusion2 High Speed Serial- ja DDR-liitäntöjen käyttöopas.
Näitä tietoja käytetään luomaan DDR-rekisteri BFM ja laiteohjelmiston konfiguraatio files kuten on kuvattu kohdissa "Laiteohjelmistosovelluksen luominen ja kääntäminen" sivulla 26 ja "BFM Files Käytetään suunnittelun simulointiin” sivulla 27. Lisätietoja DDR-ohjaimen konfigurointirekistereistä on Microsemi SmartFusion2 High Speed Serial- ja DDR-liitäntöjen käyttöopas.
Exampkokoonpanosta file syntaksi on esitetty kuvassa 2-3. Tässä käytetyt rekisterinimet file ovat samat kuin kohdassa kuvatut Microsemi SmartFusion2 High Speed Serial- ja DDR-liitäntöjen käyttöopas
Kuva 2-3 • Kokoonpano File Syntaksi esimample
System Builderin oheislaitteiden sivu
Oheislaitteet-sivulla kullekin DDR-ohjaimelle luodaan erillinen alijärjestelmä (FDDR:n kankaan DDR-alijärjestelmä ja MDDR:n MSS DDR FIC-alijärjestelmä). Voit lisätä Fabric AMBA Master -ytimen (määritetty AXI/AHBLiteksi) jokaiseen näistä alijärjestelmistä mahdollistaaksesi kankaan pääkäyttäjän pääsyn DDR-ohjaimiin. Luodessaan System Builder instantoi väyläytimet automaattisesti (riippuen lisätyn AMBA Masterin tyypistä) ja paljastaa väyläytimen master-BIF:n ja vastaavien alijärjestelmien (FDDR/MDDR) kello- ja nollausnastat asianmukaisissa nastaryhmissä. alkuun. Sinun tarvitsee vain liittää BIF:t asianmukaisiin Fabric Master -ytimiin, jotka esität suunnittelussa. MDDR:n tapauksessa on valinnaista lisätä Fabric AMBA Master -ydin MSS DDR FIC -alijärjestelmään; Cortex-M3 on oletusisäntä tässä alijärjestelmässä. Kuva 2-4 näyttää System Builderin oheislaitteet-sivun.
Kuva 2-4 • System Builderin oheislaitteet -sivu
System Builderin kellon asetussivu
Kelloasetukset-sivulla kullekin DDR-ohjaimelle on määritettävä kellotaajuudet, jotka liittyvät kuhunkin DDR-alijärjestelmään (MDDR ja/tai FDDR).
MDDR:lle sinun on määritettävä:
- MDDR_CLK – Tämä kello määrittää DDR-ohjaimen toimintataajuuden ja sen tulee vastata kellotaajuutta, jolla haluat ulkoisen DDR-muistin toimivan. Tämä kello määritellään M3_CLK:n kerrannaiseksi (Cortex-M3 ja MSS-pääkello, kuva 2-5). MDDR_CLK:n on oltava alle 333 MHz.
- DDR_FIC_CLK – Jos olet päättänyt käyttää MDDR:ää myös FPGA-kankaasta, sinun on määritettävä DDR_FIC_CLK. Tämä kellotaajuus määritellään MDDR_CLK:n suhteeksi, ja sen tulisi vastata taajuutta, jolla MDDR:ää käyttävä FPGA-kangasalijärjestelmä toimii.
Kuva 2-5 • Cortex-M3- ja MSS-pääkello; MDDR kellot
FDDR:ää varten sinun on määritettävä:
- FDDR_CLK – Määrittää DDR-ohjaimen toimintataajuuden ja sen tulee vastata kellotaajuutta, jolla haluat ulkoisen DDR-muistin toimivan. Huomaa, että tämä kello määritellään M3_CLK:n kerrannaiseksi (MSS- ja Cortex-M3-kello, kuva 2-5). FDDR_CLK:n on oltava välillä 20 MHz ja 333 MHz.
- FDDR_SUBSYSTEM_CLK – Tämä kellotaajuus määritellään FDDR_CLK:n suhteeksi, ja sen tulee vastata taajuutta, jolla FDDR:ää käyttävä FPGA-kangasalijärjestelmä toimii.
Kuva 2-6 • Kangas DDR-kellot
SERDESIF-kokoonpano
SERDESIF-lohkoja ei ilmennetä System Builderin luomassa suunnittelussa. Kuitenkin kaikille SERDESIF-lohkoille alustussignaalit ovat saatavilla System Builder -ytimen liitännässä ja ne voidaan liittää SERDESIF-ytimiin hierarkian seuraavalla tasolla, kuten kuvassa 2-7.Kuva 2-7 • SERDESIF-oheislaitteiden alustusyhteys
Kuten DDR-määritysrekistereissä, jokaisessa SERDES-lohkossa on myös konfigurointirekisterit, jotka on ladattava ajon aikana. Voit joko tuoda nämä rekisteriarvot tai käyttää High Speed Serial Interface Configurator -ohjelmaa (Kuva 2-8) syöttääksesi PCIe- tai EPCS-parametrisi, jolloin rekisteriarvot lasketaan automaattisesti puolestasi. Katso lisätietoja kohdasta SERDES Configurator -käyttöopas.Kuva 2-8 • High Speed Serial Interface Configurator
Kun olet integroinut käyttäjälogiikkasi System Builder -lohkoon ja SERDES-lohkoon, voit luoda huipputason SmartDesignin. Tämä tuottaa kaiken HDL:n ja BFM:n files jotka ovat tarpeen suunnittelusi toteuttamiseksi ja simuloimiseksi. Tämän jälkeen voit jatkaa suunnitteluprosessin loppua.
SmartDesignin käyttäminen suunnittelun luomiseen DDR- ja SERDESIF-lohkoilla
Tässä osiossa kuvataan, kuinka täydellinen alustusratkaisu yhdistetään käyttämättä SmartFusion2 System Builder -ohjelmaa. Tavoitteena on auttaa sinua ymmärtämään, mitä sinun on tehtävä, jos et halua käyttää System Builder -ohjelmaa. Tässä osiossa kuvataan myös, mitä System Builder -työkalu todella tuottaa sinulle. Tässä osiossa kuvataan, miten:
- Syötä DDR-ohjaimen ja SERDESIF-konfigurointirekisterien konfigurointitiedot.
- Instantoi ja yhdistä kangasytimet, joita tarvitaan konfigurointitietojen siirtämiseen DDR-ohjaimiin ja SERDESIF-määritysrekistereihin.
DDR-ohjaimen kokoonpano
MSS DDR (MDDR)- ja Fabric DDR (FDDR) -ohjaimet on määritettävä dynaamisesti (ajon aikana) ulkoisen DDR-muistin määritysvaatimusten (DDR-tila, PHY-leveys, pursketila, ECC jne.) mukaiseksi. MDDR/FDDR-konfiguraattoriin syötetyt tiedot kirjoitetaan DDR-ohjaimen konfigurointirekistereihin CMSIS SystemInit()-funktiolla. Configuratorissa on kolme eri välilehteä erityyppisten konfigurointitietojen syöttämiseen:
- Yleiset tiedot (DDR-tila, tiedonleveys, kellotaajuus, ECC, kangasliitäntä, aseman vahvuus)
- Muistin alustustiedot (sarjan pituus, sarjan järjestys, ajoitustila, latenssi jne.)
- Muistin ajoitustiedot
Katso ulkoisen DDR-muistin tekniset tiedot ja määritä DDR-ohjain vastaamaan ulkoisen DDR-muistisi vaatimuksia.
Lisätietoja DDR-määrityksestä on kohdassa SmartFusion2 MSS DDR -kokoonpanon käyttöopas.
SERDESIF-kokoonpano
Kaksoisnapsauta SERDES-lohkoa SmartDesign-pohjassa avataksesi Configuratorin SERDESin määrittämistä varten (Kuva 3-1). Voit joko tuoda nämä rekisteriarvot tai syöttää PCIe- tai EPCS-parametrisi SERDES-konfiguraattorilla, jolloin rekisteriarvot lasketaan automaattisesti puolestasi. Katso lisätietoja kohdasta SERDES Configurator -käyttöopas.Kuva 3-1 • High Speed Serial Interface Configurator
FPGA-suunnittelun alustusalijärjestelmän luominen
DDR- ja SERDESIF-lohkojen alustamiseksi sinun on luotava alustusalijärjestelmä FPGA-kankaaseen. FPGA-kudoksen alustusalijärjestelmä siirtää tiedot Cortex-M3:sta DDR- ja SERDESIF-määritysrekistereihin, hallitsee näiden lohkojen toimintakuntoon tarvittavia palautussarjoja ja ilmoittaa, kun nämä lohkot ovat valmiita kommunikoimaan muun suunnittelun kanssa. Alustusalijärjestelmän luomiseksi sinun on:
- Määritä FIC_2 MSS:n sisällä
- Luo ja määritä CoreConfigP- ja CoreResetP-ytimet
- Toteuta sirulla oleva 25/50 MHz RC-oskillaattori
- Toteuta System Reset (SYSRESET) -makro
- Liitä nämä komponentit kunkin oheislaitteen konfigurointiliitäntöihin, kelloihin, nollauksiin ja PLL-lukitusportteihin
MSS FIC_2 APB Configuration
MSS FIC_2:n määrittäminen:
- Avaa FIC_2 Configurator -valintaikkuna MSS-konfiguraattorista (Kuva 3-2).
- Valitse Alusta oheislaitteet Cortex-M3:lla.
- Valitse järjestelmästäsi riippuen toinen tai molemmat seuraavista valintaruuduista:
– MSS DDR
– Kangas DDR- ja/tai SERDES-lohkot - Napsauta OK ja jatka MSS:n luomista (voit lykätä tätä toimintoa, kunnes olet määrittänyt MSS:n täysin suunnitteluvaatimustesi mukaan). FIC_2-portit (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK ja FIC_2_APB_M_RESET_N) ovat nyt esillä MSS-liitännässä, ja ne voidaan yhdistää CoreConfigP- ja CoreResetP-ytimiin.
Kuva 3-2 • MSS FIC_2 Configurator
CoreConfigP
CoreConfigP:n määrittäminen:
- Instantoi CoreConfigP SmartDesigniin (yleensä siihen, jossa MSS instantoidaan).
Tämä ydin löytyy Libero Catalogista (Oheislaitteet-kohdasta). - Avaa konfiguraattori kaksoisnapsauttamalla ydintä.
- Määritä ydin määrittämään, mitkä oheislaitteet on alustettava (Kuva 3-3)
Kuva 3-3 • CoreConfigP-valintaikkuna
CoreResetP
CoreResetP:n määrittäminen:
- Instantoi CoreResetP SmartDesigniin (yleensä siihen, jossa MSS instantoidaan).
Tämä ydin löytyy Libero Catalogista Oheislaitteet-kohdasta. - Avaa Configurator kaksoisnapsauttamalla SmartDesign Canvasin sisällä olevaa ydintä (Kuva 3-4).
- Määritä ydin seuraavasti:
– Määritä ulkoinen nollaus (EXT_RESET_OUT vahvistettu). Valitse yksi neljästä vaihtoehdosta:
o EXT_RESET_OUT ei ole koskaan vahvistettu
o EXT_RESET_OUT vahvistetaan, jos vahvistetaan käynnistyksen nollaus (POWER_ON_RESET_N)
o EXT_RESET_OUT vahvistetaan, jos FAB_RESET_N vahvistetaan
o EXT_RESET_OUT vahvistetaan, jos vahvistetaan käynnistyksen nollaus (POWER_ON_RESET_N) tai FAB_RESET_N
– Määritä Device Voltage. Valitun arvon tulee vastata voltage valitsit Libero Project Settings -valintaikkunassa.
– Valitse asianmukaiset valintaruudut, jotka osoittavat, mitä oheislaitteita käytät suunnittelussasi.
– Määritä ulkoisen DDR-muistin asetusaika. Tämä on suurin arvo kaikille sovelluksessasi käytetyille DDR-muisteille (MDDR ja FDDR). Lisätietoja tämän parametrin määrittämisestä on ulkoisen DDR-muistin toimittajan tietosivulla. 200us on hyvä oletusarvo DDR2- ja DDR3-muisteille, jotka toimivat 200 MHz:n taajuudella. Tämä on erittäin tärkeä parametri toimivan simulaation ja piin toimivan järjestelmän takaamiseksi. Virhe asettumisajan arvo voi aiheuttaa simulointivirheitä. Katso tämän parametrin määrittäminen DDR-muistin toimittajan tietosivulta.
– Merkitse kunkin suunnittelusi SERDES-lohkon kohdalla asianmukaiset ruudut ilmoittaaksesi, onko:
o PCIe on käytössä
o PCIe Hot Reset -tuki vaaditaan
o PCIe L2/P2 -tuki vaaditaan
Huomautus: Jos käytät 090-suulaketta (M2S090) ja suunnittelussasi on SERDESIF, sinun ei tarvitse valita mitään seuraavista valintaruuduista: "Käytetty PCIe:lle", "Sisällytä PCIe HotReset -tuki" ja "Sisällytä PCIe L2/P2 -tuki". Jos käytät jotakin muuta kuin 090-laitetta ja käytät yhtä tai useampaa SERDESIF-lohkoa, sinun on valittava kaikki neljä valintaruutua sopivan SERDESIF-osan alla.
Huomautus: Lisätietoja tässä konfiguraattorissa käytettävissä olevista vaihtoehdoista on CoreResetP-käsikirjassa.
Kuva 3-4 • CoreResetPConfigurator
25/50 MHz oskillaattorin ilmentymä
CoreConfigP ja CoreResetP kellotetaan sirulla olevalla 25/50 MHz RC-oskillaattorilla. Sinun on luotava 25/50 MHz oskillaattori ja liitettävä se näihin ytimiin.
- Instantoi Chip Oscillators -ydin SmartDesigniin (yleensä siihen, jossa MSS instantoidaan). Tämä ydin löytyy Libero Catalogista Kello ja hallinta -kohdasta.
- Määritä tämä ydin siten, että RC-oskillaattori ohjaa FPGA-kudosta, kuten kuvassa 3-5.
Kuva 3-5 • Chip Oscillators Configurator
Järjestelmän nollaus (SYSRESET) Instantiation
SYSRESET-makro tarjoaa laitetason nollaustoiminnon suunnittelullesi. Lähtösignaali POWER_ON_RESET_N vahvistetaan/poistetaan aina, kun siru käynnistetään tai ulkoinen nasta DEVRST_N otetaan käyttöön/poistetaan (Kuva 3-6).
Instantoi SYSRESET-makro SmartDesigniin (yleensä siihen, jossa MSS instantoidaan). Tämä makro löytyy Libero Catalogista Macro Librarysta. Tätä makroa ei tarvitse määrittää.
Kuva 3-6 • SYSRESET-makro
Yleinen liitettävyys
Kun olet luonut ja määrittänyt MSS-, FDDR-, SERDESIF-, OSC-, SYSRESET-, CoreConfigP- ja CoreResetP-ytimet suunnittelussasi, sinun on yhdistettävä ne oheislaitteiden alustusalijärjestelmän muodostamiseksi. Tämän asiakirjan liitettävyyskuvauksen yksinkertaistamiseksi se on jaettu CoreConfigP- ja CoreResetP-yhteyksiin liittyviin APB3-yhteensopiviin kokoonpanotietopolkuyhteyksiin.
Configuration Data Path Connectivity
Kuva 3-7 näyttää, kuinka CoreConfigP liitetään MSS FIC_2 -signaaleihin ja oheislaitteiden APB3-yhteensopiviin konfigurointiliitäntöihin.
Taulukko 3-1 • Configuration Data Path Port/BIF-yhteydet
FROM Portti/väyläliitäntä (BIF)/ Komponentti |
TO Portti/väyläliitäntä (BIF)/komponentti |
||
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 |
Kuva 3-7 • FIC_2 APB3 -alijärjestelmän liitettävyys
Kellot ja nollaa yhteydet
Kuva 3-8 näyttää kuinka CoreResetP liitetään ulkoisiin nollauslähteisiin ja oheislaitteiden ytimen palautussignaaleihin. Se näyttää myös kuinka CoreResetP liitetään oheislaitteiden kellon synkronointitilasignaaleihin (PLL-lukitussignaalit). Lisäksi se näyttää, kuinka CoreConfigP ja CoreResetP on yhdistetty.
Kuva 3-8 • Core SF2Reset Sub-System Connectivity
Laiteohjelmistosovelluksen luominen ja kääntäminen
Kun viet laiteohjelmiston LiberoSoC:sta (Suunnitteluikkuna > Vie laiteohjelmisto > Vie laiteohjelmisto), Libero luo seuraavan files sisällä /firmware/drivers_config/ sys_config-kansio:
- sys_config.c – Sisältää tietorakenteet, jotka sisältävät oheisrekisterien arvot.
- sys_config.h – Sisältää #define-käskyt, jotka määrittelevät, mitä oheislaitteita suunnittelussa käytetään ja jotka on alustettava.
- sys_config_mddr_define.h – Sisältää MDDR-ohjaimen kokoonpanotiedot, jotka on syötetty Registrs Configuration -valintaikkunaan.
- sys_config_fddr_define.h – Sisältää FDDR-ohjaimen kokoonpanotiedot, jotka on syötetty Registrs Configuration -valintaikkunaan.
- sys_config_mss_clocks.h – Tämä file sisältää MSS-kellotaajuudet, jotka on määritelty MSS CCC -konfiguraattorissa. CMSIS-koodi käyttää näitä taajuuksia antamaan oikeat kellotiedot monille MSS-ajureille, joilla on oltava pääsy PCLK (Peripheral Clock) -taajuuteen (esim. MSS UART-baudinopeuden jakajat ovat baudinopeuden ja PCLK-taajuuden funktio. ).
- sys_config_SERDESIF_ .c – Sisältää SERDESIF_ rekisteröi määritystiedot, jotka on annettu SERDESIF_:n aikana lohkokokoonpano suunnittelun luomisessa.
- sys_config_SERDESIF_ .h – Sisältää #define-käskyt, jotka määrittävät rekisterikokoonpanoparien lukumäärän ja kaistanumeron, joka on pollattava PMA_READY:lle (vain PCIe-tilassa).
Nämä files tarvitaan, jotta CMSIS-koodi voidaan kääntää oikein ja sisältää tietoja nykyisestä suunnittelustasi, mukaan lukien oheislaitteiden konfigurointitiedot ja kellon määritystiedot MSS:lle.
Älä muokkaa näitä files käsin; ne luodaan vastaaviin komponentti-/oheislaitehakemistoihin aina, kun vastaavat oheislaitteet sisältävät SmartDesign-komponentit luodaan. Jos jonkin oheislaitteen kokoonpanotietoihin tehdään muutoksia, laiteohjelmistoprojektit on vietävä uudelleen, jotta päivitetty laiteohjelmisto files (katso yllä oleva luettelo) viedään / firmware/drivers_config/sys_config -kansioon.
Kun viet laiteohjelmiston, Libero SoC luo laiteohjelmistoprojektit: kirjaston, jossa suunnittelukokoonpanosi files ja ajurit on koottu.
Jos valitset Luo projekti -valintaruutu, kun viet laiteohjelmiston, ohjelmiston SoftConsole/IAR/Keil-projekti luodaan pitämään sovellusprojekti, jossa voit muokata main.c- ja käyttäjän C/H-tiedostoa. files. Avaa SoftConSole/IAR/Keil-projekti kääntääksesi CMSIS-koodin oikein ja määrittääksesi laiteohjelmistosovelluksesi oikein laitteistosi suunnitteluun sopivaksi.
BFM Files Käytetään suunnittelun simulointiin
Kun luot SmartDesign-komponentit, jotka sisältävät suunnitteluusi liittyvät oheislaitteet, simulaatio files, jotka vastaavat vastaavia oheislaitteita, generoidaan /simulaatiohakemisto:
- test.bfm – Huipputason BFM file joka suoritetaan ensimmäisen kerran minkä tahansa simulaation aikana, joka käyttää SmartFusion2 MSS Cortex-M3 -prosessoria. Se suorittaa tiedostot peripheral_init.bfm ja user.bfm tässä järjestyksessä.
- MDDR_init.bfm – Jos suunnittelussasi käytetään MDDR:tä, Libero luo tämän file; se sisältää BFM-kirjoituskomentoja, jotka simuloivat kirjoittamiesi MSS DDR -konfigurointirekisteritietojen (Muokkaa rekistereitä -valintaikkunassa tai MSS_MDDR GUI:ssa) kirjoittamista MSS DDR -ohjainrekistereihin.
- FDDR_init.bfm – Jos mallisi käyttää FDDR:tä, Libero luo tämän file; se sisältää BFM-kirjoituskomentoja, jotka simuloivat Fabric DDR -ohjainrekisteritietojen kirjoittamista (muokkaa rekistereitä -valintaikkunassa tai FDDR-graafisessa käyttöliittymässä) Fabric DDR -ohjaimen rekistereihin.
- SERDESIF_ _init.bfm – Jos suunnittelussasi käytetään yhtä tai useampaa SERDESIF-lohkoa, Libero luo tämän file jokaiselle SERDESIF_ käytetyt lohkot; se sisältää BFM-kirjoituskomentoja, jotka simuloivat kirjoittamiesi SERDESIF-määritysrekisteritietojen kirjoittamista (käyttäen Muokkaa rekistereitä -valintaikkunaa tai SERDESIF_ GUI) SERDESIF_ rekisterit. Jos SERDESIF-lohko on määritetty PCIe:ksi, tämä file sisältää myös joitain #define-lauseita, jotka ohjaavat kahden rekisterin konfigurointivaiheen suorittamista täydellisessä järjestyksessä.
- user.bfm – Sisältää käyttäjän komennot. Nämä komennot suoritetaan, kun peripheral_init.bfm on valmis. Muokkaa tätä file syöttääksesi BFM-komennot.
- SERDESIF_ _user.bfm – Sisältää käyttäjän komennot. Muokkaa tätä file syöttääksesi BFM-komennot. Käytä tätä, jos olet määrittänyt SERDESIF_ lohko BFM PCIe -simulointitilassa ja AXI/AHBLite-masterina. Jos olet määrittänyt SERDESIF_ estää RTL-simulaatiotilassa, et tarvitse tätä file.
Kun käynnistät simulaation joka kerta, seuraavat kaksi simulaatiota files luodaan uudelleen /simulation hakemisto päivitetyllä sisällöllä:
- subsystem.bfm – Sisältää #define-käskyt jokaiselle suunnittelussasi käytetylle oheislaitteelle, jotka määrittävät peripheral_init.bfm:n tietyn osan, joka suoritetaan jokaista oheislaitetta vastaavasti.
- operipheral_init.bfm – Sisältää BFM-proseduurin, joka emuloi CMSIS:: SystemInit()-funktiota, joka suoritetaan Cortex-M3:ssa ennen main()-proseduurin aloittamista. Se kopioi minkä tahansa suunnittelussa käytetyn oheislaitteen konfigurointitiedot oikeisiin oheislaitteiden konfigurointirekistereihin ja odottaa sitten kaikkien oheislaitteiden valmistumista ennen kuin vakuuttaa, että voit käyttää näitä oheislaitteita. Se suorittaa tiedostot MDDR_init.bfm ja FDDR_init.bfm.
Käyttämällä näitä luotu files, suunnittelussasi olevat DDR-ohjaimet konfiguroidaan automaattisesti, mikä simuloi mitä tapahtuisi SmartFusion2-laitteella. Voit muokata user.bfm-tiedostoa file lisätäksesi suunnittelusi simuloimiseen tarvittavat komennot (Cortex-M3 on isäntä). Nämä komennot suoritetaan oheislaitteiden alustuksen jälkeen. Älä muokkaa tiedostoa test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files ja SERDESIF_ _init.bfm files.
Tuotetuki
Microsemi SoC Products Group tukee tuotteitaan erilaisilla tukipalveluilla, kuten asiakaspalvelulla, asiakkaan teknisellä tukikeskuksella jne websivusto, sähköposti ja maailmanlaajuiset myyntitoimistot.
Tämä liite sisältää tietoja yhteydenotosta Microsemi SoC Products Groupiin ja näiden tukipalvelujen käyttämiseen.
Asiakaspalvelu
Ota yhteyttä asiakaspalveluun saadaksesi ei-teknistä tuotetukea, kuten tuotteiden hinnoittelua, tuotepäivityksiä, päivitystietoja, tilauksen tilaa ja valtuutusta.
Soita Pohjois-Amerikasta 800.262.1060
Soita muualta maailmasta 650.318.4460
Faksi mistä päin maailmaa tahansa, 408.643.6913
Asiakastukikeskus
Microsemi SoC Products Groupin asiakaspalvelukeskuksessa on erittäin ammattitaitoisia insinöörejä, jotka voivat auttaa vastaamaan Microsemi SoC -tuotteita koskeviin laitteisto-, ohjelmisto- ja suunnittelukysymyksiisi. Asiakastukikeskus käyttää paljon aikaa sovellusmuistiinpanojen, vastausten yleisiin suunnitteluvaiheen kysymyksiin, tunnettujen ongelmien dokumentointiin ja useisiin usein kysyttyihin kysymyksiin luomiseen. Joten ennen kuin otat meihin yhteyttä, käy online-resursseissamme. On hyvin todennäköistä, että olemme jo vastanneet kysymyksiisi.
Tekninen tuki
Vieraile asiakaspalvelussa websivusto (www.microsemi.com/soc/support/search/default.aspx) saadaksesi lisätietoja ja tukea. Monet vastaukset löytyvät haussa web resurssi sisältää kaavioita, piirroksia ja linkkejä muihin resursseihin websivusto.
Websivusto
Voit selata erilaisia teknisiä ja ei-teknisiä tietoja SoC:n kotisivulla osoitteessa www.microsemi.com/soc.
Ota yhteyttä asiakaspalvelukeskukseen
Teknisessä tukikeskuksessa työskentelee korkeasti koulutettuja insinöörejä. Tekniseen tukikeskukseen voi ottaa yhteyttä sähköpostitse tai Microsemi SoC -tuoteryhmän kautta websivusto.
Sähköposti
Voit lähettää tekniset kysymyksesi sähköpostiosoitteeseemme ja saada vastaukset takaisin sähköpostitse, faksilla tai puhelimitse. Lisäksi, jos sinulla on suunnitteluongelmia, voit lähettää suunnittelusi sähköpostitse files saada apua.
Seuraamme sähköpostitiliä jatkuvasti koko päivän. Kun lähetät meille pyyntösi, muista liittää mukaan koko nimesi, yrityksesi nimi ja yhteystietosi pyyntösi tehokkaan käsittelyn varmistamiseksi.
Teknisen tuen sähköpostiosoite on soc_tech@microsemi.com.
Omat tapaukset
Microsemi SoC Products Groupin asiakkaat voivat lähettää ja seurata teknisiä tapauksia verkossa osoitteessa Omat tapaukset.
Yhdysvaltojen ulkopuolella
Asiakkaat, jotka tarvitsevat apua Yhdysvaltojen aikavyöhykkeiden ulkopuolella, voivat ottaa yhteyttä tekniseen tukeen sähköpostitse (soc_tech@microsemi.com) tai ota yhteyttä paikalliseen myyntitoimistoon. Myyntitoimistojen tiedot löytyvät osoitteesta www.microsemi.com/soc/company/contact/default.aspx.
ITAR:n tekninen tuki
Jos tarvitset teknistä tukea RH- ja RT FPGA:ille, joita säätelevät kansainväliset aseliikennesäännöt (ITAR), ota meihin yhteyttä soc_tech_itar@microsemi.com. Vaihtoehtoisesti voit valita Omat tapaukset -kohdan avattavasta ITAR-luettelosta Kyllä. Täydellinen luettelo ITAR-säädellyistä Microsemi FPGA:ista on ITAR-sivustolla web sivu.
Microsemi Corporation (NASDAQ: MSCC) tarjoaa kattavan valikoiman puolijohderatkaisuja: ilmailu, puolustus ja turvallisuus; yritys ja viestintä; sekä teollisuuden ja vaihtoehtoisten energian markkinoilla. Tuotteisiin kuuluvat korkean suorituskyvyn ja luotettavat analogiset ja RF-laitteet, integroidut signaali- ja RF-piirit, mukautettavat SoC:t, FPGA:t ja täydelliset alijärjestelmät. Microsemin pääkonttori sijaitsee Aliso Viejossa, Kaliforniassa. Lisätietoja on osoitteessa www.microsemi.com.
© 2014 Microsemi Corporation. Kaikki oikeudet pidätetään. Microsemi ja Microsemi-logo ovat Microsemi Corporationin tavaramerkkejä. Kaikki muut tavaramerkit ja palvelumerkit ovat omistajiensa omaisuutta.
5-02-00384-1/08.14Microsemin pääkonttori
One Enterprise, Aliso Viejo CA 92656 USA
USA:ssa: +1 949-380-6100
Myynti: +1 949-380-6136
Faksi: +1 XNUMX XNUMX XNUMX 949-215-4996
Asiakirjat / Resurssit
![]() |
Microsemi SmartFusion2 DDR-ohjain ja Serial High Speed Controller [pdfKäyttöopas SmartFusion2 DDR-ohjain ja Serial High Speed Controller, SmartFusion2 DDR, Ohjain ja Serial High Speed Controller, High Speed Controller |