Logo MicrosemiSmartFusion2
Ovládač DDR a sériový vysokorýchlostný ovládač
Metodika inicializácie
Používateľská príručka

Úvod

Pri vytváraní návrhu pomocou zariadenia SmartFusion2, ak používate jeden z dvoch radičov DDR (FDDR alebo MDDR) alebo ktorýkoľvek z blokov Serial High speed controller (SERDESIF), musíte pred spustením inicializovať konfiguračné registre týchto blokov. môžu byť použité. NaprampPre ovládač DDR musíte nastaviť režim DDR (DDR3/DDR2/LPDDR), šírku PHY, režim sériového snímania a ECC.
Podobne pre blok SERDESIF používaný ako koncový bod PCIe musíte nastaviť PCIE BAR na okno AXI (alebo AHB).
Tento dokument popisuje kroky potrebné na vytvorenie dizajnu Libero, ktorý automaticky inicializuje radič DDR a bloky SERDESIF pri zapnutí. Tiež popisuje, ako vygenerovať firmvérový kód z Libero SOC, ktorý sa používa v toku vstavaného návrhu.
Najprv je uvedený podrobný popis teórie operácií.
Nasledujúca časť popisuje, ako vytvoriť takýto návrh pomocou Libero SoC System Builder, výkonného dizajnérskeho nástroja, ktorý vám okrem iných funkcií vytvorí „inicializačné“ riešenie, ak vo svojom návrhu používate bloky DDR alebo SERDESIF.
Nasledujúca časť popisuje, ako zostaviť kompletné „inicializačné“ riešenie bez použitia SmartFusion2 System Builder. To vám pomôže vysvetliť, čo je potrebné urobiť, ak nechcete používať System Builder, a tiež popisuje, čo pre vás nástroj System Builder skutočne generuje. Táto sekcia sa zaoberá:

  • Vytvorenie konfiguračných údajov pre radič DDR a konfiguračné registre SERDESIF
  • Vytvorenie logiky FPGA si vyžaduje prenos konfiguračných údajov do rôznych konfiguračných registrov ASIC

Nakoniec popíšeme vygenerované filesúvisí s:

  • Vytvorenie riešenia „inicializácie“ firmvéru.
  • Simulácia návrhu riešenia „inicializácie“ DDR.

Podrobnosti o radiči DDR a konfiguračných registroch SERDESIF nájdete v časti Príručka používateľa vysokorýchlostného sériového a DDR rozhrania Microsemi SmartFusion2.

Teória prevádzky

Inicializačné riešenie periférnych zariadení používa tieto hlavné komponenty:

  • Funkcia CMSIS SystemInit(), ktorá beží na Cortex-M3 a riadi proces inicializácie.
  • CoreConfigP soft IP jadro, ktoré inicializuje konfiguračné registre periférií.
  • CoreResetP soft IP jadro, ktoré spravuje sekvenciu resetovania MSS, DDR radičov a SERDESIF blokov.

