SmartFusion2
DDR vezérlő és soros nagy sebességű vezérlő
Inicializálás módszertana
Felhasználói kézikönyv
Bevezetés
Amikor SmartFusion2 eszközzel hoz létre tervet, ha a két DDR-vezérlő (FDDR vagy MDDR) egyikét vagy a SERDESIF (Serial High speed controller) blokkok valamelyikét használja, akkor futás közben inicializálnia kell ezeknek a blokkoknak a konfigurációs regisztereit. használhatók. PlampLe, a DDR vezérlőnél be kell állítani a DDR módot (DDR3/DDR2/LPDDR), a PHY szélességet, a sorozatfelvételi módot és az ECC-t.
Hasonlóképpen, a PCIe-végpontként használt SERDESIF blokk esetében a PCIE BAR-t AXI (vagy AHB) ablakra kell állítani.
Ez a dokumentum leírja a Libero terv létrehozásához szükséges lépéseket, amely automatikusan inicializálja a DDR vezérlőt és a SERDESIF blokkokat bekapcsoláskor. Azt is leírja, hogyan kell előállítani a firmware kódot a Libero SOC-ból, amelyet a beágyazott tervezési folyamatban használnak.
Először a műveletelmélet részletes leírását adjuk meg.
A következő rész leírja, hogyan hozhat létre egy ilyen kialakítást a Libero SoC System Builder segítségével, amely egy hatékony tervezőeszköz, amely egyéb funkciók mellett létrehozza az „inicializálási” megoldást, ha DDR vagy SERDESIF blokkokat használ a tervezésben.
A következő rész leírja, hogyan állíthat össze egy teljes „inicializálási” megoldást a SmartFusion2 System Builder használata nélkül. Ez segít elmagyarázni, mit kell tenni, ha nem kívánja használni a System Buildert, és azt is leírja, hogy a System Builder eszköz valójában mit generál az Ön számára. Ez a rész a következőkkel foglalkozik:
- A DDR vezérlő és a SERDESIF konfigurációs regiszterek konfigurációs adatainak létrehozása
- A konfigurációs adatok különböző ASIC konfigurációs regiszterekbe történő átviteléhez szükséges FPGA logika létrehozása
Végül leírjuk a generált files ehhez kapcsolódik:
- Firmware „inicializálási” megoldás létrehozása.
- A DDR „inicializálási” megoldás tervezésének szimulációja.
A DDR vezérlővel és a SERDESIF konfigurációs regiszterekkel kapcsolatos részletekért tekintse meg a Microsemi SmartFusion2 nagy sebességű soros és DDR interfészek használati útmutatója.
Működéselmélet
A perifériás inicializálási megoldás a következő fő összetevőket használja:
- A CMSIS SystemInit() függvény, amely a Cortex-M3-on fut, és levezényli az inicializálási folyamatot.
- A CoreConfigP soft IP mag, amely inicializálja a perifériák konfigurációs regisztereit.
- A CoreResetP soft IP mag, amely kezeli az MSS, DDR vezérlők és SERDESIF blokkok visszaállítási sorrendjét.
A periféria inicializálási folyamata a következőképpen működik:
- Visszaállításkor a Cortex-M3 a CMSIS SystemInit() függvényt futtatja. Ez a függvény automatikusan végrehajtásra kerül az alkalmazás main() függvényének végrehajtása előtt.
Az MSS_HPMS_READY CoreResetP kimeneti jel az inicializálási folyamat elején érvényesül, jelezve, hogy az MSS és az összes periféria (az MDDR kivételével) készen áll a kommunikációra. - A SystemInit() függvény konfigurációs adatokat ír a DDR vezérlőkbe és a SERDESIF konfigurációs regiszterekbe az MSS FIC_2 APB3 buszon keresztül. Ez az interfész az FPGA-szövetben példányosított lágy CoreConfigP maghoz csatlakozik.
- Az összes regiszter konfigurálása után a SystemInit() függvény a CoreConfigP vezérlőregiszterekbe ír, jelezve a regiszter konfigurációs fázisának befejezését; a CoreConfigP CONFIG1_DONE és CONIG2_DONE kimeneti jelei ezután érvényesülnek.
A regiszterkonfigurációnak két fázisa van (CONFIG1 és CONFIG2) a tervezésben használt perifériáktól függően. - Ha az MDDR/FDDR egyikét vagy mindkettőt használja, és a SERDESIF blokkok egyikét sem használják a tervezésben, akkor csak egy regiszterkonfigurációs fázis van. A CoreConfigP CONFIG1_DONE és CONIG2_DONE kimeneti jelei várakozás/késleltetés nélkül egymás után érvényesülnek.
Ha egy vagy több SERDESIF blokkot nem PCIe módban használnak a tervezésben, akkor a regiszterkonfigurációnak csak egy fázisa van. A CONFIG1_DONE és a CONIG2_DONE egymás után, várakozás/késés nélkül érvényesül.
Ha egy vagy több SERDESIF blokkot PCIe módban használnak a tervezésben, akkor a regiszterkonfiguráció két fázisa van. A CONFIG1_DONE a regiszterkonfiguráció első fázisának befejezése után érvényesül. Ebben a fázisban konfigurálják a SERDESIF rendszert és a sávregisztereket. Ha a SERDESIF nem PCIE módban van konfigurálva, akkor a CONFIG2_DONE jel is azonnal érvényesül. - Ezután a regiszterkonfiguráció második fázisa következik (ha a SERDESIF PCIE módban van konfigurálva). Az alábbiakban felsoroljuk a különböző eseményeket, amelyek a második fázisban történnek:
– A CoreResetP hatástalanítja a PHY_RESET_N és CORE_RESET_N jeleket az egyes használt SERDESIF blokkoknak megfelelően. Az összes SERDESIF blokk alaphelyzetbe állítása után egy SDIF_RELEASED kimeneti jelet is érvényesít. Ez az SDIF_RELEASED jel arra szolgál, hogy jelezze a CoreConfigP számára, hogy a SERDESIF mag nincs visszaállítva, és készen áll a regiszterkonfiguráció második fázisára.
– Amint az SDIF_RELEASED jel érvényesül, a SystemInit() függvény elkezdi lekérdezni a PMA_READY érvényesítését a megfelelő SERDESIF sávon. A PMA_READY érvényesítése után a SERDESIF regiszterek (PCIE regiszterek) második készletét a SystemInit() függvény konfigurálja/írja. - Az összes PCIE regiszter konfigurálása után a SystemInit() függvény a CoreConfigP vezérlőregiszterekbe ír, jelezve a regiszterkonfiguráció második fázisának befejezését; a CoreConfigP CONIG2_DONE kimeneti jel ekkor érvényesül.
- A fenti jelérvényesítések/érvénytelenítések mellett a CoreResetP a különböző blokkok inicializálását is kezeli a következő funkciók végrehajtásával:
– Az FDDR mag visszaállításának visszavonása
– A SERDESIF blokkok érvényesítésének visszavonása a PHY és a CORE visszaállításokat
– Az FDDR PLL (FPLL) zárjel figyelése. Az FPLL-nek zárolva kell lennie, hogy az FDDR AXI/AHBLite adatinterfész és az FPGA-szövet megfelelően kommunikálhasson.
– A SERDESIF blokk PLL (SPLL) zárjeleinek figyelése. Az SPLL-nek zárolva kell lennie annak biztosítására, hogy a SERDESIF blokkoló AXI/AHBLite interfész (PCIe mód) vagy XAUI interfész megfelelően tudjon kommunikálni az FPGA szövettel.
– Várakozás, amíg a külső DDR memóriák rendeződnek, és készen állnak a DDR vezérlők általi elérésre. - Amikor az összes periféria befejezte az inicializálást, a CoreResetP érvényesíti az INIT_DONE jelet; ekkor érvényesül a CoreConfigP belső INIT_DONE regiszter.
Ha az MDDR/FDDR egyikét vagy mindkettőt használja, és eléri a DDR inicializálási idejét, a CoreResetP DDR_READY kimeneti jele érvényesül. Ennek a DDR_READY jelnek az érvényesülése figyelhető annak jelzéseként, hogy a DDR (MDDR/FDDR) készen áll a kommunikációra.
Ha egy vagy több SERDESIF blokkot használnak, és a regiszterkonfiguráció második fázisa sikeresen befejeződött, a CoreResetP SDIF_READY kimeneti jele érvényesül. Ennek az SDIF_READY jelnek az érvényesülése figyelhető annak jelzéseként, hogy az összes SERDESIF blokk készen áll a kommunikációra. - A SystemInit() függvény, amely az INIT_DONE érvényesítésére várt, befejeződik, és az alkalmazás main() függvénye végrehajtódik. Ekkor már az összes használt DDR vezérlőt és SERDESIF blokkot inicializálták, és a firmware alkalmazás és az FPGA szövet logika megbízhatóan tud velük kommunikálni.
Az ebben a dokumentumban leírt módszertan arra támaszkodik, hogy a Cortex-M3 végrehajtja az inicializálási folyamatot az alkalmazás fő()funkciója előtt végrehajtott rendszerinicializálási kód részeként.
Az FDDR/MDDR, a SEREDES (nem PCIe mód) és a SERDES (PCIe mód) inicializálási lépéseit lásd az 1-1., 1-2. és 1-3. ábrán látható folyamatábrákban.
Az 1-4. ábra a periféria inicializálásának idődiagramját mutatja.
![]() |
![]() |
1-3 ábra • SERDESIF (PCIe) inicializálási folyamatábra
Az ebben a dokumentumban leírt inicializálási eljárás megköveteli a Cortex-M3 futtatását az inicializálási folyamat során, még akkor is, ha nem tervez kódot futtatni a Cortex-M3-on. Létre kell hoznia egy alapvető firmware-alkalmazást, amely nem csinál semmit (egy egyszerű hurok, plample), és töltse be a végrehajtható fájlt a beágyazott nem felejtő memóriába (eNVM), így a DDR-vezérlők és a SERDESIF blokkok inicializálódnak a Cortex-M3 rendszerindításakor.
A System Builder használata terv létrehozásához DDR és SERDESIF blokkokkal
A SmartFusion2 System Builder egy hatékony tervezőeszköz, amely segít a rendszerszintű követelmények rögzítésében, és az ezeket a követelményeket megvalósító terveket készít. A System Builder nagyon fontos funkciója a Periféria inicializálási alrendszer automatikus létrehozása. A “SmartDesign használata terv létrehozásához DDR és SERDESIF blokkok használatával” oldalszám: 17 részletesen leírja, hogyan lehet ilyen megoldást létrehozni a System Builder nélkül.
Ha System Buildert használ, a következő feladatokat kell végrehajtania egy olyan terv létrehozásához, amely inicializálja a DDR-vezérlőket és a SERDESIF-blokkokat bekapcsoláskor:
- Az Eszköz tulajdonságai oldalon (2-1. ábra) adja meg, hogy mely DDR-vezérlőket használja, és hány SERDESIF blokkot használ a tervezésben.
- A Memória oldalon adja meg a DDR típusát (DDR2/DDR3/LPDDR) és a külső DDR-memóriák konfigurációs adatait. A részletekért lásd a Memória oldal részt.
- A Perifériák oldalon adja hozzá az AHBLite/AXI-ként konfigurált szövetmestereket a Fabric DDR alrendszerhez és/vagy az MSS DDR FIC alrendszerhez (opcionális).
- Az Órabeállítások oldalon adja meg a DDR-alrendszerek órajel-frekvenciáját.
- Töltse ki a tervezési specifikációt, és kattintson a Befejezés gombra. Ez generálja a System Builder által készített tervet, beleértve az „inicializálási” megoldáshoz szükséges logikát.
- Ha SERDESIF blokkokat használ, akkor példányosítania kell a SERDESIF blokkokat a tervben, és össze kell kötnie azok inicializálási portjait a System Builder által generált mag portjaival.
A System Builder eszköz jellemzőinek oldala
Az Eszköz tulajdonságai oldalon adja meg, hogy mely DDR-vezérlőket (MDDR és/vagy FDDR) használja, és hány SERDESIF blokkot használ a tervezésben (2-1. ábra).
2-1. ábra • A System Builder eszköz jellemzőinek oldala
System Builder memóriaoldal
Az MSS DDR (MDDR) vagy Fabric DDR (FDDR) használatához válassza ki a Memóriatípust a legördülő listából (2-2. ábra).
2-2 ábra • MSS külső memória
A következőket kell tennie:
- Válassza ki a DDR típusát (DDR2, DDR3 vagy LPDDR).
- Határozza meg a DDR memória beállítási idejét. A megfelelő memóriabeállítási idő beállításához tekintse meg a külső DDR memória specifikációit. Előfordulhat, hogy a DDR-memória inicializálása sikertelen, ha a memóriabeállítási idő nincs megfelelően beállítva.
- Importálja a DDR-regiszter konfigurációs adatait, vagy állítsa be a DDR-memória paramétereit. A részletekért lásd a Microsemi SmartFusion2 nagy sebességű soros és DDR interfészek használati útmutatója.
Ezeket az adatokat a BFM DDR-regiszter és a firmware-konfiguráció létrehozására használják files a „Firmware alkalmazás létrehozása és fordítása” oldalszám: 26 és „BFM” részben leírtak szerint. Files A tervezés szimulálására használatos” oldalszám: 27. A DDR-vezérlő konfigurációs regisztereivel kapcsolatos részletekért lásd: Microsemi SmartFusion2 nagy sebességű soros és DDR interfészek használati útmutatója.
Egy voltampa konfiguráció le file szintaxisát a 2-3 ábra mutatja. Az ebben használt regiszternevek file pontban leírtakkal megegyeznek Microsemi SmartFusion2 nagy sebességű soros és DDR interfészek használati útmutatója
2-3 ábra • Konfiguráció File Szintaxis plample
A System Builder perifériák oldala
A Perifériák oldalon minden DDR-vezérlőhöz külön alrendszer jön létre (Fabric DDR alrendszer az FDDR-hez és MSS DDR FIC-alrendszer az MDDR-hez). Mindegyik alrendszerhez hozzáadhat egy Fabric AMBA Master (AXI/AHBLite-ként konfigurált) magot, hogy lehetővé tegye a szöveti mester hozzáférést a DDR-vezérlőkhöz. Generáláskor a System Builder automatikusan példányosítja a buszmagokat (a hozzáadott AMBA Master típusától függően), és a buszmag master BIF-jét, valamint a megfelelő alrendszerek (FDDR/MDDR) órajelét és alaphelyzetbe állító lábait a megfelelő érintkezőcsoportok alatt teszi közzé. tetejére. Mindössze annyit kell tennie, hogy csatlakoztatja a BIF-eket a megfelelő Fabric Master magokhoz, amelyeket a tervezésben példányosítana. MDDR esetén opcionális Fabric AMBA Master mag hozzáadása az MSS DDR FIC alrendszerhez; A Cortex-M3 alapértelmezett mester ezen az alrendszeren. A 2-4. ábra a System Builder perifériák oldalát mutatja.
2-4 ábra • A System Builder perifériák oldala
A System Builder óra beállítási oldala
Az Órabeállítások oldalon minden DDR-vezérlőhöz meg kell adnia az egyes DDR- (MDDR és/vagy FDDR) alrendszerekhez kapcsolódó órajel-frekvenciákat.
MDDR esetén meg kell adnia:
- MDDR_CLK – Ez az óra határozza meg a DDR-vezérlő működési frekvenciáját, és meg kell egyeznie azzal az órafrekvenciával, amelyen a külső DDR-memóriát szeretné futtatni. Ez az óra az M3_CLK (Cortex-M3 és MSS főóra, 2-5. ábra) többszöröseként van definiálva. Az MDDR_CLK-nak 333 MHz-nél kisebbnek kell lennie.
- DDR_FIC_CLK – Ha úgy döntött, hogy az MDDR-t az FPGA-szövetből is eléri, meg kell adnia a DDR_FIC_CLK-t. Ez az órafrekvencia az MDDR_CLK arányaként van meghatározva, és meg kell egyeznie azzal a frekvenciával, amelyen az MDDR-t elérő FPGA szövet alrendszer fut.
2-5 ábra • Cortex-M3 és MSS főóra; MDDR órák
FDDR esetén meg kell adnia:
- FDDR_CLK – Meghatározza a DDR-vezérlő működési frekvenciáját, és meg kell egyeznie azzal az órafrekvenciával, amelyen a külső DDR-memóriát szeretné futtatni. Vegye figyelembe, hogy ez az óra az M3_CLK többszöröseként van definiálva (MSS és Cortex-M3 óra, 2-5. ábra). Az FDDR_CLK értékének 20 MHz és 333 MHz között kell lennie.
- FDDR_SUBSYSTEM_CLK – Ez az órafrekvencia az FDDR_CLK arányaként van meghatározva, és meg kell egyeznie azzal a frekvenciával, amelyen az FDDR-t elérő FPGA szövet alrendszer fut.
2-6 ábra • Szövet DDR órák
SERDESIF konfiguráció
A SERDESIF blokkok nincsenek példányosítva a System Builder által generált tervben. Az összes SERDESIF blokk esetében azonban az inicializálási jelek elérhetők a System Builder mag interfészén, és a hierarchia következő szintjén lévő SERDESIF magokhoz csatlakoztathatók, amint az a 2-7. ábrán látható.2-7 ábra • SERDESIF perifériális inicializálási kapcsolat
A DDR konfigurációs regiszterekhez hasonlóan minden SERDES blokknak is vannak konfigurációs regiszterei, amelyeket futás közben kell betölteni. Importálhatja ezeket a regiszterértékeket, vagy használhatja a High Speed Serial Interface Configurator programot (2-8. ábra) a PCIe vagy EPCS paraméterek megadásához, és a regiszterértékek automatikusan kiszámításra kerülnek. A részletekért lásd a SERDES Configurator felhasználói kézikönyv.2-8. ábra • Nagy sebességű soros interfész konfigurátor
Miután integrálta felhasználói logikáját a System Builder blokkkal és a SERDES blokkkal, előállíthatja a legfelső szintű SmartDesign-t. Ez generálja az összes HDL-t és BFM-et files amelyek szükségesek a tervezés megvalósításához és szimulálásához. Ezután folytathatja a tervezési folyamat többi részét.
A SmartDesign használata terv létrehozásához DDR és SERDESIF blokkokkal
Ez a rész leírja, hogyan állíthat össze egy teljes „inicializálási” megoldást a SmartFusion2 System Builder használata nélkül. A cél az, hogy segítsen megérteni, mit kell tennie, ha nem kívánja használni a System Buildert. Ez a szakasz azt is leírja, hogy valójában mit generál a System Builder eszköz az Ön számára. Ez a szakasz a következőket írja le:
- Adja meg a konfigurációs adatokat a DDR vezérlőhöz és a SERDESIF konfigurációs regiszterekhez.
- Példányosítsa és csatlakoztassa a konfigurációs adatok DDR-vezérlőkhöz és SERDESIF konfigurációs regiszterekhez való átviteléhez szükséges Fabric Core-okat.
DDR-vezérlő konfigurációja
Az MSS DDR (MDDR) és Fabric DDR (FDDR) vezérlőket dinamikusan (futás közben) kell konfigurálni, hogy megfeleljenek a külső DDR memória konfigurációs követelményeinek (DDR mód, PHY szélesség, sorozatfelvétel mód, ECC stb.). Az MDDR/FDDR konfigurátorba bevitt adatokat a CMSIS SystemInit() függvény írja be a DDR vezérlő konfigurációs regisztereibe. A Configurator három különböző lappal rendelkezik a különböző típusú konfigurációs adatok megadásához:
- Általános adatok (DDR mód, adatszélesség, órajel frekvencia, ECC, szövet interfész, meghajtó erőssége)
- Memória inicializálási adatok (sorozatsorozat hossza, sorozatfelvétel sorrendje, időzítési mód, késleltetés stb.)
- Memória időzítési adatok
Tekintse meg a külső DDR-memória műszaki adatait, és állítsa be a DDR-vezérlőt a külső DDR-memória követelményeinek megfelelően.
A DDR konfigurációval kapcsolatos részletekért lásd a SmartFusion2 MSS DDR konfigurációs felhasználói kézikönyv.
SERDESIF konfiguráció
Kattintson duplán a SERDES blokkra a SmartDesign vásznon a Konfigurátor megnyitásához a SERDES konfigurálásához (3-1. ábra). Ezeket a regiszterértékeket importálhatja, vagy a SERDES konfigurátorral megadhatja a PCIe vagy EPCS paramétereit, és a regiszterértékek automatikusan kiszámításra kerülnek. A részletekért lásd a SERDES Configurator felhasználói kézikönyv.3-1. ábra • Nagy sebességű soros interfész konfigurátor
Az FPGA tervezési inicializálási alrendszer létrehozása
A DDR és SERDESIF blokkok inicializálásához létre kell hoznia az inicializálási alrendszert az FPGA szövetben. Az FPGA szövet inicializálási alrendszer áthelyezi az adatokat a Cortex-M3-ból a DDR és SERDESIF konfigurációs regiszterekbe, kezeli a blokkok működéséhez szükséges alaphelyzetbe állítási szekvenciákat, és jelzi, ha ezek a blokkok készen állnak a kommunikációra a terv többi részével. Az inicializálási alrendszer létrehozásához a következőket kell tennie:
- A FIC_2 konfigurálása az MSS-en belül
- Példányosítsa és konfigurálja a CoreConfigP és CoreResetP magokat
- Példányosítsa a chipen lévő 25/50 MHz-es RC oszcillátort
- Példányosítsa a System Reset (SYSRESET) makrót
- Csatlakoztassa ezeket az összetevőket az egyes perifériák konfigurációs interfészeihez, óráihoz, alaphelyzetbe állításához és PLL zár portjaihoz
MSS FIC_2 APB konfiguráció
Az MSS FIC_2 konfigurálása:
- Nyissa meg a FIC_2 konfigurátor párbeszédpanelt az MSS konfigurátorból (3-2. ábra).
- Válassza a Perifériák inicializálása a Cortex-M3 segítségével lehetőséget.
- A rendszertől függően jelölje be az alábbi jelölőnégyzetek egyikét vagy mindkettőt:
– MSS DDR
– Szövet DDR és/vagy SERDES blokkok - Kattintson az OK gombra, és folytassa az MSS létrehozásával (ezt a műveletet elhalaszthatja, amíg az MSS-t teljesen be nem állítja a tervezési követelményeknek megfelelően). A FIC_2 portok (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK és FIC_2_APB_M_RESET_N) most megjelennek az MSS interfészen, és csatlakoztathatók a CoreConfigP és CoreResetP magokhoz.
3-2. ábra • MSS FIC_2 konfigurátor
CoreConfigP
A CoreConfigP konfigurálása:
- Példányosítsa a CoreConfigP-t a SmartDesign-ba (általában abba, ahol az MSS példányosodik).
Ez a mag a Libero katalógusban található (a Perifériák alatt). - A konfigurátor megnyitásához kattintson duplán a magra.
- Konfigurálja a magot, hogy megadja, mely perifériákat kell inicializálni (3-3. ábra)
3-3. ábra • CoreConfigP párbeszédpanel
CoreResetP
A CoreResetP konfigurálása:
- Példányosítsa a CoreResetP-t a SmartDesign-ba (általában abba, ahol az MSS példányosodik).
Ez a mag a Libero katalógusban, a Perifériák alatt található. - Kattintson duplán a SmartDesign Canvas belsejében lévő magra a Configurator megnyitásához (3-4. ábra).
- Állítsa be a magot a következőkre:
– Adja meg a külső visszaállítási viselkedést (EXT_RESET_OUT érvényesítve). Válasszon egyet a négy lehetőség közül:
o Az EXT_RESET_OUT soha nem érvényesül
o Az EXT_RESET_OUT érvényes, ha a bekapcsolási visszaállítás (POWER_ON_RESET_N) érvényesül
o EXT_RESET_OUT érvényesül, ha a FAB_RESET_N érvényes
o EXT_RESET_OUT érvényesül, ha a tápfeszültség visszaállítása (POWER_ON_RESET_N) vagy FAB_RESET_N érvényes
– Adja meg a Device Voltage. A kiválasztott értéknek meg kell egyeznie a voltagA Libero Project Settings párbeszédpanelen kiválasztotta.
– Jelölje be a megfelelő jelölőnégyzeteket, hogy jelezze, mely perifériákat használja a tervezéshez.
– Adja meg a külső DDR memória beállítási idejét. Ez az alkalmazásban használt összes DDR-memória (MDDR és FDDR) maximális értéke. A paraméter konfigurálásához tekintse meg a külső DDR memória gyártójának adatlapját. A 200us jó alapértelmezett érték a 2 MHz-en működő DDR3 és DDR200 memóriákhoz. Ez egy nagyon fontos paraméter a működő szimuláció és a szilíciumon működő rendszer garantálásához. A beállítási idő helytelen értéke szimulációs hibákat eredményezhet. A paraméter konfigurálásához tekintse meg a DDR memória gyártó adatlapját.
– A terv minden egyes SERDES blokkjához jelölje be a megfelelő négyzeteket, hogy jelezze, hogy:
o PCIe-t használnak
o A PCIe Hot Reset támogatása szükséges
o A PCIe L2/P2 támogatása szükséges
Jegyzet: Ha a 090-es szerszámot (M2S090) használja, és a tervezése SERDESIF-et használ, akkor nem kell bejelölnie a következő jelölőnégyzeteket: „PCIe-hez használt”, „PCIe HotReset támogatással” és „PCIe L2/P2 támogatással”. Ha nem 090-es eszközt használ, és egy vagy több SERDESIF blokkot használ, be kell jelölnie mind a négy jelölőnégyzetet a megfelelő SERDESIF szakaszban.
Jegyzet: A konfigurátorban elérhető opciók részleteit a CoreResetP kézikönyvben találja.
3-4. ábra • CoreResetPConfigurator
25/50 MHz-es oszcillátor példányosítás
A CoreConfigP és CoreResetP órajelét a chipbe épített 25/50 MHz-es RC oszcillátor végzi. Példányosítania kell egy 25/50 MHz-es oszcillátort, és csatlakoztatnia kell ezekhez a magokhoz.
- Példányosítsa a Chip Oszcillátorok magját a SmartDesign-ba (általában abba, ahol az MSS példányosodik). Ez a mag megtalálható a Libero katalógusban, az Óra és kezelés alatt.
- Konfigurálja ezt a magot úgy, hogy az RC oszcillátor vezérelje az FPGA szövetet, amint az a 3-5. ábrán látható.
3-5 ábra • Chip Oszcillátorok Konfigurátor
Rendszer-visszaállítás (SYSRESET) példányosítás
A SYSRESET makró eszközszintű visszaállítási funkciót biztosít a tervezéshez. A POWER_ON_RESET_N kimeneti jel érvényesítésre kerül/megszüntetésre kerül, amikor a chipet bekapcsolják, vagy a DEVRST_N külső érintkezőt aktiválják/kikapcsolják (3-6. ábra).
Példányosítsa a SYSRESET makrót a SmartDesign-ba (általában abba, ahol az MSS példányosodik). Ez a makró megtalálható a Libero katalógusban a Macro Library alatt. Ennek a makrónak nincs szükség konfigurálására.
3-6. ábra • SYSRESET makró
Általános kapcsolat
Miután a tervben példányosította és konfigurálta az MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP és CoreResetP magokat, össze kell kapcsolnia őket a periféria inicializálási alrendszerének létrehozásához. A jelen dokumentumban szereplő csatlakozási leírás egyszerűsítése érdekében a CoreConfigP-vel és a CoreResetP-vel kapcsolatos kapcsolatokhoz társított APB3-kompatibilis konfigurációs adatút-kapcsolatokra bontjuk.
Konfigurációs adatút-kapcsolat
A 3-7. ábra bemutatja, hogyan csatlakoztassa a CoreConfigP-t az MSS FIC_2 jelekhez és a perifériák APB3-kompatibilis konfigurációs interfészeihez.
3-1. táblázat • Konfigurációs adatút Port/BIF kapcsolatok
TÓL Port/Busz interfész (BIF)/ Komponens |
TO Port/Busz interfész (BIF)/komponens |
||
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 |
3-7. ábra • FIC_2 APB3 alrendszer kapcsolat
Órák és visszaállítja a kapcsolatot
A 3-8. ábra bemutatja, hogyan kell csatlakoztatni a CoreResetP-t a külső visszaállítási forrásokhoz és a perifériák alap-visszaállítási jeleihez. Azt is bemutatja, hogyan csatlakoztassa a CoreResetP-t a perifériák óraszinkronizálási állapotjeleihez (PLL zárjelek). Ezenkívül megmutatja, hogyan csatlakozik a CoreConfigP és a CoreResetP.
3-8. ábra • Core SF2Reset alrendszer kapcsolat
Firmware alkalmazás létrehozása és fordítása
Amikor exportálja a firmware-t a LiberoSoC-ból (Design Flow Window > Firmware exportálása > Firmware exportálása), a Libero a következőt generálja files a /firmware/drivers_config/ sys_config mappa:
- sys_config.c – Tartalmazza a perifériaregiszterek értékeit tároló adatstruktúrákat.
- sys_config.h – Tartalmazza a #define utasításokat, amelyek meghatározzák, hogy mely perifériákat használjuk a tervezésben, és melyeket kell inicializálni.
- sys_config_mddr_define.h – A Regiszterek konfigurációja párbeszédpanelen megadott MDDR-vezérlő konfigurációs adatokat tartalmazza.
- sys_config_fddr_define.h – A Regiszterek konfigurációja párbeszédpanelen megadott FDDR-vezérlő konfigurációs adatokat tartalmazza.
- sys_config_mss_clocks.h – Ezt file tartalmazza az MSS CCC konfigurátorban meghatározott MSS órajel-frekvenciákat. Ezeket a frekvenciákat a CMSIS kód arra használja, hogy helyes órainformációt biztosítson számos MSS-illesztőprogram számára, amelyeknek hozzá kell férniük a perifériás órajel (PCLK) frekvenciájához (pl. az MSS UART adatátviteli sebesség osztói az átviteli sebesség és a PCLK frekvencia függvényei. ).
- sys_config_SERDESIF_ .c – Tartalmazza a SERDESIF_ a SERDESIF_ során megadott konfigurációs adatok regisztrálása blokkkonfiguráció a tervezés létrehozásában.
- sys_config_SERDESIF_ .h – Tartalmazza a #define utasításokat, amelyek meghatározzák a regiszter konfigurációs párok számát és a sáv számát, amelyet le kell kérni a PMA_READY-hez (csak PCIe módban).
Ezek files szükséges ahhoz, hogy a CMSIS kód megfelelően lehessen fordítani, és információkat tartalmazzon az aktuális tervről, beleértve a periféria konfigurációs adatokat és az MSS óra konfigurációs adatait.
Ezeket ne szerkessze files manuálisan; a megfelelő komponens/periféria könyvtárakba jönnek létre minden alkalommal, amikor a megfelelő perifériákat tartalmazó SmartDesign komponensek létrejönnek. Ha a perifériák bármelyikének konfigurációs adataiban bármilyen változás történik, akkor újra kell exportálnia a firmware projekteket, hogy a frissített firmware files (lásd a fenti listát) exportálják a / firmware/drivers_config/sys_config mappát.
A firmware exportálásakor a Libero SoC létrehozza a firmware projekteket: egy könyvtárat, ahol a tervezési konfigurációt tartalmazza files és illesztőprogramokat állítanak össze.
Ha bejelöli a Projekt létrehozása lehetőséget jelölőnégyzet a firmware exportálásakor egy szoftveres SoftConsole/IAR/Keil projekt jön létre az alkalmazásprojekt tárolására, ahol szerkesztheti a main.c fájlt és a felhasználói C/H fájlt. files. Nyissa meg a SoftConSole/IAR/Keil projektet a CMSIS kód megfelelő fordításához, és a firmware-alkalmazás megfelelő konfigurálásához, hogy megfeleljen a hardver kialakításának.
BFM Files A tervezés szimulálására szolgál
Amikor létrehozza a tervezéshez társított perifériákat tartalmazó SmartDesign komponenseket, a szimuláció fileA megfelelő perifériáknak megfelelő s generálódik a /szimulációs könyvtár:
- teszt.bfm – Felső szintű BFM file amely a SmartFusion2 MSS Cortex-M3 processzort gyakorló szimuláció során először kerül végrehajtásra. A peripheral_init.bfm és a user.bfm fájlokat ebben a sorrendben hajtja végre.
- MDDR_init.bfm – Ha a terv MDDR-t használ, a Libero generálja ezt file; BFM írási parancsokat tartalmaz, amelyek szimulálják az MSS DDR konfigurációs regiszter adatainak beírását (a Regiszterek szerkesztése párbeszédpanelen vagy az MSS_MDDR GUI-ban) az MSS DDR vezérlő regisztereibe.
- FDDR_init.bfm – Ha a terv FDDR-t használ, a Libero generálja ezt file; BFM írási parancsokat tartalmaz, amelyek szimulálják a Fabric DDR konfigurációs regiszter adatainak beírását (a Regiszterek szerkesztése párbeszédpanelen vagy az FDDR GUI-ban) a Fabric DDR vezérlő regisztereibe.
- SERDESIF_ _init.bfm – Ha a terv egy vagy több SERDESIF blokkot használ, a Libero generálja ezt file mindegyik SERDESIF_ használt blokkok; olyan BFM írási parancsokat tartalmaz, amelyek szimulálják az Ön által megadott SERDESIF konfigurációs regiszter adatok írását (a Regiszterek szerkesztése párbeszédpanelen vagy a SERDESIF_ GUI) a SERDESIF_ regisztereket. Ha a SERDESIF blokk PCIe-ként van konfigurálva, akkor ez file is rendelkezik néhány #define utasítással, amelyek a 2 regiszter konfigurációs fázisának tökéletes sorrendben történő végrehajtását szabályozzák.
- user.bfm – Tartalmazza a felhasználói parancsokat. Ezek a parancsok a peripheral_init.bfm befejezése után kerülnek végrehajtásra. Szerkessze ezt file a BFM-parancsok megadásához.
- SERDESIF_ _user.bfm – Tartalmazza a felhasználói parancsokat. Szerkessze ezt file a BFM-parancsok megadásához. Használja ezt, ha beállította a SERDESIF_ blokk BFM PCIe szimulációs módban és AXI/AHBLite masterként. Ha beállította a SERDESIF_ blokk RTL szimulációs módban, erre nem lesz szüksége file.
Amikor minden alkalommal meghívja a szimulációt, a következő két szimuláció files újra létrejönnek a /szimulációs könyvtár frissített tartalommal:
- alrendszer.bfm – Tartalmazza a #define utasításokat a tervezésben használt minden egyes perifériához, amelyek meghatározzák a peripheral_init.bfm fájlnak az egyes perifériáknak megfelelő végrehajtandó szakaszát.
- operipheral_init.bfm – Tartalmazza a BFM eljárást, amely emulálja a CMSIS:: SystemInit() függvényt, amely fut a Cortex-M3-on, mielőtt belépne a main() eljárásba. A tervezésben használt bármely periféria konfigurációs adatait átmásolja a megfelelő periféria-konfigurációs regiszterekbe, majd megvárja, amíg az összes periféria készen áll, mielőtt kijelenti, hogy használhatja ezeket a perifériákat. Az MDDR_init.bfm és az FDDR_init.bfm fájlokat hajtja végre.
Ezek felhasználásával generált files, a tervben szereplő DDR-vezérlők automatikusan konfigurálódnak, szimulálva azt, ami egy SmartFusion2 eszközön történne. A user.bfm szerkeszthető file a terv szimulálásához szükséges parancsok hozzáadásához (a Cortex-M3 a mester). Ezek a parancsok a perifériák inicializálása után kerülnek végrehajtásra. Ne szerkessze a test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm fájlokat files és a SERDESIF_ _init.bfm files.
Terméktámogatás
A Microsemi SoC Products Group termékeit különféle támogatási szolgáltatásokkal támogatja, beleértve az Ügyfélszolgálatot, az Ügyfél műszaki támogatási központját, stb webwebhely, elektronikus levelezés és világszerte működő értékesítési irodák.
Ez a függelék információkat tartalmaz a Microsemi SoC Products Group kapcsolatfelvételéről és a támogatási szolgáltatások használatáról.
Ügyfélszolgálat
Lépjen kapcsolatba az Ügyfélszolgálattal a nem műszaki terméktámogatásért, mint például a termékárak, a termékfrissítések, a frissítési információk, a rendelés állapota és az engedélyezés.
Észak-Amerikából hívjon 800.262.1060
A világ többi részéről hívjon 650.318.4460
Fax a világ bármely pontjáról, 408.643.6913
Ügyfél technikai támogatási központ
A Microsemi SoC Products Group Ügyfélszolgálati Központjában magasan képzett mérnökök dolgoznak, akik segítenek megválaszolni a Microsemi SoC termékekkel kapcsolatos hardver-, szoftver- és tervezési kérdéseit. Az Ügyfél műszaki támogatási központja sok időt tölt az alkalmazási megjegyzések, a tervezési ciklus gyakori kérdéseinek megválaszolásával, az ismert problémák dokumentálásával és a különféle GYIK-ekkel. Ezért, mielőtt kapcsolatba lép velünk, kérjük, keresse fel online forrásainkat. Nagyon valószínű, hogy már válaszoltunk a kérdéseire.
Műszaki támogatás
Keresse fel az Ügyfélszolgálatot webwebhely (www.microsemi.com/soc/support/search/default.aspx) további információkért és támogatásért. Sok válasz elérhető a kereshető oldalon web Az erőforrás diagramokat, illusztrációkat és más forrásokra mutató hivatkozásokat tartalmaz a webhelyen webtelek.
Webtelek
Különféle műszaki és nem műszaki információk között böngészhet a SoC honlapján, a címen www.microsemi.com/soc.
Lépjen kapcsolatba az Ügyfél műszaki támogatási központjával
Magasan képzett mérnökök dolgoznak a műszaki támogatási központban. A Technikai Támogatási Központ e-mailben vagy a Microsemi SoC termékcsoporton keresztül érhető el webtelek.
Email
Technikai kérdéseit e-mail címünkre küldheti, és választ kaphat e-mailben, faxon vagy telefonon. Ezenkívül, ha tervezési problémái vannak, elküldheti e-mailben a tervet files segítséget kapni.
Folyamatosan figyeljük az e-mail fiókot a nap folyamán. Amikor elküldi nekünk kérelmét, kérjük, feltétlenül adja meg teljes nevét, cégnevét és elérhetőségeit a kérelem hatékony feldolgozása érdekében.
A technikai támogatás e-mail címe soc_tech@microsemi.com.
Saját esetek
A Microsemi SoC Products Group ügyfelei online küldhetnek be és nyomon követhetnek műszaki eseteket a címen Saját esetek.
Az USA-n kívül
Azok az ügyfelek, akiknek segítségre van szükségük az Egyesült Államok időzónáin kívül, e-mailben fordulhatnak a technikai támogatáshoz (soc_tech@microsemi.com), vagy lépjen kapcsolatba a helyi értékesítési irodával. Az értékesítési irodák listája a címen található www.microsemi.com/soc/company/contact/default.aspx.
ITAR műszaki támogatás
A Nemzetközi Fegyverforgalmi Szabályzat (ITAR) által szabályozott RH és RT FPGA-kkal kapcsolatos technikai támogatásért lépjen kapcsolatba velünk a következő címen: soc_tech_itar@microsemi.com. Alternatív megoldásként a Saját ügyekben válassza az Igen lehetőséget az ITAR legördülő listából. Az ITAR által szabályozott Microsemi FPGA-k teljes listájáért látogasson el az ITAR oldalra web oldalon.
A Microsemi Corporation (NASDAQ: MSCC) félvezető megoldások átfogó portfólióját kínálja: repülés, védelem és biztonság; vállalkozás és kommunikáció; valamint az ipari és alternatív energiapiacok. A termékek közé tartoznak a nagy teljesítményű, nagy megbízhatóságú analóg és RF eszközök, vegyes jelű és RF integrált áramkörök, testreszabható SoC-k, FPGA-k és teljes alrendszerek. A Microsemi székhelye Aliso Viejoban, Kaliforniában található. További információ: www.microsemi.com.
© 2014 Microsemi Corporation. Minden jog fenntartva. A Microsemi és a Microsemi logó a Microsemi Corporation védjegyei. Minden egyéb védjegy és szolgáltatási védjegy a megfelelő tulajdonosok tulajdona.
5-02-00384-1/08.14Microsemi vállalati központ
One Enterprise, Aliso Viejo CA 92656 USA
Az USA-n belül: +1 949-380-6100
Eladás: +1 949-380-6136
Fax: +1 949-215-4996
Dokumentumok / Források
![]() |
Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő [pdf] Felhasználói útmutató SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő, SmartFusion2 DDR, vezérlő és soros nagy sebességű vezérlő, nagy sebességű vezérlő |