SmartFusion2
DDR kontroler i serijski brzi kontroler
Metodologija inicijalizacije
Upute za korištenje
Uvod
Prilikom izrade dizajna pomoću uređaja SmartFusion2, ako koristite jedan od dva DDR kontrolera (FDDR ili MDDR) ili bilo koji od blokova serijskog kontrolera velike brzine (SERDESIF), morate inicijalizirati konfiguracijske registre ovih blokova u vrijeme izvođenja prije nego što mogu se koristiti. Na primjerample, za DDR kontroler, morate postaviti DDR mod (DDR3/DDR2/LPDDR), PHY širinu, burst mod i ECC.
Slično, za SERDESIF blok koji se koristi kao PCIe krajnja točka, morate postaviti PCIE BAR na AXI (ili AHB) prozor.
Ovaj dokument opisuje korake potrebne za stvaranje Libero dizajna koji automatski inicijalizira DDR kontroler i SERDESIF blokove pri uključivanju. Također opisuje kako generirati kod firmvera iz Libero SOC-a koji se koristi u ugrađenom tijeku dizajna.
Prvo je dat detaljan opis teorije operacija.
Sljedeći odjeljak opisuje kako izraditi takav dizajn koristeći Libero SoC System Builder, moćan alat za dizajn koji, između ostalih značajki, stvara rješenje za 'inicijalizaciju' za vas ako koristite DDR ili SERDESIF blokove u svom dizajnu.
Sljedeći odjeljak opisuje kako sastaviti kompletno rješenje 'inicijalizacije' bez korištenja SmartFusion2 System Buildera. Ovo pomaže objasniti što treba učiniti ako ne želite koristiti System Builder, a također opisuje što alat System Builder zapravo generira za vas. Ovaj odjeljak govori o:
- Stvaranje konfiguracijskih podataka za DDR kontroler i SERDESIF konfiguracijske registre
- Stvaranje FPGA logike potrebne za prijenos konfiguracijskih podataka u različite ASIC konfiguracijske registre
Na kraju opisujemo generirano fileodnosi se na:
- Stvaranje rješenja za 'inicijalizaciju' firmvera.
- Simulacija dizajna za rješenje 'inicijalizacije' DDR-a.
Za detalje o DDR kontroleru i SERDESIF konfiguracijskim registrima, pogledajte Korisnički priručnik za Microsemi SmartFusion2 brza serijska i DDR sučelja.
Teorija operacije
Rješenje za inicijalizaciju periferije koristi sljedeće glavne komponente:
- Funkcija CMSIS SystemInit(), koja radi na Cortex-M3 i upravlja procesom inicijalizacije.
- CoreConfigP soft IP jezgra, koja inicijalizira konfiguracijske registre perifernih uređaja.
- CoreResetP soft IP jezgra, koja upravlja nizom resetiranja MSS, DDR kontrolera i SERDESIF blokova.
Proces inicijalizacije periferije radi na sljedeći način:
- Nakon resetiranja, Cortex-M3 pokreće funkciju CMSIS SystemInit(). Ova se funkcija automatski izvršava prije nego što se izvrši aplikacija main() funkcija.
Izlazni signal CoreResetP MSS_HPMS_READY javlja se na početku procesa inicijalizacije, pokazujući da su MSS i svi periferni uređaji (osim MDDR) spremni za komunikaciju. - Funkcija SystemInit() zapisuje konfiguracijske podatke u DDR kontrolere i SERDESIF konfiguracijske registre putem MSS FIC_2 APB3 sabirnice. Ovo sučelje povezano je s mekom CoreConfigP jezgrom instanciranom u FPGA fabrici.
- Nakon što su svi registri konfigurirani, funkcija SystemInit() piše u kontrolne registre CoreConfigP kako bi označila završetak faze konfiguracije registra; zatim se potvrđuju CoreConfigP izlazni signali CONFIG1_DONE i CONIG2_DONE.
Postoje dvije faze konfiguracije registra (CONFIG1 i CONFIG2) ovisno o periferiji koja se koristi u dizajnu. - Ako se koriste jedan ili oba MDDR/FDDR, a niti jedan SERDESIF blok nije korišten u dizajnu, postoji samo jedna faza konfiguracije registra. Oba izlazna signala CoreConfigP CONFIG1_DONE i CONIG2_DONE objavljuju se jedan za drugim bez čekanja/kašnjenja.
Ako se u dizajnu koristi jedan ili više SERDESIF blokova u ne-PCIe načinu rada, postoji samo jedna faza konfiguracije registra. CONFIG1_DONE i CONIG2_DONE potvrđuju se jedan za drugim bez čekanja/kašnjenja.
Ako se u dizajnu koristi jedan ili više SERDESIF blokova u PCIe načinu rada, postoje dvije faze konfiguracije registra. CONFIG1_DONE se potvrđuje nakon završetka prve faze konfiguracije registra. U ovoj fazi se konfiguriraju sustav SERDESIF i registri traka. Ako je SERDESIF konfiguriran u načinu rada koji nije PCIE, signal CONFIG2_DONE se također potvrđuje odmah. - Zatim slijedi druga faza konfiguracije registra (ako je SERDESIF konfiguriran u PCIE modu). Sljedeći su različiti događaji koji se događaju u drugoj fazi:
– CoreResetP poništava PHY_RESET_N i CORE_RESET_N signale koji odgovaraju svakom od SERDESIF blokova koji se koriste. Također potvrđuje izlazni signal SDIF_RELEASED nakon što su svi SERDESIF blokovi izvan resetiranja. Ovaj SDIF_RELEASED signal se koristi za označavanje CoreConfigP-u da je SERDESIF jezgra izvan resetiranja i da je spremna za drugu fazu konfiguracije registra.
– Nakon što se potvrdi signal SDIF_RELEASED, funkcija SystemInit() počinje ispitivati tvrdnju PMA_READY na odgovarajućoj traci SERDESIF. Nakon što je PMA_READY potvrđen, drugi skup SERDESIF registara (PCIE registri) konfigurira se/upisuje funkcija SystemInit(). - Nakon što su konfigurirani svi PCIE registri, funkcija SystemInit() piše u kontrolne registre CoreConfigP kako bi označila završetak druge faze konfiguracije registra; tada se potvrđuje izlazni signal CoreConfigP CONIG2_DONE.
- Osim gore navedenih tvrdnji/de-tvrdnji signala, CoreResetP također upravlja inicijalizacijom različitih blokova izvođenjem sljedećih funkcija:
– Poništavanje resetiranja FDDR jezgre
– Poništavanje SERDESIF blokova PHY i CORE resetira
– Praćenje signala zaključavanja FDDR PLL (FPLL). FPLL mora biti zaključan kako bi se jamčilo da podatkovno sučelje FDDR AXI/AHBLite i FPGA tkanina mogu ispravno komunicirati.
– Praćenje SERDESIF blok PLL (SPLL) signala zaključavanja. SPLL mora biti zaključan kako bi se jamčilo da SERDESIF blokovi AXI/AHBLite sučelje (PCIe mod) ili XAUI sučelje mogu ispravno komunicirati s FPGA strukturom.
– Čeka se da se vanjske DDR memorije smjeste i budu spremne za pristup DDR kontrolerima. - Kada su svi periferni uređaji dovršili svoju inicijalizaciju, CoreResetP potvrđuje signal INIT_DONE; zatim se potvrđuje interni registar CoreConfigP INIT_DONE.
Ako se koristi jedan ili oba MDDR/FDDR, a vrijeme inicijalizacije DDR-a je dosegnuto, javlja se CoreResetP izlazni signal DDR_READY. Potvrda ovog signala DDR_READY može se pratiti kao indikacija da je DDR (MDDR/FDDR) spreman za komunikaciju.
Ako se koristi jedan ili više SERDESIF blokova, a druga faza konfiguracije registra je uspješno dovršena, potvrđuje se CoreResetP izlazni signal SDIF_READY. Tvrdnja ovog signala SDIF_READY može se pratiti kao indikacija da su svi SERDESIF blokovi spremni za komunikaciju. - Funkcija SystemInit(), koja je čekala da se potvrdi INIT_DONE, dovršava se i izvršava se funkcija main() aplikacije. U to su vrijeme svi korišteni DDR kontroleri i SERDESIF blokovi inicijalizirani, a firmware aplikacija i logika FPGA tkanine mogu pouzdano komunicirati s njima.
Metodologija opisana u ovom dokumentu oslanja se na Cortex-M3 koji izvršava proces inicijalizacije kao dio koda za inicijalizaciju sustava koji se izvodi prije glavne()funkcije aplikacije.
Pogledajte dijagram toka na slici 1-1, slici 1-2 i slici 1-3 za korake inicijalizacije FDDR/MDDR, SEREDES (način koji nije PCIe) i SERDES (način PCIe).
Slika 1-4 prikazuje vremenski dijagram periferne inicijalizacije.
![]() |
![]() |
Slika 1-3 • Dijagram toka inicijalizacije SERDESIF (PCIe).
Postupak inicijalizacije opisan u ovom dokumentu zahtijeva da pokrenete Cortex-M3 tijekom procesa inicijalizacije, čak i ako ne planirate pokrenuti bilo kakav kod na Cortex-M3. Morate stvoriti osnovnu firmware aplikaciju koja ne radi ništa (jednostavna petlja, nprample) i učitajte tu izvršnu datoteku u ugrađenu trajnu memoriju (eNVM) tako da se DDR kontroleri i SERDESIF blokovi inicijaliziraju kada se Cortex-M3 pokrene.
Korištenje System Buildera za stvaranje dizajna pomoću DDR i SERDESIF blokova
SmartFusion2 System Builder moćan je alat za dizajn koji vam pomaže uhvatiti zahtjeve na razini sustava i proizvodi dizajn koji implementira te zahtjeve. Vrlo važna funkcija System Buildera je automatsko kreiranje podsustava Peripheral Initialization. “Korištenje SmartDesigna za stvaranje dizajna pomoću DDR i SERDESIF blokova” na stranici 17 detaljno opisuje kako stvoriti takvo rješenje bez System Buildera.
Ako koristite System Builder, morate izvršiti sljedeće zadatke kako biste stvorili dizajn koji inicijalizira vaše DDR kontrolere i SERDESIF blokove pri uključivanju:
- Na stranici Device Features (Slika 2-1), odredite koji se DDR kontroleri koriste i koliko se SERDESIF blokova koristi u vašem dizajnu.
- Na stranici Memorija odredite vrstu DDR (DDR2/DDR3/LPDDR) i konfiguracijske podatke za vaše vanjske DDR memorije. Za detalje pogledajte odjeljak Stranica memorije.
- Na stranici Peripherals dodajte mastere tkanine konfigurirane kao AHBLite/AXI u Fabric DDR podsustav i/ili MSS DDR FIC podsustav (izborno).
- Na stranici Postavke sata navedite frekvencije takta za DDR podsustave.
- Dovršite svoju specifikaciju dizajna i kliknite Završi. Ovo generira dizajn koji je izradio System Builder, uključujući logiku potrebnu za rješenje 'inicijalizacije'.
- Ako koristite SERDESIF blokove, morate instancirati SERDESIF blokove u svom dizajnu i povezati njihove inicijalizacijske portove s onima generirane jezgre System Builderom.
Stranica sa značajkama uređaja System Builder
Na stranici Značajke uređaja navedite koji se DDR kontroleri (MDDR i/ili FDDR) koriste i koliko se SERDESIF blokova koristi u vašem dizajnu (Slika 2-1).
Slika 2-1 • Stranica sa značajkama uređaja System Builder
Stranica memorije graditelja sustava
Za korištenje MSS DDR (MDDR) ili Fabric DDR (FDDR), odaberite vrstu memorije s padajućeg popisa (Slika 2-2).
Slika 2-2 • MSS vanjska memorija
Morate:
- Odaberite vrstu DDR (DDR2, DDR3 ili LPDDR).
- Definirajte vrijeme uspostavljanja DDR memorije. Posavjetujte se sa specifikacijama vaše vanjske DDR memorije kako biste postavili ispravno vrijeme postavke memorije. DDR memorija se možda neće uspjeti ispravno inicijalizirati ako vrijeme ustaljivanja memorije nije ispravno postavljeno.
- Ili uvezite konfiguracijske podatke DDR registra ili postavite svoje parametre DDR memorije. Za detalje pogledajte Korisnički priručnik za Microsemi SmartFusion2 brza serijska i DDR sučelja.
Ovi se podaci koriste za generiranje DDR registra BFM i konfiguracije firmvera files kako je opisano u “Stvaranje i kompajliranje aplikacije firmvera” na stranici 26 i “BFM Files Koristi se za simulaciju dizajna” na stranici 27. Za detalje o registrima konfiguracije DDR kontrolera, pogledajte Korisnički priručnik za Microsemi SmartFusion2 brza serijska i DDR sučelja.
Bivšiample konfiguracije file sintaksa prikazana je na slici 2-3. Nazivi registara korišteni u ovom file su isti kao oni opisani u Korisnički priručnik za Microsemi SmartFusion2 brza serijska i DDR sučelja
Slika 2-3 • Konfiguracija File Sintaksa Nprample
Stranica Periferije graditelja sustava
Na stranici Peripherals za svaki DDR kontroler kreira se poseban podsustav (Fabric DDR Subsystem za FDDR i MSS DDR FIC Subsystem za MDDR). Možete dodati Fabric AMBA Master (konfiguriranu kao AXI/AHBLite) jezgru svakom od ovih podsustava kako biste omogućili Fabric Master pristup DDR kontrolerima. Nakon generiranja, System Builder automatski instancira jezgre sabirnice (ovisno o vrsti dodanog AMBA Mastera) i izlaže glavni BIF jezgre sabirnice i pinove za sat i resetiranje odgovarajućih podsustava (FDDR/MDDR) pod odgovarajućim grupama pinova, vrh. Sve što trebate učiniti je povezati BIF-ove s odgovarajućim Fabric Master jezgrama koje biste instancirali u dizajnu. U slučaju MDDR-a, nije obavezno dodati Fabric AMBA Master jezgru u MSS DDR FIC podsustav; Cortex-M3 je zadani master na ovom podsustavu. Slika 2-4 prikazuje stranicu System Builder Peripherals.
Slika 2-4 • Stranica Periferije Graditelja sustava
Stranica s postavkama sata programa System Builder
Na stranici Postavke sata, za svaki DDR kontroler, morate navesti frekvencije takta koje se odnose na svaki DDR (MDDR i/ili FDDR) podsustav.
Za MDDR morate navesti:
- MDDR_CLK – Ovaj takt određuje radnu frekvenciju DDR kontrolera i trebao bi odgovarati frekvenciji takta na kojoj želite da vaša vanjska DDR memorija radi. Ovaj sat je definiran kao višekratnik M3_CLK (Cortex-M3 i MSS glavni sat, slika 2-5). MDDR_CLK mora biti manji od 333 MHz.
- DDR_FIC_CLK – Ako ste također odabrali pristup MDDR-u iz FPGA tkanine, trebate navesti DDR_FIC_CLK. Ova taktna frekvencija definirana je kao omjer MDDR_CLK i trebala bi odgovarati frekvenciji na kojoj radi podsustav FPGA tkanine koji pristupa MDDR-u.
Slika 2-5 • Glavni sat Cortex-M3 i MSS; MDDR satovi
Za FDDR morate navesti:
- FDDR_CLK – Određuje radnu frekvenciju DDR kontrolera i trebala bi odgovarati frekvenciji takta na kojoj želite da vaša vanjska DDR memorija radi. Imajte na umu da je ovaj takt definiran kao višekratnik M3_CLK (takt MSS i Cortex-M3, slika 2-5). FDDR_CLK mora biti unutar 20 MHz i 333 MHz.
- FDDR_SUBSYSTEM_CLK – Ova taktna frekvencija definirana je kao omjer FDDR_CLK i trebala bi odgovarati frekvenciji na kojoj radi podsustav FPGA tkanine koji pristupa FDDR-u.
Slika 2-6 • Fabric DDR satovi
SERDESIF Konfiguracija
Blokovi SERDESIF nisu instancirani u dizajnu koji je generirao System Builder. Međutim, za sve SERDESIF blokove, inicijalizacijski signali dostupni su na sučelju jezgre System Builder i mogu se povezati sa SERDESIF jezgrama na sljedećoj razini hijerarhije, kao što je prikazano na slici 2-7.Slika 2-7 • SERDESIF povezivost periferne inicijalizacije
Slično DDR konfiguracijskim registrima, svaki SERDES blok također ima konfiguracijske registre koji se moraju učitati tijekom izvođenja. Možete uvesti ove vrijednosti registra ili koristiti konfigurator serijskog sučelja velike brzine (Slika 2-8) za unos vaših PCIe ili EPCS parametara i vrijednosti registra automatski će se izračunati za vas. Za detalje pogledajte Upute za korištenje SERDES konfiguratora.Slika 2-8 • Konfigurator serijskog sučelja velike brzine
Nakon što integrirate svoju korisničku logiku s blokom System Builder i SERDES blokom, možete generirati svoj SmartDesign najviše razine. Ovo generira sve HDL i BFM filekoji su potrebni za implementaciju i simulaciju vašeg dizajna. Zatim možete nastaviti s ostatkom tijeka dizajna.
Korištenje SmartDesigna za izradu dizajna pomoću DDR i SERDESIF blokova
Ovaj odjeljak opisuje kako sastaviti kompletno rješenje 'inicijalizacije' bez korištenja SmartFusion2 System Buildera. Cilj je pomoći vam da shvatite što morate učiniti ako ne želite koristiti System Builder. Ovaj odjeljak također opisuje što alat System Builder zapravo generira za vas. Ovaj odjeljak opisuje kako:
- Unesite konfiguracijske podatke za DDR kontroler i SERDESIF konfiguracijske registre.
- Instancirajte i povežite Fabric Core potrebne za prijenos konfiguracijskih podataka na DDR kontrolere i SERDESIF konfiguracijske registre.
Konfiguracija DDR kontrolera
Kontroleri MSS DDR (MDDR) i Fabric DDR (FDDR) moraju biti konfigurirani dinamički (u vrijeme izvođenja) kako bi odgovarali zahtjevima konfiguracije vanjske DDR memorije (DDR način rada, PHY širina, burst način rada, ECC itd.). Podaci uneseni u MDDR/FDDR konfigurator upisuju se u konfiguracijske registre DDR kontrolera pomoću funkcije CMSIS SystemInit(). Konfigurator ima tri različite kartice za unos različitih vrsta konfiguracijskih podataka:
- Opći podaci (DDR način rada, širina podataka, frekvencija takta, ECC, sučelje tkanine, snaga pogona)
- Podaci o inicijalizaciji memorije (duljina niza, redoslijed niza, vremenski način rada, latencija itd.)
- Podaci o vremenu memorije
Pogledajte specifikacije vaše vanjske DDR memorije i konfigurirajte DDR kontroler da odgovara zahtjevima vaše vanjske DDR memorije.
Za detalje o DDR konfiguraciji, pogledajte Korisnički priručnik za konfiguraciju SmartFusion2 MSS DDR.
SERDESIF Konfiguracija
Dvaput kliknite blok SERDES u SmartDesign platnu da biste otvorili konfigurator za konfiguraciju SERDES-a (Slika 3-1). Možete ili uvesti ove vrijednosti registra ili koristiti SERDES konfigurator za unos vaših PCIe ili EPCS parametara i vrijednosti registra automatski će se izračunati za vas. Za detalje pogledajte Upute za korištenje SERDES konfiguratora.Slika 3-1 • Konfigurator serijskog sučelja velike brzine
Stvaranje podsustava za inicijalizaciju dizajna FPGA
Da biste inicijalizirali DDR i SERDESIF blokove, morate stvoriti inicijalizacijski podsustav u FPGA strukturi. Podsustav za inicijalizaciju FPGA tkanine premješta podatke iz Cortex-M3 u DDR i SERDESIF konfiguracijske registre, upravlja sekvencama resetiranja potrebnim da bi ti blokovi bili operativni i signalizira kada su ti blokovi spremni za komunikaciju s ostatkom vašeg dizajna. Da biste kreirali podsustav inicijalizacije, morate:
- Konfigurirajte FIC_2 unutar MSS-a
- Instancirajte i konfigurirajte jezgre CoreConfigP i CoreResetP
- Instancirajte 25/50MHz RC oscilator na čipu
- Instancirajte makronaredbu za vraćanje sustava (SYSRESET).
- Spojite ove komponente na konfiguracijska sučelja, satove, resetiranje i PLL zaključane priključke svake periferije
MSS FIC_2 APB konfiguracija
Da biste konfigurirali MSS FIC_2:
- Otvorite dijaloški okvir FIC_2 konfiguratora iz MSS konfiguratora (Slika 3-2).
- Odaberite Inicijaliziraj periferne uređaje pomoću Cortex-M3.
- Ovisno o vašem sustavu, potvrdite jedan ili oba sljedeća okvira za izbor:
– MSS DDR
– Fabric DDR i/ili SERDES blokovi - Kliknite OK i nastavite s generiranjem MSS-a (možete odgoditi ovu radnju dok u potpunosti ne konfigurirate MSS prema svojim zahtjevima dizajna). FIC_2 priključci (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK i FIC_2_APB_M_RESET_N) sada su izloženi na MSS sučelju i mogu se spojiti na jezgre CoreConfigP i CoreResetP.
Slika 3-2 • Konfigurator MSS FIC_2
CoreConfigP
Da biste konfigurirali CoreConfigP:
- Instancirajte CoreConfigP u svoj SmartDesign (obično onaj gdje se instancira MSS).
Ova jezgra se može pronaći u Libero katalogu (pod Peripherals). - Dvaput kliknite jezgru da biste otvorili konfigurator.
- Konfigurirajte jezgru kako biste odredili koje periferne uređaje treba inicijalizirati (Slika 3-3)
Slika 3-3 • CoreConfigP dijaloški okvir
CoreResetP
Da biste konfigurirali CoreResetP:
- Instancirajte CoreResetP u svoj SmartDesign (obično onaj gdje se instancira MSS).
Ova jezgra se može pronaći u Libero katalogu, pod Peripherals. - Dvaput kliknite jezgru unutar SmartDesign platna da biste otvorili konfigurator (Slika 3-4).
- Konfigurirajte jezgru za:
– Odredite ponašanje eksternog resetiranja (EXT_RESET_OUT potvrđeno). Odaberite jednu od četiri opcije:
o EXT_RESET_OUT se nikada ne potvrđuje
o EXT_RESET_OUT se potvrđuje ako se aktivira resetiranje (POWER_ON_RESET_N)
o EXT_RESET_OUT se potvrđuje ako se potvrđuje FAB_RESET_N
o EXT_RESET_OUT se potvrđuje ako se ponovno uključi napajanje (POWER_ON_RESET_N) ili FAB_RESET_N
– Navedite Device Voltage. Odabrana vrijednost treba odgovarati voltage ste odabrali u dijaloškom okviru Libero Project Settings.
– Označite odgovarajuće potvrdne okvire kako biste označili koje periferne uređaje koristite u svom dizajnu.
– Navedite vrijeme postavljanja vanjske DDR memorije. Ovo je najveća vrijednost za sve DDR memorije koje se koriste u vašoj aplikaciji (MDDR i FDDR). Za konfiguraciju ovog parametra pogledajte podatkovnu tablicu dobavljača vanjske DDR memorije. 200us je dobra zadana vrijednost za DDR2 i DDR3 memorije koje rade na 200MHz. Ovo je vrlo važan parametar koji jamči radnu simulaciju i radni sustav na siliciju. Netočna vrijednost za vrijeme taloženja može dovesti do pogrešaka u simulaciji. Za konfiguraciju ovog parametra pogledajte podatkovnu tablicu dobavljača DDR memorije.
– Za svaki SERDES blok u vašem dizajnu označite odgovarajuće okvire da biste naznačili:
o PCIe se koristi
o Potrebna je podrška za PCIe Hot Reset
o Potrebna je podrška za PCIe L2/P2
Bilješka: Ako koristite 090 matricu (M2S090) i vaš dizajn koristi SERDESIF, ne morate označiti nijedan od sljedećih potvrdnih okvira: 'Used for PCIe', 'Include PCIe HotReset support' i 'Include PCIe L2/P2 support'. Ako koristite bilo koji uređaj koji nije 090 i koristite jedan ili više SERDESIF blokova, morate označiti sva četiri potvrdna okvira u odgovarajućem SERDESIF odjeljku.
Bilješka: Za pojedinosti o opcijama koje su vam dostupne u ovom konfiguratoru, pogledajte CoreResetP Handbook.
Slika 3-4 • CoreResetPConfigurator
Instancija oscilatora od 25/50MHz
CoreConfigP i CoreResetP taktiraju 25/50MHz RC oscilator na čipu. Morate instancirati 25/50MHz oscilator i spojiti ga na ove jezgre.
- Instancirajte jezgru oscilatora čipa u svoj SmartDesign (obično onu gdje se instancira MSS). Ova jezgra se može pronaći u Libero katalogu pod Clock & Management.
- Konfigurirajte ovu jezgru tako da RC oscilator pokreće FPGA strukturu, kao što je prikazano na slici 3-5.
Slika 3-5 • Konfigurator čip oscilatora
Resetiranje sustava (SYSRESET).
Makro SYSRESET vašem dizajnu omogućuje funkciju resetiranja na razini uređaja. Izlazni signal POWER_ON_RESET_N se potvrđuje/isključuje svaki put kada se čip uključi ili se eksterni pin DEVRST_N aktivira/isključuje (Slika 3-6).
Instancirajte SYSRESET makronaredbu u svoj SmartDesign (obično onaj gdje se instancira MSS). Ovaj makronaredbu možete pronaći u Libero katalogu pod Bibliotekom makronaredbi. Nije potrebna konfiguracija ove makronaredbe.
Slika 3-6 • Makro SYSRESET
Sveukupna povezanost
Nakon što ste instancirali i konfigurirali jezgre MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP i CoreResetP u svom dizajnu, trebate ih povezati kako biste formirali podsustav Peripheral Initialization. Kako bi se pojednostavio opis povezivosti u ovom dokumentu, on je razbijen na povezivost staze podataka konfiguracije usklađene s APB3 povezanom s vezama povezanim s CoreConfigP i CoreResetP.
Povezivost konfiguracijskog podatkovnog puta
Slika 3-7 prikazuje kako povezati CoreConfigP s MSS FIC_2 signalima i konfiguracijskim sučeljima perifernih uređaja kompatibilnih s APB3.
Tablica 3-1 • Konfiguracijski put podataka Port/BIF veze
IZ Port/Bus sučelje (BIF)/ Komponenta |
DO Port/Bus sučelje (BIF)/komponenta |
||
APB S PRESET N/ CoreConfigStr | 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 |
Slika 3-7 • Povezivanje podsustava FIC_2 APB3
Satovi i poništavanje veze
Slika 3-8 prikazuje kako povezati CoreResetP s vanjskim izvorima resetiranja i signalima jezgre resetiranja perifernih uređaja. Također pokazuje kako povezati CoreResetP sa signalima statusa sinkronizacije sata perifernih uređaja (signali PLL zaključavanja). Osim toga, pokazuje kako su povezani CoreConfigP i CoreResetP.
Slika 3-8 • Povezivanje podsustava jezgre SF2Reset
Stvaranje i kompajliranje aplikacije firmvera
Kada izvezete firmver iz LiberoSoC-a (prozor Tijek dizajna > Izvoz firmvera > Izvoz firmvera), Libero generira sljedeće files u /firmware/drivers_config/ mapa sys_config:
- sys_config.c – Sadrži strukture podataka koje sadrže vrijednosti za periferne registre.
- sys_config.h – Sadrži naredbe #define koje određuju koje se periferije koriste u dizajnu i koje je potrebno inicijalizirati.
- sys_config_mddr_define.h – Sadrži konfiguracijske podatke MDDR kontrolera unesene u dijaloški okvir Registrs Configuration.
- sys_config_fddr_define.h – Sadrži podatke o konfiguraciji FDDR kontrolera unesene u dijaloški okvir Registrs Configuration.
- sys_config_mss_clocks.h – Ovo file sadrži taktne frekvencije MSS-a kako je definirano u MSS CCC konfiguratoru. Ove frekvencije koristi CMSIS kod za pružanje ispravnih informacija o satu mnogim MSS pogoniteljima koji moraju imati pristup svojoj frekvenciji perifernog sata (PCLK) (npr. MSS UART djelitelji brzine prijenosa su funkcija brzine prijenosa i PCLK frekvencije ).
- sys_config_SERDESIF_ .c – Sadrži SERDESIF_ podaci o konfiguraciji registra dostavljeni tijekom SERDESIF_ blok konfiguracija u izradi dizajna.
- sys_config_SERDESIF_ .h – Sadrži naredbe #define koje određuju broj parova konfiguracije registara i broj staze koji se treba ispitati za PMA_READY (samo u PCIe načinu).
ove filepotrebni su kako bi se CMSIS kod pravilno kompilirao i sadržavao informacije o vašem trenutnom dizajnu, uključujući podatke o perifernoj konfiguraciji i informacije o konfiguraciji sata za MSS.
Nemojte ih uređivati files ručno; kreiraju se u odgovarajućim direktorijima komponenti/periferija svaki put kada se generiraju SmartDesign komponente koje sadrže odgovarajuće periferije. Ako se naprave bilo kakve promjene u podacima o konfiguraciji bilo kojeg perifernog uređaja, trebate ponovno izvesti projekte firmvera tako da ažurirani firmver files (pogledajte gornji popis) izvoze se u / mapa firmware/drivers_config/sys_config.
Kada izvozite firmware, Libero SoC stvara firmware projekte: biblioteku u kojoj se nalazi vaša konfiguracija dizajna files i upravljački programi su kompilirani.
Ako označite Create project potvrdni okvir kada izvozite firmware, kreira se softverski SoftConsole/IAR/Keil projekt za držanje projekta aplikacije gdje možete uređivati main.c i korisnički C/H files. Otvorite projekt SoftConSole/IAR/Keil da ispravno kompajlirate CMSIS kod i pravilno konfigurirate svoju firmware aplikaciju kako bi odgovarala vašem dizajnu hardvera.
BFM Files Koristi se za simulaciju dizajna
Kada generirate SmartDesign komponente koje sadrže periferne uređaje povezane s vašim dizajnom, simulacija files koji odgovaraju odgovarajućim periferijama generiraju se u /simulacijski direktorij:
- test.bfm – BFM na najvišoj razini file koji se prvi put izvršava tijekom bilo koje simulacije koja vježba SmartFusion2 MSS Cortex-M3 procesor. Izvršava peripheral_init.bfm i user.bfm, tim redoslijedom.
- MDDR_init.bfm – Ako vaš dizajn koristi MDDR, Libero ga generira file; sadrži BFM naredbe za pisanje koje simuliraju pisanje podataka registra konfiguracije MSS DDR koje ste unijeli (koristeći dijaloški okvir za uređivanje registara ili u MSS_MDDR GUI) u registre MSS DDR kontrolera.
- FDDR_init.bfm – Ako vaš dizajn koristi FDDR, Libero ga generira file; sadrži BFM naredbe za pisanje koje simuliraju zapise podataka konfiguracijskog registra Fabric DDR koje ste unijeli (pomoću dijaloškog okvira za uređivanje registara ili u FDDR GUI) u registre Fabric DDR Controllera.
- SERDESIF_ _init.bfm – Ako vaš dizajn koristi jedan ili više SERDESIF blokova, Libero to generira file za svaki od SERDESIF_ korišteni blokovi; sadrži BFM naredbe za pisanje koje simuliraju pisanje podataka SERDESIF konfiguracijskog registra koje ste unijeli (koristeći dijaloški okvir Uredi registre ili u SERDESIF_ GUI) u SERDESIF_ registri. Ako je SERDESIF blok konfiguriran kao PCIe, ovo file također ima neke #define naredbe koje kontroliraju izvršenje 2 faze konfiguracije registra u savršenom redoslijedu.
- korisnik.bfm – Sadrži korisničke naredbe. Ove se naredbe izvršavaju nakon što peripheral_init.bfm završi. Uredi ovo file za unos BFM naredbi.
- SERDESIF_ _korisnik.bfm – Sadrži korisničke naredbe. Uredi ovo file za unos BFM naredbi. Koristite ovo ako ste konfigurirali SERDESIF_ blok u BFM PCIe modu simulacije i kao AXI/AHBLite master. Ako ste konfigurirali SERDESIF_ blok u načinu RTL simulacije, ovo vam neće trebati file.
Kada svaki put pozovete simulaciju, sljedeće dvije simulacije files se ponovno stvaraju na /simulacijski direktorij s ažuriranim sadržajem:
- podsustav.bfm – Sadrži naredbe #define za svaku periferiju korištenu u vašem dizajnu, koje određuju određeni odjeljak peripheral_init.bfm koji treba izvršiti u skladu sa svakom periferijom.
- operipheral_init.bfm – Sadrži BFM proceduru koja emulira funkciju CMSIS:: SystemInit() koja se izvodi na Cortex-M3 prije nego što uđete u proceduru main(). Kopira konfiguracijske podatke za bilo koju periferiju korištenu u dizajnu u ispravne registre konfiguracije periferije i zatim čeka da sve periferije budu spremne prije nego što potvrdi da možete koristiti te periferije. Izvršava MDDR_init.bfm i FDDR_init.bfm.
Koristeći ove generirane files, DDR kontroleri u vašem dizajnu konfiguriraju se automatski, simulirajući ono što bi se dogodilo na SmartFusion2 uređaju. Možete urediti user.bfm file za dodavanje svih naredbi potrebnih za simulaciju vašeg dizajna (Cortex-M3 je glavni). Ove se naredbe izvršavaju nakon što su periferni uređaji inicijalizirani. Nemojte uređivati test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files i SERDESIF_ _init.bfm files.
Podrška za proizvode
Microsemi SoC Products Group podupire svoje proizvode raznim uslugama podrške, uključujući Službu za korisnike, Centar za tehničku podršku za korisnike, webstranice, elektroničke pošte i prodajnih ureda diljem svijeta.
Ovaj dodatak sadrži informacije o kontaktiranju Microsemi SoC Products Group i korištenju ovih usluga podrške.
Služba za korisnike
Obratite se korisničkoj službi za netehničku podršku proizvoda, kao što su cijene proizvoda, nadogradnje proizvoda, ažurirane informacije, status narudžbe i autorizacija.
Iz Sjeverne Amerike, nazovite 800.262.1060
Iz ostatka svijeta, zovite 650.318.4460
Faks, s bilo kojeg mjesta u svijetu, 408.643.6913
Centar za tehničku podršku korisnicima
Microsemi SoC Products Group zapošljava svoj centar za tehničku podršku korisnicima s visokokvalificiranim inženjerima koji vam mogu pomoći odgovoriti na vaša pitanja o hardveru, softveru i dizajnu o Microsemi SoC proizvodima. Centar za tehničku podršku korisnicima troši mnogo vremena stvarajući bilješke o aplikaciji, odgovore na uobičajena pitanja ciklusa projektiranja, dokumentaciju o poznatim problemima i razna često postavljana pitanja. Dakle, prije nego što nas kontaktirate, posjetite naše mrežne resurse. Vrlo je vjerojatno da smo već odgovorili na vaša pitanja.
Tehnička podrška
Posjetite korisničku podršku webweb mjesto (www.microsemi.com/soc/support/search/default.aspx) za više informacija i podršku. Mnogi odgovori dostupni su na pretraživom web resurs uključuje dijagrame, ilustracije i poveznice na druge resurse na webmjesto.
Webmjesto
Možete pregledavati razne tehničke i netehničke informacije na SoC početnoj stranici, na www.microsemi.com/soc.
Kontaktiranje Centra za tehničku podršku korisnicima
Visoko kvalificirani inženjeri rade u Centru za tehničku podršku. Centar za tehničku podršku može se kontaktirati e-poštom ili putem Microsemi SoC Products Group webmjesto.
E-mail
Svoja tehnička pitanja možete poslati na našu adresu e-pošte i dobiti odgovore e-poštom, faksom ili telefonom. Također, ako imate problema s dizajnom, svoj dizajn možete poslati e-poštom files primati pomoć.
Konstantno pratimo račun e-pošte tijekom dana. Kada nam šaljete svoj zahtjev, obavezno navedite svoje puno ime, naziv tvrtke i podatke za kontakt radi učinkovite obrade vašeg zahtjeva.
E-mail adresa tehničke podrške je soc_tech@microsemi.com.
Moji slučajevi
Korisnici Microsemi SoC Products Group mogu predati i pratiti tehničke slučajeve online odlaskom na Moji slučajevi.
Izvan SAD-a
Korisnici koji trebaju pomoć izvan američkih vremenskih zona mogu kontaktirati tehničku podršku putem e-pošte (soc_tech@microsemi.com) ili kontaktirajte lokalni prodajni ured. Popisi prodajnih ureda mogu se pronaći na www.microsemi.com/soc/company/contact/default.aspx.
ITAR tehnička podrška
Za tehničku podršku za RH i RT FPGA koji su regulirani međunarodnim propisima o prometu oružjem (ITAR), kontaktirajte nas putem soc_tech_itar@microsemi.com. Alternativno, unutar Moji slučajevi odaberite Da na padajućem popisu ITAR. Za potpuni popis ITAR reguliranih Microsemi FPGA, posjetite ITAR web stranica.
Microsemi Corporation (NASDAQ: MSCC) nudi sveobuhvatan portfelj poluvodičkih rješenja za: zrakoplovstvo, obrana i sigurnost; poduzetništvo i komunikacije; te tržišta industrijske i alternativne energije. Proizvodi uključuju analogne i RF uređaje visokih performansi, visoke pouzdanosti, mješovite signale i RF integrirane sklopove, prilagodljive SoC-ove, FPGA-e i kompletne podsustave. Microsemi ima sjedište u Aliso Viejo, Kalifornija. Saznajte više na www.microsemi.com.
© 2014 Microsemi Corporation. Sva prava pridržana. Microsemi i Microsemi logo su zaštitni znaci Microsemi Corporation. Svi ostali zaštitni znakovi i znakovi usluga vlasništvo su svojih vlasnika.
5-02-00384-1/08.14Sjedište tvrtke Microsemi
One Enterprise, Aliso Viejo CA 92656 SAD
Unutar SAD-a: +1 949-380-6100
Prodaja: +1 949-380-6136
Faks: +1 949-215-4996
Dokumenti / Resursi
![]() |
Microsemi SmartFusion2 DDR kontroler i serijski brzi kontroler [pdf] Korisnički priručnik SmartFusion2 DDR kontroler i serijski kontroler velike brzine, SmartFusion2 DDR, kontroler i serijski kontroler velike brzine, kontroler velike brzine |