Proces inicializácie periférneho zariadenia funguje takto:

  1. Po resetovaní Cortex-M3 spustí funkciu CMSIS SystemInit(). Táto funkcia sa automaticky vykoná pred spustením funkcie main() aplikácie.
    Výstupný signál CoreResetP MSS_HPMS_READY sa aktivuje na začiatku procesu inicializácie, čo znamená, že MSS a všetky periférne zariadenia (okrem MDDR) sú pripravené na komunikáciu.
  2. Funkcia SystemInit() zapisuje konfiguračné údaje do radičov DDR a konfiguračných registrov SERDESIF cez zbernicu MSS FIC_2 APB3. Toto rozhranie je pripojené k mäkkému jadru CoreConfigP vytvorenému v štruktúre FPGA.
  3. Po nakonfigurovaní všetkých registrov funkcia SystemInit() zapíše do riadiacich registrov CoreConfigP, aby indikovala dokončenie fázy konfigurácie registra; potom sa aktivujú výstupné signály CoreConfigP CONFIG1_DONE a CONIG2_DONE.
    Existujú dve fázy konfigurácie registra (CONFIG1 a CONFIG2) v závislosti od periférií použitých v návrhu.
  4. Ak sa použije jeden alebo oba MDDR/FDDR a v návrhu nie je použitý žiadny blok SERDESIF, existuje len jedna fáza konfigurácie registra. Výstupné signály CoreConfigP CONFIG1_DONE a CONIG2_DONE sa aktivujú jeden po druhom bez akéhokoľvek čakania/oneskorenia.
    Ak sa v návrhu použije jeden alebo viac blokov SERDESIF v režime bez PCIe, existuje len jedna fáza konfigurácie registra. CONFIG1_DONE a CONIG2_DONE sa uplatňujú jeden po druhom bez akéhokoľvek čakania/oneskorenia.
    Ak sa v návrhu použije jeden alebo viac blokov SERDESIF v režime PCIe, existujú dve fázy konfigurácie registra. CONFIG1_DONE sa potvrdí po dokončení prvej fázy konfigurácie registra. V tejto fáze sa konfiguruje systém SERDESIF a registre jazdných pruhov. Ak je SERDESIF nakonfigurovaný v režime bez PCIE, signál CONFIG2_DONE sa tiež aktivuje okamžite.
  5. Potom nasleduje druhá fáza konfigurácie registra (ak je SERDESIF nakonfigurovaný v režime PCIE). Nasledujú rôzne udalosti, ktoré sa dejú v druhej fáze:
    – CoreResetP odstraňuje signály PHY_RESET_N a CORE_RESET_N zodpovedajúce každému z použitých blokov SERDESIF. Uplatňuje tiež výstupný signál SDIF_RELEASED po tom, čo sú všetky bloky SERDESIF mimo reset. Tento signál SDIF_RELEASED sa používa na označenie CoreConfigP, že jadro SERDESIF je mimo reset a je pripravené na druhú fázu konfigurácie registra.
    – Po potvrdení signálu SDIF_RELEASED funkcia SystemInit() spustí výzvu na potvrdenie PMA_READY na príslušnom pruhu SERDESIF. Po uplatnení PMA_READY sa druhá sada registrov SERDESIF (registre PCIE) nakonfiguruje/zapíše funkciou SystemInit().
  6. Po nakonfigurovaní všetkých registrov PCIE funkcia SystemInit() zapíše do riadiacich registrov CoreConfigP, aby oznámila dokončenie druhej fázy konfigurácie registrov; potom sa aktivuje výstupný signál CoreConfigP CONIG2_DONE.
  7. Okrem vyššie uvedených tvrdení/odhlásení signálu CoreResetP riadi aj inicializáciu rôznych blokov vykonávaním nasledujúcich funkcií:
    – Zrušenie presadenia resetovania jadra FDDR
    – Zrušenie presadzovania blokov SERDESIF resetuje PHY a CORE
    – Monitorovanie signálu uzamknutia FDDR PLL (FPLL). FPLL musí byť uzamknutý, aby sa zaručilo, že dátové rozhranie FDDR AXI/AHBLite a FPGA môžu správne komunikovať.
    – Monitorovanie blokovacích signálov bloku SERDESIF PLL (SPLL). SPLL musí byť uzamknutý, aby sa zaručilo, že rozhranie SERDESIF blokov AXI/AHBLite (režim PCIe) alebo rozhranie XAUI môže správne komunikovať s FPGA tkaninou.
    – Čaká sa, kým sa externé pamäte DDR ustália a budú pripravené na prístup k ovládačom DDR.
  8. Keď všetky periférne zariadenia dokončia svoju inicializáciu, CoreResetP potvrdí signál INIT_DONE; potom sa potvrdí interný register CoreConfigP INIT_DONE.
    Ak sa použije jedna alebo obe MDDR/FDDR a dosiahne sa čas inicializácie DDR, aktivuje sa výstupný signál CoreResetP DDR_READY. Uplatnenie tohto signálu DDR_READY môže byť monitorované ako indikácia, že DDR (MDDR/FDDR) je pripravená na komunikáciu.
    Ak sa použije jeden alebo viac blokov SERDESIF a druhá fáza konfigurácie registra je úspešne dokončená, aktivuje sa výstupný signál CoreResetP SDIF_READY. Uplatnenie tohto signálu SDIF_READY môže byť monitorované ako indikácia, že všetky SERDESIF bloky sú pripravené na komunikáciu.
  9. Funkcia SystemInit(), ktorá čakala na potvrdenie INIT_DONE, sa dokončí a vykoná sa funkcia main() aplikácie. Vtedy sú inicializované všetky používané DDR radiče a SERDESIF bloky a dokáže s nimi spoľahlivo komunikovať firmwarová aplikácia a FPGA fabric logika.

Metodológia opísaná v tomto dokumente sa opiera o to, že Cortex-M3 vykonáva proces inicializácie ako súčasť inicializačného kódu systému, ktorý sa vykonáva pred funkciou main() aplikácie.
Pozrite si vývojové diagramy na obrázku 1-1, obrázku 1-2 a obrázku 1-3 pre kroky inicializácie FDDR/MDDR, SEREDES (režim bez PCIe) a SERDES (režim PCIe).
Obrázok 1-4 zobrazuje časový diagram inicializácie periférie.

Microsemi SmartFusion2 DDR Controller a Serial High Speed ​​Controller - časový diagram 1 Microsemi SmartFusion2 DDR Controller a Serial High Speed ​​Controller - časový diagram 2

Microsemi SmartFusion2 DDR Controller a Serial High Speed ​​Controller - časový diagram 3Microsemi SmartFusion2 DDR Controller a Serial High Speed ​​Controller - časový diagram 4Obrázok 1-3 • Vývojový diagram inicializácie SERDESIF (PCIe).
Inicializačný postup opísaný v tomto dokumente vyžaduje, aby ste počas procesu inicializácie spustili Cortex-M3, aj keď neplánujete spustenie žiadneho kódu na Cortex-M3. Musíte vytvoriť základnú aplikáciu firmvéru, ktorá nič nerobí (jednoduchá slučka, naprample) a načítajte tento spustiteľný súbor do vstavanej nevolatilnej pamäte (eNVM), aby sa radiče DDR a bloky SERDESIF inicializovali pri zavádzaní Cortex-M3.

Použitie nástroja System Builder na vytvorenie návrhu pomocou blokov DDR a SERDESIF

SmartFusion2 System Builder je výkonný návrhársky nástroj, ktorý vám pomôže zachytiť požiadavky na úrovni systému a vytvorí návrh, ktorý tieto požiadavky implementuje. Veľmi dôležitou funkciou System Buildera je automatické vytváranie podsystému Peripheral Initialization. “Používanie SmartDesign na vytvorenie návrhu s použitím blokov DDR a SERDESIF” na strane 17 podrobne popisuje, ako vytvoriť takéto riešenie bez System Builder.
Ak používate System Builder, na vytvorenie návrhu, ktorý inicializuje vaše radiče DDR a bloky SERDESIF pri zapnutí, musíte vykonať nasledujúce úlohy:

  1. Na stránke Funkcie zariadenia (Obrázok 2-1) zadajte, ktoré radiče DDR sa používajú a koľko blokov SERDESIF sa používa vo vašom návrhu.
  2. Na stránke Pamäť zadajte typ DDR (DDR2/DDR3/LPDDR) a konfiguračné údaje pre vaše externé pamäte DDR. Podrobnosti nájdete v časti Pamäťová stránka.
  3. Na stránke Peripherals pridajte predlohy tkaniny nakonfigurované ako AHBLite/AXI do Fabric DDR Subsystem a/alebo MSS DDR FIC Subsystem (voliteľné).
  4. Na stránke Nastavenia hodín zadajte frekvencie hodín pre podsystémy DDR.
  5. Dokončite špecifikáciu dizajnu a kliknite na tlačidlo Dokončiť. Toto generuje návrh vytvorený System Builderom, vrátane logiky potrebnej pre „inicializačné“ riešenie.
  6. Ak používate bloky SERDESIF, musíte vo svojom návrhu vytvoriť inštanciu blokov SERDESIF a pripojiť ich inicializačné porty k portom jadra generovaného v System Builder.

Stránka funkcií zariadenia nástroja System Builder
Na stránke Funkcie zariadenia špecifikujte, ktoré radiče DDR (MDDR a/alebo FDDR) sa používajú a koľko blokov SERDESIF sa používa vo vašom návrhu (obrázok 2-1).

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač – stránka s funkciami zariadeniaObrázok 2-1 • Stránka s funkciami zariadenia na tvorbu systému

Stránka pamäte nástroja System Builder
Ak chcete použiť MSS DDR (MDDR) alebo Fabric DDR (FDDR), vyberte typ pamäte z rozbaľovacieho zoznamu (obrázok 2-2).

Microsemi SmartFusion2 DDR radič a sériový vysokorýchlostný radič – externá pamäťObrázok 2-2 • Externá pamäť MSS

Musíte:

  1. Vyberte typ DDR (DDR2, DDR3 alebo LPDDR).
  2. Definujte čas ustálenia pamäte DDR. Ak chcete nastaviť správny čas nastavenia pamäte, prečítajte si špecifikácie externej pamäte DDR. Pamäť DDR sa nemusí správne inicializovať, ak nie je správne nastavený čas vyrovnávania pamäte.
  3. Buď importujte konfiguračné údaje registra DDR alebo nastavte parametre pamäte DDR. Podrobnosti nájdete v časti Príručka používateľa vysokorýchlostného sériového a DDR rozhrania Microsemi SmartFusion2.

Tieto údaje sa používajú na generovanie registra DDR BFM a konfiguráciu firmvéru fileako je popísané v časti „Vytvorenie a kompilácia firmvérovej aplikácie“ na strane 26 a „BFM Files Používa sa na simuláciu návrhu“ na strane 27. Podrobnosti o registroch konfigurácie radiča DDR nájdete v Príručka používateľa vysokorýchlostného sériového a DDR rozhrania Microsemi SmartFusion2.
Bývalýample konfigurácie file syntax je znázornená na obrázku 2-3. V tomto prípade použité názvy registrov file sú rovnaké ako tie, ktoré sú opísané v Príručka používateľa vysokorýchlostného sériového a DDR rozhrania Microsemi SmartFusion2

Microsemi SmartFusion2 DDR radič a sériový vysokorýchlostný radič - File Syntax PrampleObrázok 2-3 • Konfigurácia File Syntax Prample
Stránka s periférnymi zariadeniami tvorcu systému
Na stránke Peripherals je pre každý radič DDR vytvorený samostatný subsystém (Fabric DDR Subsystem pre FDDR a MSS DDR FIC Subsystem pre MDDR). Ku každému z týchto podsystémov môžete pridať jadro Fabric AMBA Master (konfigurované ako AXI/AHBLite), aby ste umožnili prístup k ovládačom DDR. Po vygenerovaní System Builder automaticky vytvorí inštanciu jadier zbernice (v závislosti od typu pridaného AMBA Master) a vystaví hlavný BIF jadra zbernice a taktovacie a resetovacie kolíky zodpovedajúcich subsystémov (FDDR/MDDR) pod príslušnými skupinami pinov. top. Jediné, čo musíte urobiť, je pripojiť BIF k príslušným jadrám Fabric Master, ktoré by ste vytvorili v dizajne. V prípade MDDR je voliteľné pridať jadro Fabric AMBA Master do MSS DDR FIC Subsystému; Cortex-M3 je predvolený master na tomto subsystéme. Obrázok 2-4 zobrazuje stránku s periférnymi zariadeniami tvorcu systému.

Microsemi SmartFusion2 DDR radič a sériový vysokorýchlostný radič – stránka s periférnymi zariadeniami BuilderObrázok 2-4 • Stránka s periférnymi zariadeniami tvorcu systému

