Microsemi logó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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.

Microsemi SmartFusion2 DDR vezérlő és soros nagysebességű vezérlő – időzítési diagram 1 Microsemi SmartFusion2 DDR vezérlő és soros nagysebességű vezérlő – időzítési diagram 2

Microsemi SmartFusion2 DDR vezérlő és soros nagysebességű vezérlő – időzítési diagram 3Microsemi SmartFusion2 DDR vezérlő és soros nagysebességű vezérlő – időzítési diagram 41-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:

  1. 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.
  2. 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.
  3. 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).
  4. Az Órabeállítások oldalon adja meg a DDR-alrendszerek órajel-frekvenciáját.
  5. 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.
  6. 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).

Microsemi SmartFusion2 DDR vezérlő és soros nagysebességű vezérlő – Eszköz jellemzői oldal2-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).

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - külső memória2-2 ábra • MSS külső memória

A következőket kell tennie:

  1. Válassza ki a DDR típusát (DDR2, DDR3 vagy LPDDR).
  2. 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.
  3. 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

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - File Szintaxis plample2-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.

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő – Builder perifériák oldala2-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.

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - MDDR órák2-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.

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - szövet DDR órák2-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ó.Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő – Periféria inicializálási csatlakozás2-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.Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő – soros interfész konfigurátor2-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.Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - nagy sebességű soros interfész konfigurátor3-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:

  1. Nyissa meg a FIC_2 konfigurátor párbeszédpanelt az MSS konfigurátorból (3-2. ábra).
  2. Válassza a Perifériák inicializálása a Cortex-M3 segítségével lehetőséget.
  3. 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
  4. 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.

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - MSS FIC 2 konfigurátor3-2. ábra • MSS FIC_2 konfigurátor

CoreConfigP
A CoreConfigP konfigurálása:

  1. 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).
  2. A konfigurátor megnyitásához kattintson duplán a magra.
  3. Konfigurálja a magot, hogy megadja, mely perifériákat kell inicializálni (3-3. ábra)

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - párbeszédpanel3-3. ábra • CoreConfigP párbeszédpanel

CoreResetP
A CoreResetP konfigurálása:

  1. 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ó.
  2. Kattintson duplán a SmartDesign Canvas belsejében lévő magra a Configurator megnyitásához (3-4. ábra).
  3. Á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.

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - CoreResetPConfigurator3-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.

  1. 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.
  2. 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ó.

Microsemi SmartFusion2 DDR-vezérlő és soros nagysebességű vezérlő - Oszcillátor-konfigurátor3-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.

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - SYSRESET makró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

Microsemi SmartFusion2 DDR vezérlő és soros nagy sebességű vezérlő - alrendszer csatlakoztathatóság3-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.

Microsemi SmartFusion2 DDR-vezérlő és soros nagysebességű vezérlő - alrendszer-csatlakozás 23-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 logóMicrosemi 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ő

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *