SmartFusion2
DDR valdiklis ir serijinis didelės spartos valdiklis
Inicijavimo metodika
Vartotojo vadovas
Įvadas
Kurdami dizainą naudodami SmartFusion2 įrenginį, jei naudojate vieną iš dviejų DDR valdiklių (FDDR arba MDDR) arba bet kurį iš serijinio didelio greičio valdiklio (SERDESIF) blokų, turite inicijuoti šių blokų konfigūracijos registrus vykdymo metu prieš jie gali būti naudojami. Pavyzdžiui,ampDDR valdikliui turite nustatyti DDR režimą (DDR3/DDR2/LPDDR), PHY plotį, serijos režimą ir ECC.
Panašiai, jei SERDESIF blokas naudojamas kaip PCIe galutinis taškas, turite nustatyti PCIE BAR į AXI (arba AHB) langą.
Šiame dokumente aprašomi žingsniai, reikalingi norint sukurti Libero dizainą, kuris automatiškai inicijuoja DDR valdiklį ir SERDESIF blokus įjungus. Jame taip pat aprašoma, kaip sugeneruoti programinės įrangos kodą iš Libero SOC, kuris naudojamas įterptajame projektavimo sraute.
Pirmiausia pateikiamas išsamus operacijų teorijos aprašymas.
Kitame skyriuje aprašoma, kaip sukurti tokį dizainą naudojant Libero SoC System Builder – galingą projektavimo įrankį, kuris, be kitų funkcijų, sukuria „inicializacijos“ sprendimą už jus, jei savo dizaine naudojate DDR arba SERDESIF blokus.
Kitame skyriuje aprašoma, kaip sujungti visą „inicializacijos“ sprendimą nenaudojant „SmartFusion2 System Builder“. Tai padeda paaiškinti, ką reikia padaryti, jei nenorite naudoti sistemos kūrimo priemonės, taip pat aprašoma, ką sistemos kūrimo įrankis iš tikrųjų sukuria jums. Šis skyrius skirtas:
- DDR valdiklio ir SERDESIF konfigūracijos registrų konfigūracijos duomenų kūrimas
- FPGA logikos sukūrimas, reikalingas konfigūracijos duomenims perkelti į skirtingus ASIC konfigūracijos registrus
Galiausiai aprašome sugeneruotą fileyra susiję su:
- Programinės įrangos „inicializacijos“ sprendimo sukūrimas.
- DDR „inicializacijos“ sprendimo dizaino modeliavimas.
Norėdami gauti daugiau informacijos apie DDR valdiklį ir SERDESIF konfigūracijos registrus, žr Microsemi SmartFusion2 didelės spartos nuosekliųjų ir DDR sąsajų vartotojo vadovas.
Veikimo teorija
Periferinio inicijavimo sprendimas naudoja šiuos pagrindinius komponentus:
- Funkcija CMSIS SystemInit(), kuri veikia Cortex-M3 ir organizuoja inicijavimo procesą.
- „CoreConfigP“ minkštasis IP branduolys, kuris inicijuoja periferinių įrenginių konfigūracijos registrus.
- „CoreResetP“ minkštas IP šerdis, valdantis MSS, DDR valdiklių ir SERDESIF blokų atstatymo seką.
Periferinis inicijavimo procesas veikia taip:
- Nustačius iš naujo, Cortex-M3 paleidžia CMSIS SystemInit() funkciją. Ši funkcija automatiškai vykdoma prieš vykdant programos main() funkciją.
„CoreResetP“ išvesties signalas MSS_HPMS_READY yra patvirtinamas inicijavimo proceso pradžioje, nurodant, kad MSS ir visi išoriniai įrenginiai (išskyrus MDDR) yra paruošti ryšiui. - Funkcija SystemInit() įrašo konfigūracijos duomenis į DDR valdiklius ir SERDESIF konfigūracijos registrus per MSS FIC_2 APB3 magistralę. Ši sąsaja yra prijungta prie minkštosios CoreConfigP šerdies, pavaizduotos FPGA audinyje.
- Sukonfigūravus visus registrus, funkcija SystemInit() rašo į CoreConfigP valdymo registrus, kad parodytų registro konfigūravimo fazės pabaigą; tada tvirtinami CoreConfigP išvesties signalai CONFIG1_DONE ir CONIG2_DONE.
Yra du registro konfigūravimo etapai (CONFIG1 ir CONFIG2), priklausomai nuo projekte naudojamų periferinių įrenginių. - Jei naudojamas vienas arba abu MDDR/FDDR, o nė vienas SERDESIF blokas nenaudojamas projektuojant, yra tik viena registro konfigūravimo fazė. Abu CoreConfigP išvesties signalai CONFIG1_DONE ir CONIG2_DONE yra tvirtinami vienas po kito be jokio laukimo / delsimo.
Jei projektuojant naudojamas vienas ar daugiau SERDESIF blokų ne PCIe režimu, registro konfigūravimo fazė yra tik viena. CONFIG1_DONE ir CONIG2_DONE tvirtinami vienas po kito be jokio laukimo / delsimo.
Jei projektuojant naudojamas vienas ar daugiau SERDESIF blokų PCIe režimu, registro konfigūravimo fazės yra dvi. CONFIG1_DONE patvirtinamas po to, kai baigiamas pirmasis registro konfigūravimo etapas. Šiame etape sukonfigūruojami SERDESIF sistemos ir eismo juostų registrai. Jei SERDESIF sukonfigūruotas ne PCIE režimu, signalas CONFIG2_DONE taip pat iš karto patvirtinamas. - Tada seka antrasis registro konfigūravimo etapas (jei SERDESIF sukonfigūruotas PCIE režimu). Toliau pateikiami skirtingi įvykiai, įvykę antrajame etape:
– CoreResetP panaikina PHY_RESET_N ir CORE_RESET_N signalus, atitinkančius kiekvieną naudojamą SERDESIF bloką. Jis taip pat patvirtina išvesties signalą SDIF_RELEASED, kai visi SERDESIF blokai yra iš naujo nustatyti. Šis SDIF_RELEASED signalas naudojamas CoreConfigP nurodyti, kad SERDESIF branduolys iš naujo nustatytas ir yra paruoštas antrajam registro konfigūravimo etapui.
– Kai patvirtinamas SDIF_RELEASED signalas, funkcija SystemInit() pradeda prašyti patvirtinimo PMA_READY atitinkamoje SERDESIF juostoje. Patvirtinus PMA_READY, antrąjį SERDESIF registrų rinkinį (PCIE registrus) sukonfigūruoja / įrašo funkcija SystemInit (). - Sukonfigūravus visus PCIE registrus, funkcija SystemInit() rašo į CoreConfigP valdymo registrus, kad parodytų antrojo registro konfigūravimo etapo pabaigą; tada tvirtinamas CoreConfigP išvesties signalas CONIG2_DONE.
- Be aukščiau pateiktų signalų patvirtinimų / panaikinimų, CoreResetP taip pat valdo įvairių blokų inicijavimą, atlikdama šias funkcijas:
– FDDR branduolio nustatymo iš naujo patvirtinimo panaikinimas
– SERDESIF patvirtinimo panaikinimas blokuoja PHY ir CORE atstatymus
– FDDR PLL (FPLL) užrakto signalo stebėjimas. FPLL turi būti užrakintas, kad būtų užtikrinta, jog FDDR AXI/AHBLite duomenų sąsaja ir FPGA audinys galėtų tinkamai bendrauti.
– SERDESIF bloko PLL (SPLL) blokavimo signalų stebėjimas. SPLL turi būti užrakintas, kad būtų užtikrinta, jog SERDESIF blokuoja AXI/AHBLite sąsają (PCIe režimą) arba XAUI sąsają gali tinkamai susisiekti su FPGA audeklu.
– Laukiama, kol išsidėstys išorinės DDR atminties ir bus pasirengusios pasiekti DDR valdiklius. - Kai visi išoriniai įrenginiai baigia inicijuoti, CoreResetP patvirtina INIT_DONE signalą; tada tvirtinamas CoreConfigP vidinis registras INIT_DONE.
Jei naudojamas vienas arba abu MDDR/FDDR ir pasiekiamas DDR inicijavimo laikas, patvirtinamas CoreResetP išvesties signalas DDR_READY. Šio signalo DDR_READY patvirtinimas gali būti stebimas kaip požymis, kad DDR (MDDR/FDDR) yra paruoštas ryšiui.
Jei naudojamas vienas ar daugiau SERDESIF blokų, o antrasis registro konfigūravimo etapas sėkmingai baigtas, patvirtinamas CoreResetP išėjimo signalas SDIF_READY. Šio signalo SDIF_READY patvirtinimas gali būti stebimas kaip požymis, kad visi SERDESIF blokai yra paruošti ryšiui. - Funkcija SystemInit(), kuri laukė, kol bus patvirtinta INIT_DONE, baigiama ir vykdoma programos main() funkcija. Tuo metu visi naudojami DDR valdikliai ir SERDESIF blokai buvo inicijuoti, o programinė įranga ir FPGA audinio logika gali patikimai bendrauti su jais.
Šiame dokumente aprašyta metodika remiasi Cortex-M3, kuris vykdo inicijavimo procesą kaip sistemos inicijavimo kodo, vykdomo prieš programos pagrindinę () funkciją, dalį.
FDDR/MDDR, SEREDES (ne PCIe režimas) ir SERDES (PCIe režimas) inicijavimo veiksmus žr. 1-1, 1-2 ir 1-3 pav.
1-4 paveiksle parodyta periferinės įrangos inicijavimo laiko diagrama.
![]() |
![]() |
1-3 pav. • SERDESIF (PCIe) inicijavimo schema
Šiame dokumente aprašyta inicijavimo procedūra reikalauja, kad inicijavimo proceso metu paleiskite Cortex-M3, net jei neplanuojate paleisti jokio kodo Cortex-M3. Turite sukurti pagrindinę programinės įrangos programą, kuri nieko nedaro (paprasta kilpa, pvzample) ir įkelkite vykdomąjį failą į įterptąją nepastoviąją atmintį (eNVM), kad DDR valdikliai ir SERDESIF blokai būtų inicijuojami, kai Cortex-M3 įkeliamas.
Sistemos kūrėjo naudojimas kuriant dizainą naudojant DDR ir SERDESIF blokus
„SmartFusion2 System Builder“ yra galingas projektavimo įrankis, padedantis užfiksuoti sistemos lygio reikalavimus ir sukurti tuos reikalavimus atitinkantį dizainą. Labai svarbi System Builder funkcija yra automatinis periferinės inicijavimo posistemės kūrimas. „SmartDesign naudojimas kuriant dizainą naudojant DDR ir SERDESIF blokus“ puslapyje 17 išsamiai aprašoma, kaip sukurti tokį sprendimą be sistemos kūrėjo.
Jei naudojate „System Builder“, turite atlikti šias užduotis, kad sukurtumėte dizainą, kuris inicijuotų jūsų DDR valdiklius ir SERDESIF blokus įjungus:
- Įrenginio savybių puslapyje (2-1 pav.) nurodykite, kurie DDR valdikliai naudojami ir kiek SERDESIF blokų naudojama jūsų projekte.
- Puslapyje Atmintis nurodykite DDR tipą (DDR2/DDR3/LPDDR) ir išorinių DDR atmintinių konfigūracijos duomenis. Daugiau informacijos rasite skyriuje „Atminties puslapis“.
- Puslapyje Išoriniai įrenginiai pridėkite audinio pagrindinius elementus, sukonfigūruotus kaip AHBLite / AXI, prie audinio DDR posistemio ir (arba) MSS DDR FIC posistemio (pasirenkama).
- Puslapyje Laikrodžio nustatymai nurodykite DDR posistemių laikrodžio dažnius.
- Užpildykite dizaino specifikaciją ir spustelėkite Baigti. Taip sukuriamas sistemos kūrėjo sukurtas dizainas, įskaitant logiką, reikalingą „inicializacijos“ sprendimui.
- Jei naudojate SERDESIF blokus, savo projekte turite sukurti SERDESIF blokus ir prijungti jų inicijavimo prievadus prie sistemos kūrėjo sugeneruoto branduolio.
„System Builder“ įrenginio funkcijų puslapis
Puslapyje Įrenginio funkcijos nurodykite, kurie DDR valdikliai (MDDR ir (arba) FDDR) naudojami ir kiek SERDESIF blokų naudojama jūsų projekte (2-1 pav.).
2-1 pav. • Sistemos kūrėjo įrenginio savybių puslapis
Sistemos kūrėjo atminties puslapis
Norėdami naudoti MSS DDR (MDDR) arba audinio DDR (FDDR), išskleidžiamajame sąraše pasirinkite Atminties tipą (2-2 pav.).
2-2 pav. • MSS išorinė atmintis
Turite:
- Pasirinkite DDR tipą (DDR2, DDR3 arba LPDDR).
- Apibrėžkite DDR atminties nustatymo laiką. Norėdami nustatyti teisingą atminties nustatymo laiką, žr. išorinės DDR atminties specifikacijas. DDR atmintis gali nepavykti tinkamai inicijuoti, jei atminties nustatymo laikas nėra tinkamai nustatytas.
- Importuokite DDR registro konfigūracijos duomenis arba nustatykite DDR atminties parametrus. Norėdami gauti daugiau informacijos, žr Microsemi SmartFusion2 didelės spartos nuosekliųjų ir DDR sąsajų vartotojo vadovas.
Šie duomenys naudojami generuojant DDR registrą BFM ir programinės įrangos konfigūraciją files, kaip aprašyta skyriuose „Programinės aparatinės įrangos programos kūrimas ir kompiliavimas“ puslapyje 26 ir „BFM Files Naudojamas modeliuojant dizainą“ puslapyje 27. Daugiau informacijos apie DDR valdiklio konfigūracijos registrus žr. Microsemi SmartFusion2 didelės spartos nuosekliųjų ir DDR sąsajų vartotojo vadovas.
Buvęsampkonfigūracijos le file sintaksė parodyta 2-3 pav. Čia naudojami registrų pavadinimai file yra tokie patys kaip aprašyti Microsemi SmartFusion2 didelės spartos nuosekliųjų ir DDR sąsajų vartotojo vadovas
2-3 pav. • Konfigūracija File Sintaksė Pvzample
Sistemos kūrėjo periferinių įrenginių puslapis
Puslapyje Išoriniai įrenginiai kiekvienam DDR valdikliui sukuriamas atskiras posistemis („Fabric DDR subsystem“, skirtas FDDR, ir MSS DDR FIC posistemis, skirtas MDDR). Prie kiekvienos iš šių posistemių galite pridėti Fabric AMBA Master (sukonfigūruotą kaip AXI/AHBLite) šerdį, kad įgalintumėte audinio pagrindinį prieigą prie DDR valdiklių. Sugeneravus, System Builder automatiškai sukuria magistralės branduolius (atsižvelgiant į pridėto AMBA Master tipo) ir atskleidžia pagrindinį magistralės šerdies BIF ir atitinkamų posistemių (FDDR / MDDR) laikrodžio ir atstatymo kaiščius atitinkamose kaiščių grupėse. viršuje. Viskas, ką jums reikia padaryti, tai prijungti BIF prie atitinkamų „Fabric Master“ branduolių, kuriuos pateiksite projekte. MDDR atveju nebūtina pridėti „Fabric AMBA Master“ branduolį į MSS DDR FIC posistemį; Cortex-M3 yra numatytasis pagrindinis šio posistemio valdiklis. 2-4 paveiksle parodytas sistemos kūrėjo išorinių įrenginių puslapis.
2-4 pav. • Sistemos kūrėjo išorinių įrenginių puslapis
Sistemos kūrėjo laikrodžio nustatymų puslapis
Puslapyje Laikrodžio nustatymai kiekvienam DDR valdikliui turite nurodyti laikrodžio dažnius, susijusius su kiekviena DDR (MDDR ir (arba) FDDR) posisteme.
Jei naudojate MDDR, turite nurodyti:
- MDDR_CLK – Šis laikrodis nustato DDR valdiklio veikimo dažnį ir turi atitikti laikrodžio dažnį, kuriuo norite, kad jūsų išorinė DDR atmintis veiktų. Šis laikrodis apibrėžiamas kaip M3_CLK kartotinis (Cortex-M3 ir MSS pagrindinis laikrodis, 2-5 pav.). MDDR_CLK turi būti mažesnis nei 333 MHz.
- DDR_FIC_CLK – Jei taip pat pasirinkote pasiekti MDDR iš FPGA audinio, turite nurodyti DDR_FIC_CLK. Šis laikrodžio dažnis apibrėžiamas kaip MDDR_CLK santykis ir turi atitikti dažnį, kuriuo veikia FPGA audinio posistemė, kuri pasiekia MDDR.
2-5 pav. • Cortex-M3 ir MSS pagrindinis laikrodis; MDDR laikrodžiai
Jei naudojate FDDR, turite nurodyti:
- FDDR_CLK – nustato DDR valdiklio veikimo dažnį ir turi atitikti laikrodžio dažnį, kuriuo norite, kad veiktų išorinė DDR atmintis. Atkreipkite dėmesį, kad šis laikrodis apibrėžiamas kaip M3_CLK kartotinis (MSS ir Cortex-M3 laikrodis, 2-5 pav.). FDDR_CLK turi būti 20 MHz ir 333 MHz diapazone.
- FDDR_SUBSYSTEM_CLK – šis laikrodžio dažnis apibrėžiamas kaip FDDR_CLK santykis ir turi atitikti dažnį, kuriuo veikia FPGA audinio posistemė, kuri pasiekia FDDR.
2-6 pav. • Medžiaginiai DDR laikrodžiai
SERDESIF konfigūracija
SERDESIF blokai nėra kartojami sistemos kūrėjo sukurtame projekte. Tačiau visų SERDESIF blokų inicijavimo signalai yra prieinami System Builder branduolio sąsajoje ir gali būti prijungti prie SERDESIF branduolių kitame hierarchijos lygyje, kaip parodyta 2-7 pav.2-7 pav. • SERDESIF periferinio inicijavimo ryšys
Panašiai kaip DDR konfigūracijos registrai, kiekvienas SERDES blokas taip pat turi konfigūracijos registrus, kurie turi būti įkeliami vykdymo metu. Galite importuoti šias registro reikšmes arba naudoti didelės spartos nuosekliosios sąsajos konfigūratorių (2-8 pav.), kad įvestumėte savo PCIe arba EPCS parametrus, o registro reikšmės bus automatiškai apskaičiuojamos už jus. Norėdami gauti daugiau informacijos, žr SERDES Configurator vartotojo vadovas.2-8 pav. • Didelės spartos nuosekliosios sąsajos konfigūratorius
Integravę vartotojo logiką su System Builder ir SERDES blokais, galėsite sugeneruoti aukščiausio lygio SmartDesign. Tai generuoja visą HDL ir BFM files, kurios būtinos norint įgyvendinti ir imituoti jūsų dizainą. Tada galite tęsti likusį dizaino srautą.
„SmartDesign“ naudojimas kuriant dizainą naudojant DDR ir SERDESIF blokus
Šiame skyriuje aprašoma, kaip sujungti visą „inicializacijos“ sprendimą nenaudojant „SmartFusion2 System Builder“. Tikslas yra padėti jums suprasti, ką turite daryti, jei nenorite naudoti sistemos kūrimo priemonės. Šiame skyriuje taip pat aprašoma, ką iš tikrųjų jums sukuria sistemos kūrimo įrankis. Šiame skyriuje aprašoma, kaip:
- Įveskite DDR valdiklio ir SERDESIF konfigūracijos registrų konfigūracijos duomenis.
- Sukurkite ir prijunkite audinio branduolius, reikalingus konfigūracijos duomenims perkelti į DDR valdiklius ir SERDESIF konfigūracijos registrus.
DDR valdiklio konfigūracija
MSS DDR (MDDR) ir Fabric DDR (FDDR) valdikliai turi būti sukonfigūruoti dinamiškai (vykdymo metu), kad atitiktų išorinės DDR atminties konfigūracijos reikalavimus (DDR režimas, PHY plotis, serijos režimas, ECC ir kt.). Duomenys, įvesti į MDDR/FDDR konfigūratorių, įrašomi į DDR valdiklio konfigūracijos registrus naudojant CMSIS SystemInit() funkciją. Konfigūravimo priemonėje yra trys skirtingi skirtukai, skirti įvesti skirtingų tipų konfigūracijos duomenis:
- Bendrieji duomenys (DDR režimas, duomenų plotis, laikrodžio dažnis, ECC, audinio sąsaja, disko stiprumas)
- Atminties inicijavimo duomenys (serijos ilgis, serijos tvarka, laiko režimas, delsa ir kt.)
- Atminties laiko duomenys
Peržiūrėkite išorinės DDR atminties specifikacijas ir sukonfigūruokite DDR valdiklį, kad jis atitiktų išorinės DDR atminties reikalavimus.
Norėdami gauti daugiau informacijos apie DDR konfigūraciją, žr SmartFusion2 MSS DDR konfigūravimo vartotojo vadovas.
SERDESIF konfigūracija
Dukart spustelėkite SERDES bloką SmartDesign drobėje, kad atidarytumėte konfigūratorių ir sukonfigūruotumėte SERDES (3-1 pav.). Galite importuoti šias registro reikšmes arba naudoti SERDES konfigūratorių, kad įvestumėte savo PCIe arba EPCS parametrus, o registro reikšmės bus automatiškai apskaičiuojamos už jus. Norėdami gauti daugiau informacijos, žr SERDES Configurator vartotojo vadovas.3-1 pav. • Didelės spartos nuosekliosios sąsajos konfigūratorius
FPGA projektavimo inicijavimo posistemės sukūrimas
Norėdami inicijuoti DDR ir SERDESIF blokus, turite sukurti inicijavimo posistemį FPGA audinyje. FPGA audinio inicijavimo posistemis perkelia duomenis iš Cortex-M3 į DDR ir SERDESIF konfigūracijos registrus, tvarko atstatymo sekas, reikalingas, kad šie blokai veiktų, ir signalizuoja, kai šie blokai yra pasirengę bendrauti su likusia jūsų dizaino dalimi. Norėdami sukurti inicijavimo posistemį, turite:
- Konfigūruokite FIC_2 MSS viduje
- Sukurkite ir sukonfigūruokite CoreConfigP ir CoreResetP branduolius
- Sukurkite lusto 25/50 MHz RC osciliatorių
- Sukurkite sistemos atkūrimo (SYSRESET) makrokomandą
- Prijunkite šiuos komponentus prie kiekvienos periferinės įrangos konfigūracijos sąsajų, laikrodžių, atstatymų ir PLL užrakto prievadų
MSS FIC_2 APB konfigūracija
Norėdami sukonfigūruoti MSS FIC_2:
- Atidarykite FIC_2 konfigūratoriaus dialogo langą iš MSS konfigūratoriaus (3-2 pav.).
- Pasirinkite Initializuoti periferinius įrenginius naudojant Cortex-M3.
- Priklausomai nuo sistemos, pažymėkite vieną arba abu šiuos žymimuosius laukelius:
– MSS DDR
– Audiniai DDR ir/arba SERDES blokeliai - Spustelėkite Gerai ir tęskite MSS generavimą (galite atidėti šį veiksmą, kol visiškai sukonfigūravote MSS pagal savo dizaino reikalavimus). FIC_2 prievadai (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK ir FIC_2_APB_M_RESET_N) dabar rodomi MSS sąsajoje ir gali būti prijungti prie CoreConfigP ir CoreResetP branduolių.
3-2 pav. • MSS FIC_2 konfigūratorius
CoreConfigP
Norėdami sukonfigūruoti „CoreConfigP“:
- Įdiekite „CoreConfigP“ į savo „SmartDesign“ (paprastai tą, kurioje yra MSS).
Šią šerdį galima rasti Libero kataloge (skiltyje Periferiniai įrenginiai). - Dukart spustelėkite šerdį, kad atidarytumėte konfigūratorių.
- Sukonfigūruokite branduolį, kad nurodytumėte, kuriuos periferinius įrenginius reikia inicijuoti (3-3 pav.)
3-3 pav. • CoreConfigP dialogo langas
CoreResetP
Norėdami sukonfigūruoti „CoreResetP“:
- Įdiekite „CoreResetP“ į savo „SmartDesign“ (paprastai tą, kur MSS yra egzempliorius).
Šią šerdį galima rasti Libero kataloge, skiltyje Periferiniai įrenginiai. - Dukart spustelėkite „SmartDesign Canvas“ esančią šerdį, kad atidarytumėte „Configurator“ (3-4 pav.).
- Sukonfigūruokite šerdį taip:
– Nurodykite išorinio nustatymo iš naujo elgseną (tvirtinta EXT_RESET_OUT). Pasirinkite vieną iš keturių parinkčių:
o EXT_RESET_OUT niekada nepatvirtinama
o EXT_RESET_OUT patvirtinamas, jei nurodomas maitinimo įjungimo atstatymas (POWER_ON_RESET_N)
o EXT_RESET_OUT teigiama, jei teigiama FAB_RESET_N
o EXT_RESET_OUT patvirtinamas, jei nurodomas maitinimo įjungimo atstatymas (POWER_ON_RESET_N) arba FAB_RESET_N
– Nurodykite įrenginio tūrįtage. Pasirinkta vertė turi atitikti ttage pasirinkote Libero projekto parametrų dialogo lange.
– Pažymėkite atitinkamus žymimuosius langelius, kad nurodytumėte, kuriuos išorinius įrenginius naudojate kurdami.
– Nurodykite išorinės DDR atminties nustatymo laiką. Tai didžiausia visų jūsų programoje naudojamų DDR atmintinių (MDDR ir FDDR) vertė. Norėdami sukonfigūruoti šį parametrą, žr. išorinės DDR atminties gamintojo duomenų lapą. 200us yra gera numatytoji vertė DDR2 ir DDR3 atmintinėms, veikiančioms 200 MHz dažniu. Tai labai svarbus parametras, užtikrinantis darbo modeliavimą ir veikiančią silicio sistemą. Neteisinga nusistovėjimo laiko vertė gali sukelti modeliavimo klaidų. Norėdami sukonfigūruoti šį parametrą, žr. DDR atminties gamintojo duomenų lapą.
– Kiekviename jūsų dizaino SERDES bloke pažymėkite atitinkamus langelius, kad nurodytumėte, ar:
o Naudojamas PCIe
o Reikalingas PCIe Hot Reset palaikymas
o Reikalingas PCIe L2/P2 palaikymas
Pastaba: Jei naudojate 090 štampą (M2S090), o jūsų dizainas naudoja SERDESIF, jums nereikia pažymėti nė vieno iš šių žymės langelių: „Naudojama PCIe“, „Įtraukti PCIe HotReset palaikymą“ ir „Įtraukti PCIe L2/P2 palaikymą“. Jei naudojate bet kurį ne 090 įrenginį ir naudojate vieną ar daugiau SERDESIF blokų, turite pažymėti visus keturis žymimuosius laukelius atitinkamoje SERDESIF skiltyje.
Pastaba: Išsamesnės informacijos apie galimas parinktis šioje konfigūravimo priemonėje rasite CoreResetP vadove.
3-4 pav. • CoreResetPConfigurator
25/50MHz osciliatoriaus egzistavimas
„CoreConfigP“ ir „CoreResetP“ veikia lusto 25/50 MHz RC osciliatoriumi. Turite sukurti 25/50 MHz osciliatorių ir prijungti jį prie šių branduolių.
- Įdiekite „Chip Oscillators“ šerdį į savo „SmartDesign“ (paprastai tą, kurioje sukuriamas MSS). Šią šerdį galite rasti Libero katalogo skyriuje Laikrodis ir valdymas.
- Sukonfigūruokite šią šerdį taip, kad RC osciliatorius valdytų FPGA audinį, kaip parodyta 3-5 pav.
3-5 pav. • Lustų osciliatorių konfigūratorius
Sistemos atstatymo (SYSRESET) egzistavimas
SYSRESET makrokomanda suteikia įrenginio lygio atstatymo funkciją jūsų dizainui. POWER_ON_RESET_N išvesties signalas įjungiamas/atšaukiamas, kai įjungiamas lustas arba įjungiamas/atšaukiamas išorinis kaištis DEVRST_N (3-6 pav.).
Įdiekite SYSRESET makrokomandą į savo „SmartDesign“ (paprastai tą, kurioje sukuriamas MSS). Šią makrokomandą galite rasti Libero katalogo skiltyje Macro Library. Šios makrokomandos konfigūruoti nereikia.
3-6 pav. • SYSRESET makrokomanda
Bendras ryšys
Sukūrę ir sukonfigūravę MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP ir CoreResetP branduolius savo projekte, turite juos sujungti, kad sudarytumėte periferinės įrangos inicijavimo posistemį. Siekiant supaprastinti ryšio aprašą šiame dokumente, jis suskirstytas į APB3 suderinamą konfigūracijos duomenų kelio ryšį, susietą su CoreConfigP ir su CoreResetP susijusiais ryšiais.
Konfigūracijos duomenų kelio ryšys
3-7 paveiksle parodyta, kaip prijungti CoreConfigP prie MSS FIC_2 signalų ir periferinių įrenginių APB3 suderinamų konfigūracijos sąsajų.
3-1 lentelė • Konfigūracijos duomenų kelias Prievadas/BIF jungtys
NUO Uosto/autobuso sąsaja (BIF)/ Komponentas |
KAM Prievado / magistralės sąsaja (BIF) / komponentas |
||
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 pav. • FIC_2 APB3 posistemio sujungimas
Laikrodžiai ir iš naujo nustato ryšį
3-8 paveiksle parodyta, kaip prijungti CoreResetP prie išorinių atstatymo šaltinių ir periferinių įrenginių pagrindinių atstatymo signalų. Taip pat parodyta, kaip CoreResetP prijungti prie išorinių įrenginių laikrodžio sinchronizavimo būsenos signalų (PLL užrakto signalų). Be to, rodoma, kaip yra sujungti CoreConfigP ir CoreResetP.
3-8 pav. • „Core SF2Reset“ posistemio ryšys
Programinės aparatinės įrangos kūrimas ir kompiliavimas
Kai eksportuojate programinę-aparatinę įrangą iš LiberoSoC (Design Flow Window > Export Firmware > Export Firmware), Libero generuoja toliau nurodytus files /firmware/drivers_config/ sys_config aplankas:
- sys_config.c – Turi duomenų struktūras, kuriose saugomos periferinių registrų reikšmės.
- sys_config.h – Yra #define teiginiai, nurodantys, kurie išoriniai įrenginiai naudojami projektuojant ir kuriuos reikia inicijuoti.
- sys_config_mddr_define.h – Turi MDDR valdiklio konfigūracijos duomenis, įvestus dialogo lange Registrų konfigūracija.
- sys_config_fddr_define.h – Turi FDDR valdiklio konfigūracijos duomenis, įvestus dialogo lange Registrų konfigūracija.
- sys_config_mss_clocks.h – Šitą file yra MSS laikrodžio dažniai, kaip apibrėžta MSS CCC konfigūratoriuje. Šiuos dažnius naudoja CMSIS kodas, kad pateiktų teisingą laikrodžio informaciją daugeliui MSS tvarkyklių, kurios turi turėti prieigą prie savo periferinio laikrodžio (PCLK) dažnio (pvz., MSS UART duomenų perdavimo spartos dalikliai yra duomenų perdavimo spartos ir PCLK dažnio funkcija. ).
- sys_config_SERDESIF_ .c – Sudėtyje yra SERDESIF_ registruokite konfigūracijos duomenis, pateiktus SERDESIF_ bloko konfigūracija kuriant dizainą.
- sys_config_SERDESIF_ .h – Yra #define sakiniai, nurodantys registrų konfigūracijos porų skaičių ir juostos numerį, kurį reikia apklausti PMA_READY (tik PCIe režimu).
Šios files reikalingos, kad CMSIS kodas būtų tinkamai sudarytas ir jame būtų informacija apie jūsų dabartinį dizainą, įskaitant periferinės konfigūracijos duomenis ir MSS laikrodžio konfigūracijos informaciją.
Neredaguokite šių files rankiniu būdu; jie sukuriami atitinkamuose komponentų / periferinių įrenginių kataloguose kiekvieną kartą, kai sugeneruojami SmartDesign komponentai, kuriuose yra atitinkami išoriniai įrenginiai. Jei atliekami kokių nors periferinių įrenginių konfigūracijos duomenų pakeitimų, turite iš naujo eksportuoti programinės įrangos projektus, kad atnaujinta programinė įranga files (žr. aukščiau esantį sąrašą) eksportuojami į / firmware/drivers_config/sys_config aplankas.
Kai eksportuojate programinę-aparatinę įrangą, Libero SoC sukuria programinės įrangos projektus: biblioteką, kurioje yra jūsų dizaino konfigūracija files ir tvarkyklės yra sudarytos.
Jei pažymėsite Kurti projektą Kai eksportuojate programinę-aparatinę įrangą, sukuriamas programinės įrangos SoftConsole/IAR/Keil projektas, skirtas programos projektui, kuriame galite redaguoti main.c ir vartotojo C/H files. Atidarykite SoftConSole/IAR/Keil projektą, kad teisingai sukompiliuotumėte CMSIS kodą ir tinkamai sukonfigūruotumėte programinės įrangos programą, kad ji atitiktų jūsų aparatinės įrangos dizainą.
BFM Files Naudojamas modeliuojant dizainą
Kai generuojate „SmartDesign“ komponentus, kuriuose yra išorinių įrenginių, susijusių su jūsų dizainu, modeliavimas files, atitinkantys atitinkamus periferinius įrenginius, generuojami /simuliacijos katalogas:
- test.bfm – Aukščiausio lygio BFM file kuri pirmą kartą vykdoma atliekant bet kokį modeliavimą, kuriame naudojamas SmartFusion2 MSS Cortex-M3 procesorius. Ji vykdo peripheral_init.bfm ir user.bfm tokia tvarka.
- MDDR_init.bfm – Jei jūsų dizainas naudoja MDDR, Libero tai sukuria file; jame yra BFM rašymo komandos, kurios imituoja MSS DDR konfigūracijos registro duomenų, kuriuos įvedėte (naudojant dialogo langą Redaguoti registrus arba MSS_MDDR GUI), įrašymą į MSS DDR valdiklio registrus.
- FDDR_init.bfm – Jei jūsų dizainas naudoja FDDR, Libero jį sukuria file; jame yra BFM rašymo komandos, kurios imituoja Fabric DDR konfigūracijos registro duomenų, kuriuos įvedėte (naudojant dialogo langą Redaguoti registrus arba FDDR GUI), įrašymą į Fabric DDR valdiklio registrus.
- SERDESIF_ _init.bfm – Jei jūsų dizainas naudoja vieną ar daugiau SERDESIF blokų, Libero sugeneruoja tai file kiekvienam iš SERDESIF_ naudojami blokai; jame yra BFM rašymo komandos, kurios imituoja jūsų įvestų SERDESIF konfigūracijos registro duomenų įrašymą (naudojant dialogo langą Redaguoti registrus arba SERDESIF_ GUI) į SERDESIF_ registrai. Jei SERDESIF blokas sukonfigūruotas kaip PCIe, tai file taip pat turi keletą #define teiginių, kurie kontroliuoja 2 registro konfigūracijos fazių vykdymą tobula tvarka.
- user.bfm – Yra vartotojo komandos. Šios komandos vykdomos užbaigus peripheral_init.bfm. Redaguoti tai file norėdami įvesti savo BFM komandas.
- SERDESIF_ _user.bfm – Yra vartotojo komandos. Redaguoti tai file norėdami įvesti savo BFM komandas. Naudokite tai, jei sukonfigūravote SERDESIF_ blokas BFM PCIe modeliavimo režimu ir kaip AXI/AHBLite pagrindinis. Jei sukonfigūravote SERDESIF_ blokuoti RTL modeliavimo režimu, jums to nereikės file.
Kai kiekvieną kartą pasitelkiate modeliavimą, šie du modeliai files yra iš naujo sukurti į /simulation katalogas su atnaujintu turiniu:
- posistemė.bfm – Yra #define teiginiai kiekvienam išoriniam įrenginiui, kuris naudojamas jūsų dizaine, kurie nurodo konkrečią peripheral_init.bfm sekciją, kuri turi būti vykdoma, atitinkanti kiekvieną išorinį įrenginį.
- operipheral_init.bfm – Yra BFM procedūra, kuri imituoja CMSIS:: SystemInit() funkciją, vykdomą Cortex-M3 prieš įvedant main() procedūrą. Jis nukopijuoja bet kurio konstrukcijoje naudojamo periferinio įrenginio konfigūracijos duomenis į teisingus periferinių įrenginių konfigūracijos registrus ir laukia, kol visi išoriniai įrenginiai bus paruošti, prieš patvirtindama, kad galite naudoti šiuos išorinius įrenginius. Jis vykdo MDDR_init.bfm ir FDDR_init.bfm.
Naudojant šiuos sugeneruotus files, jūsų dizaino DDR valdikliai sukonfigūruojami automatiškai, imituojant, kas nutiktų SmartFusion2 įrenginyje. Galite redaguoti user.bfm file pridėti bet kokių komandų, reikalingų jūsų dizainui imituoti (Cortex-M3 yra pagrindinis). Šios komandos vykdomos inicijavus išorinius įrenginius. Neredaguokite test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files ir SERDESIF_ _init.bfm files.
Produkto palaikymas
„Microsemi SoC Products Group“ teikia savo gaminius įvairiomis palaikymo paslaugomis, įskaitant klientų aptarnavimą, klientų techninės pagalbos centrą ir kt websvetainę, elektroninį paštą ir pasaulinius pardavimo biurus.
Šiame priede pateikiama informacija apie tai, kaip susisiekti su Microsemi SoC Products Group ir naudotis šiomis palaikymo paslaugomis.
Klientų aptarnavimas
Susisiekite su klientų aptarnavimo tarnyba dėl netechninio produkto palaikymo, pvz., produkto kainodaros, gaminio atnaujinimo, atnaujinimo informacijos, užsakymo būsenos ir įgaliojimo.
Iš Šiaurės Amerikos skambinkite 800.262.1060
Iš viso pasaulio skambinkite 650.318.4460
Faksas iš bet kurios pasaulio vietos, 408.643.6913
Klientų techninės pagalbos centras
„Microsemi SoC Products Group“ klientų techninio aptarnavimo centre dirba aukštos kvalifikacijos inžinieriai, kurie gali padėti atsakyti į jūsų techninės, programinės įrangos ir dizaino klausimus apie „Microsemi SoC“ produktus. Klientų techninės pagalbos centras praleidžia daug laiko kurdamas pastabas apie taikomąsias programas, atsakymus į dažniausiai pasitaikančius projektavimo ciklo klausimus, žinomų problemų dokumentaciją ir įvairius DUK. Taigi, prieš susisiekdami su mumis, apsilankykite mūsų internetiniuose šaltiniuose. Labai tikėtina, kad mes jau atsakėme į jūsų klausimus.
Techninė pagalba
Apsilankykite klientų aptarnavimo skyriuje websvetainė (www.microsemi.com/soc/support/search/default.aspx), jei norite gauti daugiau informacijos ir pagalbos. Daug atsakymų galima rasti paieškos sistemoje web ištekliai apima diagramas, iliustracijas ir nuorodas į kitus išteklius websvetainę.
Websvetainę
Galite naršyti įvairią techninę ir netechninę informaciją SoC pagrindiniame puslapyje adresu www.microsemi.com/soc.
Susisiekite su klientų techninės pagalbos centru
Techninio aptarnavimo centre dirba aukštos kvalifikacijos inžinieriai. Su techninės pagalbos centru galima susisiekti el. paštu arba per Microsemi SoC produktų grupę websvetainę.
El. paštas
Savo techninius klausimus galite pateikti mūsų el. pašto adresu ir gauti atsakymus el. paštu, faksu arba telefonu. Be to, jei turite dizaino problemų, savo dizainą galite siųsti el files gauti pagalbą.
Pašto paskyrą nuolat stebime visą dieną. Siųsdami mums užklausą, būtinai nurodykite savo vardą, pavardę, įmonės pavadinimą ir kontaktinę informaciją, kad užklausa būtų tinkamai apdorota.
Techninės pagalbos el. pašto adresas yra soc_tech@microsemi.com.
Mano atvejai
„Microsemi SoC Products Group“ klientai gali pateikti ir stebėti techninius atvejus internetu, apsilankę adresu Mano atvejai.
Už JAV ribų
Klientai, kuriems reikia pagalbos už JAV laiko juostų ribų, gali susisiekti su technine pagalba el. paštu (soc_tech@microsemi.com) arba kreipkitės į vietinį pardavimo biurą. Pardavimo biurų sąrašus galite rasti adresu www.microsemi.com/soc/company/contact/default.aspx.
ITAR techninė pagalba
Jei reikia techninės pagalbos dėl RH ir RT FPGA, kurioms taikomas Tarptautinės prekybos ginklais taisyklės (ITAR), susisiekite su mumis per soc_tech_itar@microsemi.com. Arba skiltyje Mano atvejai ITAR išskleidžiamajame sąraše pasirinkite Taip. Norėdami gauti visą ITAR reguliuojamų Microsemi FPGA sąrašą, apsilankykite ITAR web puslapį.
„Microsemi Corporation“ (NASDAQ: MSCC) siūlo platų puslaidininkių sprendimų, skirtų: aviacija, gynyba ir saugumas; įmonė ir ryšiai; pramoninės ir alternatyvios energijos rinkos. Produktai apima didelio našumo, didelio patikimumo analoginius ir RF įrenginius, mišrius signalo ir RF integrinius grandynus, tinkinamus SoC, FPGA ir užbaigtus posistemius. „Microsemi“ būstinė yra Aliso Viejo mieste, Kalifornijoje. Sužinokite daugiau adresu www.microsemi.com.
© „Microsemi Corporation“, 2014 m. Visos teisės saugomos. Microsemi ir Microsemi logotipas yra Microsemi Corporation prekių ženklai. Visi kiti prekių ir paslaugų ženklai yra atitinkamų jų savininkų nuosavybė.
5-02-00384-1/08.14„Microsemi“ įmonės būstinė
One Enterprise, Aliso Viejo CA 92656 JAV
JAV: +1 949-380-6100
Pardavimai: +1 949-380-6136
Faksas: +1 XNUMX XNUMX XNUMX 949-215-4996
Dokumentai / Ištekliai
![]() |
Microsemi SmartFusion2 DDR valdiklis ir serijinis didelės spartos valdiklis [pdfVartotojo vadovas SmartFusion2 DDR valdiklis ir nuoseklusis didelės spartos valdiklis, SmartFusion2 DDR, valdiklis ir nuoseklusis didelės spartos valdiklis, didelės spartos valdiklis |