Stránka nastavení hodín nástroja System Builder
Na stránke Nastavenia hodín musíte pre každý radič DDR špecifikovať hodinové frekvencie súvisiace s každým podsystémom DDR (MDDR a/alebo FDDR).
Pre MDDR musíte zadať:

  • MDDR_CLK – Tieto hodiny určujú prevádzkovú frekvenciu radiča DDR a mali by sa zhodovať s frekvenciou hodín, na ktorej má bežať vaša externá pamäť DDR. Tieto hodiny sú definované ako násobok M3_CLK (Cortex-M3 a MSS Main Clock, obrázok 2-5). MDDR_CLK musí byť menej ako 333 MHz.
  • DDR_FIC_CLK – Ak ste sa rozhodli pristupovať aj k MDDR z štruktúry FPGA, musíte zadať DDR_FIC_CLK. Táto hodinová frekvencia je definovaná ako pomer MDDR_CLK a mala by zodpovedať frekvencii, na ktorej beží subsystém FPGA tkaniva, ktorý pristupuje k MDDR.

Microsemi SmartFusion2 DDR ovládač a sériový vysokorýchlostný ovládač - MDDR hodinyObrázok 2-5 • Hlavné hodiny Cortex-M3 a MSS; Hodiny MDDR

Pre FDDR musíte špecifikovať:

  • FDDR_CLK – Určuje prevádzkovú frekvenciu radiča DDR a mala by zodpovedať frekvencii hodín, pri ktorej chcete, aby vaša externá pamäť DDR fungovala. Všimnite si, že tieto hodiny sú definované ako násobok M3_CLK (hodiny MSS a Cortex-M3, obrázok 2-5). FDDR_CLK musí byť v rozsahu 20 MHz a 333 MHz.
  • FDDR_SUBSYSTEM_CLK – Táto frekvencia hodín je definovaná ako pomer FDDR_CLK a mala by sa zhodovať s frekvenciou, na ktorej beží subsystém FPGA, ktorý pristupuje k FDDR.

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač - Fabric DDR hodinyObrázok 2-6 • Látkové DDR hodiny
Konfigurácia SERDESIF
Bloky SERDESIF nie sú vytvárané v návrhu generovanom System Builderom. Pre všetky bloky SERDESIF sú však inicializačné signály dostupné na rozhraní jadra System Builder a možno ich pripojiť k jadrám SERDESIF na ďalšej úrovni hierarchie, ako je znázornené na obrázku 2-7.Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač – pripojenie na inicializáciu perifériíObrázok 2-7 • Pripojenie na inicializáciu periférií SERDESIF
Podobne ako konfiguračné registre DDR, aj každý blok SERDES má konfiguračné registre, ktoré sa musia načítať za behu. Tieto hodnoty registra môžete buď importovať, alebo použiť konfigurátor vysokorýchlostného sériového rozhrania (obrázok 2-8) na zadanie parametrov PCIe alebo EPCS a hodnoty registra sa vypočítajú automaticky. Podrobnosti nájdete v časti Používateľská príručka konfigurátora SERDES.Microsemi SmartFusion2 DDR Controller a Serial High Speed ​​Controller - Konfigurátor sériového rozhraniaObrázok 2-8 • Vysokorýchlostný konfigurátor sériového rozhrania
Keď integrujete svoju užívateľskú logiku s blokom System Builder a SERDES, môžete vygenerovať svoj SmartDesign najvyššej úrovne. Toto generuje všetky HDL a BFM filektoré sú potrebné na implementáciu a simuláciu vášho návrhu. Potom môžete pokračovať so zvyškom Design Flow.

Použitie SmartDesign na vytvorenie dizajnu pomocou blokov DDR a SERDESIF

Táto časť popisuje, ako zostaviť kompletné „inicializačné“ riešenie bez použitia SmartFusion2 System Builder. Cieľom je pomôcť vám pochopiť, čo musíte urobiť, ak nechcete používať System Builder. Táto časť tiež popisuje, čo pre vás nástroj System Builder skutočne generuje. Táto časť popisuje, ako:

  • Zadajte konfiguračné údaje pre radič DDR a konfiguračné registre SERDESIF.
  • Spustite a pripojte Fabric Cores potrebné na prenos konfiguračných údajov do radičov DDR a konfiguračných registrov SERDESIF.

Konfigurácia radiča DDR
Radiče MSS DDR (MDDR) a Fabric DDR (FDDR) musia byť nakonfigurované dynamicky (za behu), aby zodpovedali požiadavkám na konfiguráciu externej pamäte DDR (režim DDR, šírka PHY, režim burst, ECC atď.). Údaje zadané v konfigurátore MDDR/FDDR sa zapisujú do konfiguračných registrov radiča DDR pomocou funkcie CMSIS SystemInit(). Konfigurátor má tri rôzne karty na zadávanie rôznych typov konfiguračných údajov:

  • Všeobecné údaje (režim DDR, šírka dát, frekvencia hodín, ECC, rozhranie tkaniny, sila pohonu)
  • Údaje o inicializácii pamäte (dĺžka série, poradie série, režim časovania, latencia atď.)
  • Údaje o časovaní pamäte

Pozrite si špecifikácie vašej externej pamäte DDR a nakonfigurujte radič DDR tak, aby zodpovedal požiadavkám vašej externej pamäte DDR.
Podrobnosti o konfigurácii DDR nájdete v časti Používateľská príručka pre konfiguráciu SmartFusion2 MSS DDR.
Konfigurácia SERDESIF
Dvakrát kliknite na blok SERDES na plátne SmartDesign, aby ste otvorili konfigurátor na konfiguráciu SERDES (obrázok 3-1). Tieto hodnoty registra môžete buď importovať, alebo použiť konfigurátor SERDES na zadanie parametrov PCIe alebo EPCS a hodnoty registrov sa automaticky vypočítajú za vás. Podrobnosti nájdete v časti Používateľská príručka konfigurátora SERDES.Microsemi SmartFusion2 DDR radič a sériový vysokorýchlostný radič – konfigurátor vysokorýchlostného sériového rozhraniaObrázok 3-1 • Vysokorýchlostný konfigurátor sériového rozhrania
Vytvorenie inicializačného podsystému návrhu FPGA
Ak chcete inicializovať bloky DDR a SERDESIF, musíte vytvoriť inicializačný podsystém v štruktúre FPGA. Inicializačný subsystém FPGA tkaniny presúva dáta z Cortex-M3 do konfiguračných registrov DDR a SERDESIF, riadi resetovacie sekvencie potrebné na fungovanie týchto blokov a signalizuje, keď sú tieto bloky pripravené na komunikáciu so zvyškom vášho návrhu. Ak chcete vytvoriť inicializačný podsystém, musíte:

  • Nakonfigurujte FIC_2 vo vnútri MSS
  • Okamžite vytvorte a nakonfigurujte jadrá CoreConfigP a CoreResetP
  • Instantizujte RC oscilátor 25/50 MHz na čipe
  • Okamžite spustite makro System Reset (SYSRESET).
  • Pripojte tieto komponenty ku konfiguračným rozhraniam, hodinám, resetom a PLL lock portom každej periférie

MSS FIC_2 Konfigurácia APB
Ak chcete nakonfigurovať MSS FIC_2:

  1. Otvorte dialógové okno konfigurátora FIC_2 z konfigurátora MSS (obrázok 3-2).
  2. Vyberte možnosť Inicializovať periférne zariadenia pomocou Cortex-M3.
  3. V závislosti od vášho systému začiarknite jedno alebo obe z nasledujúcich začiarkavacích políčok:
    – MSS DDR
    – Tkaninové bloky DDR a/alebo SERDES
  4. Kliknite na tlačidlo OK a pokračujte vo vygenerovaní MSS (túto akciu môžete odložiť, kým úplne nenakonfigurujete MSS podľa vašich konštrukčných požiadaviek). Porty FIC_2 (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK a FIC_2_APB_M_RESET_N) sú teraz odkryté na rozhraní MSS a možno ich pripojiť k jadrám CoreConfigP a CoreResetP.

Microsemi SmartFusion2 DDR radič a sériový vysokorýchlostný radič - MSS FIC 2 konfigurátorObrázok 3-2 • Konfigurátor MSS FIC_2

CoreConfigP
Ak chcete nakonfigurovať CoreConfigP:

  1. Instantujte CoreConfigP do svojho SmartDesignu (zvyčajne do toho, kde sa vytvára inštancia MSS).
    Toto jadro možno nájsť v katalógu Libero (v časti Periférne zariadenia).
  2. Dvojitým kliknutím na jadro otvorte konfigurátor.
  3. Nakonfigurujte jadro, aby ste určili, ktoré periférne zariadenia je potrebné inicializovať (obrázok 3-3)

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač - dialógové oknoObrázok 3-3 • Dialógové okno CoreConfigP

CoreResetP
Ak chcete nakonfigurovať CoreResetP:

  1. Instantujte CoreResetP do svojho SmartDesignu (zvyčajne do toho, kde sa vytvára inštancia MSS).
    Toto jadro možno nájsť v katalógu Libero v časti Periférne zariadenia.
  2. Dvakrát kliknite na jadro vo vnútri SmartDesign Canvas, aby ste otvorili konfigurátor (obrázok 3-4).
  3. Nakonfigurujte jadro na:
    – Zadajte správanie externého resetovania (uplatnené EXT_RESET_OUT). Vyberte si jednu zo štyroch možností:
    o EXT_RESET_OUT sa nikdy neuplatňuje
    o EXT_RESET_OUT sa uplatní, ak sa uplatní reset pri zapnutí (POWER_ON_RESET_N)
    o EXT_RESET_OUT sa uplatní, ak sa uplatní FAB_RESET_N
    o EXT_RESET_OUT sa uplatní, ak sa aktivuje reset pri zapnutí (POWER_ON_RESET_N) alebo FAB_RESET_N
    – Zadajte objem zariadeniatage. Zvolená hodnota by sa mala zhodovať s objtage ste vybrali v dialógovom okne Libero Project Settings.
    – Začiarknutím príslušných políčok označte, ktoré periférne zariadenia používate vo svojom návrhu.
    – Zadajte čas nastavenia externej pamäte DDR. Toto je maximálna hodnota pre všetky pamäte DDR používané vo vašej aplikácii (MDDR a FDDR). Ak chcete nakonfigurovať tento parameter, pozrite si údajový list dodávateľa externej pamäte DDR. 200us je dobrá predvolená hodnota pre pamäte DDR2 a DDR3 s frekvenciou 200 MHz. Toto je veľmi dôležitý parameter na zaručenie fungujúcej simulácie a pracovného systému na kremíku. Nesprávna hodnota času ustálenia môže viesť k chybám simulácie. Ak chcete nakonfigurovať tento parameter, pozrite si údajový list dodávateľa pamäte DDR.
    – Pre každý blok SERDES vo vašom dizajne začiarknite príslušné políčka, aby ste označili, či:
    o Používa sa PCIe
    o Vyžaduje sa podpora PCIe Hot Reset
    o Vyžaduje sa podpora pre PCIe L2/P2

Poznámka: Ak používate matricu 090 (M2S090) a váš návrh používa SERDESIF, nemusíte začiarknuť žiadne z nasledujúcich políčok: „Použité pre PCIe“, „Zahrnúť podporu PCIe HotReset“ a „Zahrnúť podporu PCIe L2/P2“. Ak používate akékoľvek iné zariadenie ako 090 a používate jeden alebo viac blokov SERDESIF, musíte zaškrtnúť všetky štyri políčka v príslušnej sekcii SERDESIF.
Poznámka: Podrobnosti o možnostiach, ktoré máte k dispozícii v tomto konfigurátore, nájdete v príručke CoreResetP.

Microsemi SmartFusion2 DDR radič a sériový vysokorýchlostný radič - CoreResetPConfiguratorObrázok 3-4 • CoreResetPConfigurator

Instancia oscilátora 25/50 MHz
CoreConfigP a CoreResetP sú taktované 25/50MHz RC oscilátorom na čipe. Musíte vytvoriť inštanciu 25/50 MHz oscilátora a pripojiť ho k týmto jadrám.

  1. Instantizujte jadro čipových oscilátorov do svojho SmartDesignu (zvyčajne do toho, kde je inštancia MSS). Toto jadro možno nájsť v katalógu Libero v časti Clock & Management.
  2. Nakonfigurujte toto jadro tak, aby RC oscilátor poháňal tkaninu FPGA, ako je znázornené na obrázku 3-5.

Microsemi SmartFusion2 DDR Controller a Serial High Speed ​​Controller - Oscilators ConfiguratorObrázok 3-5 • Konfigurátor čipových oscilátorov

Okamžité obnovenie systému (SYSRESET).
Makro SYSRESET poskytuje vášmu návrhu funkciu resetovania na úrovni zariadenia. Výstupný signál POWER_ON_RESET_N je aktivovaný/deaktivovaný vždy, keď je čip zapnutý alebo je aktivovaný/de-presadzovaný externý pin DEVRST_N (obrázok 3-6).
Vytvorte inštanciu makra SYSRESET do vášho SmartDesignu (zvyčajne do toho, kde je inštancia MSS). Toto makro možno nájsť v katalógu Libero v časti Knižnica makier. Nie je potrebná žiadna konfigurácia tohto makra.

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač - makro SYSRESETObrázok 3-6 • Makro SYSRESET

Celková konektivita
Po vytvorení inštancie a konfigurácii jadier MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP a CoreResetP vo svojom návrhu ich musíte pripojiť, aby vytvorili subsystém Inicializácia periférií. Aby sa zjednodušil popis pripojenia v tomto dokumente, je rozdelený na konektivitu konfiguračných dátových ciest kompatibilných s APB3 spojenú s pripojeniami CoreConfigP a CoreResetP.
Konfigurácia dátovej cesty pripojenie
Obrázok 3-7 ukazuje, ako pripojiť CoreConfigP k signálom MSS FIC_2 a konfiguračným rozhraniam periférnych zariadení kompatibilným s APB3.
Tabuľka 3-1 • Konfiguračná dátová cesta Port/BIF pripojenia

OD
Port/Bus rozhranie
(BIF)/ Komponent
TO
Port/Bus Interface (BIF)/Component
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

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač – pripojenie k podsystémuObrázok 3-7 • Pripojiteľnosť podsystému FIC_2 APB3

Konektivita hodín a resetov
Obrázok 3-8 ukazuje, ako pripojiť CoreResetP k externým zdrojom resetovania a signálom resetovania jadra periférnych zariadení. Tiež ukazuje, ako pripojiť CoreResetP k signálom stavu synchronizácie hodín periférií (signály uzamknutia PLL). Okrem toho ukazuje, ako sú prepojené CoreConfigP a CoreResetP.

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač – pripojenie podsystému 2Obrázok 3-8 • Pripojiteľnosť podsystému Core SF2Reset

Vytvorenie a kompilácia firmvérovej aplikácie

Keď exportujete firmvér z LiberoSoC (okno Design Flow > Export Firmware > Export Firmware), Libero vygeneruje nasledovné files v /firmware/drivers_config/ priečinok sys_config:

  • sys_config.c – Obsahuje dátové štruktúry, ktoré obsahujú hodnoty pre periférne registre.
  • sys_config.h – Obsahuje príkazy #define, ktoré špecifikujú, ktoré periférne zariadenia sú použité v návrhu a je potrebné ich inicializovať.
  • sys_config_mddr_define.h – Obsahuje konfiguračné údaje radiča MDDR zadané v dialógovom okne Konfigurácia registrov.
  • sys_config_fddr_define.h – Obsahuje konfiguračné údaje radiča FDDR zadané v dialógovom okne Konfigurácia registrov.
  • sys_config_mss_clocks.h – Toto file obsahuje hodinové frekvencie MSS definované v konfigurátore MSS CCC. Tieto frekvencie používa kód CMSIS na poskytovanie správnych informácií o hodinách mnohým ovládačom MSS, ktoré musia mať prístup k frekvencii periférnych hodín (PCLK) (napr. deliče prenosovej rýchlosti MSS UART sú funkciou prenosovej rýchlosti a frekvencie PCLK ).
  • sys_config_SERDESIF_ .c – Obsahuje SERDESIF_ registrovať konfiguračné údaje poskytnuté počas SERDESIF_ bloková konfigurácia pri tvorbe dizajnu.
  • sys_config_SERDESIF_ .h – Obsahuje príkazy #define, ktoré špecifikujú počet párov konfigurácie registra a číslo pruhu, ktorý je potrebné vyžiadať na PMA_READY (iba v režime PCIe).

Tieto files sú potrebné na to, aby sa kód CMSIS správne skompiloval a obsahoval informácie týkajúce sa vášho aktuálneho návrhu, vrátane konfiguračných údajov periférnych zariadení a informácií o konfigurácii hodín pre MSS.
Neupravujte ich files ručne; vytvoria sa do príslušných adresárov komponentov/periférnych zariadení vždy, keď sa vygenerujú komponenty SmartDesign obsahujúce príslušné periférne zariadenia. Ak sa vykonajú zmeny v konfiguračných údajoch ktoréhokoľvek z periférnych zariadení, musíte znova exportovať projekty firmvéru, aby sa aktualizovaný firmvér files (pozri zoznam vyššie) sa exportujú do / firmware/drivers_config/sys_config priečinok.
Keď exportujete firmvér, Libero SoC vytvorí projekty firmvéru: knižnicu s konfiguráciou vášho návrhu files a ovládače sú zostavené.
Ak začiarknete políčko Vytvoriť projekt začiarkavacie políčko pri exporte firmvéru sa vytvorí softvérový projekt SoftConsole/IAR/Keil na uloženie projektu aplikácie, kde môžete upravovať main.ca user C/H files. Otvorte projekt SoftConSole/IAR/Keil, aby ste správne skompilovali kód CMSIS a aby bola vaša aplikácia firmvéru správne nakonfigurovaná tak, aby zodpovedala dizajnu vášho hardvéru.

BFM Files Používa sa na simuláciu dizajnu

Keď vygenerujete komponenty SmartDesign obsahujúce periférne zariadenia spojené s vaším návrhom, simulácia files zodpovedajúce príslušným perifériám sú generované v /simulačný adresár:

  • test.bfm – BFM najvyššej úrovne file ktorý sa prvýkrát vykoná počas akejkoľvek simulácie, ktorá vykonáva procesor SmartFusion2 MSS Cortex-M3. Spustí periférne_init.bfm a user.bfm v tomto poradí.
  • MDDR_init.bfm – Ak váš návrh používa MDDR, Libero ho vygeneruje file; obsahuje príkazy na zápis BFM, ktoré simulujú zápis údajov konfiguračného registra MSS DDR, ktorý ste zadali (pomocou dialógového okna Upraviť registre alebo v GUI MSS_MDDR) do registrov radiča MSS DDR.
  • FDDR_init.bfm – Ak váš návrh používa FDDR, Libero ho vygeneruje file; obsahuje príkazy na zápis BFM, ktoré simulujú zápis údajov konfiguračného registra Fabric DDR, ktoré ste zadali (pomocou dialógového okna Upraviť registre alebo v GUI FDDR) do registrov radiča Fabric DDR.
  • SERDESIF_ _init.bfm – Ak váš návrh používa jeden alebo viac blokov SERDESIF, Libero ho vygeneruje file pre každý zo SERDESIF_ použité bloky; obsahuje príkazy na zápis BFM, ktoré simulujú zápis údajov konfiguračného registra SERDESIF, ktorý ste zadali (pomocou dialógového okna Upraviť registre alebo v okne SERDESIF_ GUI) do SERDESIF_ registrov. Ak je blok SERDESIF nakonfigurovaný ako PCIe, toto file má tiež niekoľko príkazov #define, ktoré riadia vykonávanie 2 fáz konfigurácie registra v dokonalom poradí.
  • user.bfm – Obsahuje užívateľské príkazy. Tieto príkazy sa vykonajú po dokončení periférneho_init.bfm. Upravte toto file zadajte príkazy BFM.
  • SERDESIF_ _user.bfm – Obsahuje užívateľské príkazy. Upravte toto file zadajte príkazy BFM. Použite to, ak ste nakonfigurovali SERDESIF_ blok v režime simulácie BFM PCIe a ako AXI/AHBLite master. Ak ste nakonfigurovali SERDESIF_ blok v režime simulácie RTL, nebudete to potrebovať file.

Keď zakaždým vyvoláte simuláciu, nasledujúce dve simulácie files sú znovu vytvorené na /simulation adresár s aktualizovaným obsahom:

  • subsystém.bfm – Obsahuje príkazy #define pre každú perifériu použitú vo vašom návrhu, ktoré špecifikujú konkrétnu sekciu periférie_init.bfm, ktorá sa má vykonať, zodpovedajúcu každej periférii.
  • operipheral_init.bfm – Obsahuje procedúru BFM, ktorá emuluje funkciu CMSIS:: SystemInit() spustenú na Cortex-M3 predtým, ako zadáte procedúru main(). Skopíruje konfiguračné údaje pre akúkoľvek perifériu použitú v návrhu do správnych registrov konfigurácie periférií a potom čaká, kým budú všetky periférie pripravené, kým potvrdí, že tieto periférie môžete používať. Vykonáva MDDR_init.bfm a FDDR_init.bfm.

Pomocou týchto vygenerovaných files, radiče DDR vo vašom návrhu sú nakonfigurované automaticky, simulujúc to, čo by sa stalo na zariadení SmartFusion2. Môžete upraviť súbor user.bfm file pridať akékoľvek príkazy potrebné na simuláciu vášho návrhu (Cortex-M3 je hlavný). Tieto príkazy sa vykonajú po inicializácii periférnych zariadení. Neupravujte súbor test.bfm, subsystem.bfm, periférny_init.bfm, MDDR_init.bfm, FDDR_init.bfm files a SERDESIF_ _init.bfm files.

Podpora produktu

Microsemi SoC Products Group podporuje svoje produkty rôznymi podpornými službami, vrátane služieb zákazníkom, Centra technickej podpory zákazníkov, a webstránky, elektronická pošta a celosvetové obchodné zastúpenia.
Táto príloha obsahuje informácie o kontaktovaní Microsemi SoC Products Group a používaní týchto služieb podpory.
Zákaznícky servis
Obráťte sa na zákaznícky servis pre netechnickú podporu produktov, ako sú ceny produktov, aktualizácie produktov, informácie o aktualizácii, stav objednávky a autorizácia.
Zo Severnej Ameriky, zavolajte 800.262.1060
Zo zvyšku sveta zavolajte 650.318.4460
Fax odkiaľkoľvek na svete, 408.643.6913
Centrum technickej podpory zákazníkov
Microsemi SoC Products Group zamestnáva svoje zákaznícke centrum technickej podpory vysoko kvalifikovanými inžiniermi, ktorí vám môžu pomôcť zodpovedať vaše otázky týkajúce sa hardvéru, softvéru a dizajnu týkajúce sa produktov Microsemi SoC. Centrum technickej podpory zákazníkov trávi veľa času vytváraním poznámok k aplikácii, odpovedí na bežné otázky cyklu návrhu, dokumentácie známych problémov a rôznych často kladených otázok. Takže predtým, ako nás budete kontaktovať, navštívte naše online zdroje. Je veľmi pravdepodobné, že sme už odpovedali na vaše otázky.
Technická podpora
Navštívte zákaznícku podporu webstránka (www.microsemi.com/soc/support/search/default.aspx) pre viac informácií a podporu. Mnoho odpovedí dostupných na vyhľadávaní web zdroj obsahuje schémy, ilustrácie a odkazy na ďalšie zdroje na stránke webstránky.
Webstránky
Rôzne technické a netechnické informácie si môžete prezerať na domovskej stránke SoC na adrese www.microsemi.com/soc.
Kontaktovanie Centra technickej podpory zákazníkov
Stredisko technickej podpory tvoria vysoko kvalifikovaní inžinieri. Centrum technickej podpory je možné kontaktovať e-mailom alebo prostredníctvom skupiny produktov Microsemi SoC webstránky.
Email
Svoje technické otázky môžete oznámiť na našu e-mailovú adresu a odpovede dostať späť e-mailom, faxom alebo telefonicky. Ak máte problémy s dizajnom, môžete svoj návrh poslať e-mailom files na získanie pomoci.
E-mailový účet neustále monitorujeme počas dňa. Keď nám posielate svoju požiadavku, nezabudnite uviesť vaše celé meno, názov spoločnosti a vaše kontaktné údaje, aby bolo možné vašu žiadosť efektívne spracovať.
E-mailová adresa technickej podpory je soc_tech@microsemi.com.
Moje prípady
Zákazníci Microsemi SoC Products Group môžu odosielať a sledovať technické prípady online na adrese Moje prípady.
Mimo USA
Zákazníci, ktorí potrebujú pomoc mimo časových pásiem USA, môžu kontaktovať technickú podporu prostredníctvom e-mailu (soc_tech@microsemi.com) alebo kontaktujte miestne obchodné zastúpenie. Zoznam predajných kancelárií nájdete na www.microsemi.com/soc/company/contact/default.aspx.
Technická podpora ITAR
Ak potrebujete technickú podporu pre RH a RT FPGA, ktoré sú regulované medzinárodnými predpismi o obchodovaní so zbraňami (ITAR), kontaktujte nás prostredníctvom soc_tech_itar@microsemi.com. Prípadne v rámci Moje prípady vyberte Áno v rozbaľovacom zozname ITAR. Úplný zoznam mikrosemi FPGA regulovaných ITAR nájdete na stránke ITAR web stránku.
Microsemi Corporation (NASDAQ: MSCC) ponúka komplexné portfólio polovodičových riešení pre: letectvo, obrana a bezpečnosť; podnikanie a komunikácie; a trhy s priemyselnými a alternatívnymi energiami. Produkty zahŕňajú vysokovýkonné, vysoko spoľahlivé analógové a RF zariadenia, integrované obvody so zmiešaným signálom a RF, prispôsobiteľné SoC, FPGA a kompletné subsystémy. Microsemi má ústredie v Aliso Viejo v Kalifornii. Viac sa dozviete na www.microsemi.com.
© 2014 Microsemi Corporation. Všetky práva vyhradené. Microsemi a logo Microsemi sú ochranné známky spoločnosti Microsemi Corporation. Všetky ostatné ochranné známky a servisné známky sú majetkom ich príslušných vlastníkov.

5-02-00384-1/08.14Logo MicrosemiSídlo spoločnosti Microsemi
One Enterprise, Aliso Viejo CA 92656 USA
V rámci USA: +1 949-380-6100
Predaj: +1 949-380-6136
Fax: +1 949-215-4996

Dokumenty / zdroje

Ovládač Microsemi SmartFusion2 DDR a sériový vysokorýchlostný ovládač [pdf] Používateľská príručka
Ovládač SmartFusion2 DDR a sériový vysokorýchlostný ovládač, SmartFusion2 DDR, ovládač a sériový vysokorýchlostný ovládač, vysokorýchlostný ovládač

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *