Microsemi logoSmartFusion2
DDR kontroler i serijski kontroler velike brzine
Metodologija inicijalizacije
Uputstvo za upotrebu

Uvod

Kada kreirate dizajn pomoću SmartFusion2 uređaja, 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 mogu se koristiti. Za nprampZa 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 tačka, morate postaviti PCIE BAR na AXI (ili AHB) prozor.
Ovaj dokument opisuje korake potrebne za kreiranje Libero dizajna koji automatski inicijalizira DDR kontroler i SERDESIF blokove pri uključivanju. Takođe opisuje kako da se generiše kod firmvera iz Libero SOC koji se koristi u toku ugrađenog dizajna.
Prvo je dat detaljan opis teorije operacija.
Sljedeći odjeljak opisuje kako kreirati takav dizajn koristeći Libero SoC System Builder, moćan alat za dizajn koji, između ostalih karakteristika, kreira rješenje za 'inicijalizaciju' za vas ako koristite DDR ili SERDESIF blokove u svom dizajnu.
Sljedeći odjeljak opisuje kako spojiti kompletno rješenje za 'inicijalizaciju' bez korištenja SmartFusion2 System Builder-a. Ovo pomaže da se objasni šta treba da se uradi ako ne želite da koristite System Builder, a takođe opisuje šta alat za izgradnju sistema zapravo generiše za vas. Ovaj odjeljak se bavi:

  • Kreiranje konfiguracijskih podataka za DDR kontroler i SERDESIF konfiguracijske registre
  • Kreiranje FPGA logike potrebno za prijenos konfiguracijskih podataka u različite ASIC konfiguracijske registre

Na kraju opisujemo generisano files vezano za:

  • Kreiranje rješenja za 'inicijalizaciju' firmvera.
  • Simulacija dizajna rješenja za 'inicijalizaciju' DDR-a.

Za detalje o DDR kontroleru i SERDESIF konfiguracijskim registrima, pogledajte Microsemi SmartFusion2 High Speed ​​Serial and DDR Interfaces Uputstvo za upotrebu.

Theory of Operation

Rješenje za inicijalizaciju periferije koristi sljedeće glavne komponente:

  • Funkcija CMSIS SystemInit() koja radi na Cortex-M3 i orkestrira proces inicijalizacije.
  • CoreConfigP meka IP jezgra, koja inicijalizira konfiguracijske registre perifernih uređaja.
  • CoreResetP meka IP jezgra, koja upravlja redoslijedom resetiranja MSS, DDR kontrolera i SERDESIF blokova.

Proces inicijalizacije periferije funkcionira na sljedeći način:

  1. Nakon resetiranja, Cortex-M3 pokreće funkciju CMSIS SystemInit(). Ova funkcija se automatski izvršava prije nego što se izvrši glavna() funkcija aplikacije.
    CoreResetP izlazni signal MSS_HPMS_READY se potvrđuje na početku procesa inicijalizacije, što ukazuje da su MSS i svi periferni uređaji (osim MDDR) spremni za komunikaciju.
  2. Funkcija SystemInit() upisuje konfiguracijske podatke u DDR kontrolere i SERDESIF konfiguracijske registre preko MSS FIC_2 APB3 sabirnice. Ovaj interfejs je povezan sa mekim CoreConfigP jezgrom instanciranim u FPGA tkanini.
  3. Nakon što su svi registri konfigurirani, funkcija SystemInit() upisuje u kontrolne registre CoreConfigP kako bi naznačila završetak faze konfiguracije registra; zatim se potvrđuju izlazni signali CoreConfigP CONFIG1_DONE i CONIG2_DONE.
    Postoje dvije faze konfiguracije registra (CONFIG1 i CONFIG2) ovisno o periferiji korištenoj u dizajnu.
  4. Ako se koristi jedan ili oba MDDR/FDDR, a nijedan od SERDESIF blokova se ne koristi u dizajnu, postoji samo jedna faza konfiguracije registra. Oba izlazna signala CoreConfigP CONFIG1_DONE i CONIG2_DONE se potvrđuju jedan za drugim bez čekanja/odlaganja.
    Ako se jedan ili više SERDESIF blokova u ne-PCIe modu koristi u dizajnu, postoji samo jedna faza konfiguracije registra. CONFIG1_DONE i CONIG2_DONE se potvrđuju jedan za drugim bez čekanja/odlaganja.
    Ako se jedan ili više SERDESIF blokova u PCIe modu koristi u dizajnu, postoje dvije faze konfiguracije registra. CONFIG1_DONE se potvrđuje nakon što je prva faza konfiguracije registra završena. U ovoj fazi se konfigurišu SERDESIF sistem i registri traka. Ako je SERDESIF konfiguriran u ne-PCIE načinu, CONFIG2_DONE signal se također odmah potvrđuje.
  5. Zatim slijedi druga faza konfiguracije registra (ako je SERDESIF konfiguriran u PCIE modu). Slijede različiti događaji koji se dešavaju u drugoj fazi:
    – CoreResetP deaktivira 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 indikaciju CoreConfigP-a da je SERDESIF jezgro resetirano i da je spremno za drugu fazu konfiguracije registra.
    – Jednom kada se potvrdi SDIF_RELEASED signal, funkcija SystemInit() počinje sa prozivkom za potvrdu PMA_READY na odgovarajućoj SERDESIF traci. Jednom kada se potvrdi PMA_READY, drugi set SERDESIF registara (PCIE registri) se konfigurira/upisuje pomoću funkcije SystemInit().
  6. Nakon što su svi PCIE registri konfigurisani, funkcija SystemInit() upisuje u kontrolne registre CoreConfigP kako bi naznačila završetak druge faze konfiguracije registra; tada se potvrđuje izlazni signal CoreConfigP CONIG2_DONE.
  7. Osim gornjih tvrdnji/de-tvrdnji signala, CoreResetP također upravlja inicijalizacijom različitih blokova izvodeći sljedeće funkcije:
    – Poništavanje resetovanja FDDR jezgra
    – De-potvrđivanje SERDESIF blokira PHY i CORE resetovanje
    – Nadgledanje signala zaključavanja FDDR PLL (FPLL). FPLL mora biti zaključan kako bi se osiguralo da FDDR AXI/AHBLite podatkovni interfejs i FPGA tkanina mogu ispravno komunicirati.
    – Nadgledanje signala zaključavanja bloka SERDESIF PLL (SPLL). SPLL mora biti zaključan kako bi se osiguralo da SERDESIF blokovi AXI/AHBLite sučelje (PCIe mod) ili XAUI sučelje mogu pravilno komunicirati sa FPGA tkaninom.
    – Čeka se da se eksterne DDR memorije slegnu i budu spremne za pristup DDR kontrolerima.
  8. Kada sve periferije završe svoju inicijalizaciju, CoreResetP potvrđuje INIT_DONE signal; tada se potvrđuje interni registar CoreConfigP INIT_DONE.
    Ako se koristi jedan ili oba MDDR/FDDR, a vrijeme inicijalizacije DDR-a je dostignuto, potvrđuje se izlazni signal CoreResetP DDR_READY. Potvrđivanje 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 završena, potvrđuje se izlazni signal CoreResetP SDIF_READY. Potvrđivanje ovog signala SDIF_READY može se pratiti kao indikacija da su svi SERDESIF blokovi spremni za komunikaciju.
  9. Funkcija SystemInit(), koja je čekala da se INIT_DONE potvrdi, dovršava se i izvršava se glavna() funkcija aplikacije. U to vrijeme, svi korišteni DDR kontroleri i SERDESIF blokovi su inicijalizirani, a firmware aplikacija i FPGA fabric logika 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 sistema koji se izvršava prije glavne() funkcije aplikacije.
Pogledajte dijagrame toka na slici 1-1, slici 1-2 i slici 1-3 za korake inicijalizacije FDDR/MDDR, SEREDES (ne-PCIe režim) i SERDES (PCIe režim).
Slika 1-4 prikazuje vremenski dijagram inicijalizacije periferije.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - vremenski dijagram 1 Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - vremenski dijagram 2

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - vremenski dijagram 3Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - vremenski dijagram 4Slika 1-3 • SERDESIF (PCIe) dijagram toka inicijalizacije
Procedura inicijalizacije opisana u ovom dokumentu zahteva da pokrenete Cortex-M3 tokom procesa inicijalizacije, čak i ako ne planirate da pokrenete bilo koji kod na Cortex-M3. Morate kreirati osnovnu aplikaciju firmvera koja ne radi ništa (jednostavnu petlju, nprample) i učitajte tu izvršnu datoteku u ugrađenu nepromjenjivu memoriju (eNVM) tako da se DDR kontroleri i SERDESIF blokovi inicijaliziraju kada se Cortex-M3 pokrene.

Korištenje System Builder-a za kreiranje dizajna koristeći DDR i SERDESIF blokove

SmartFusion2 System Builder je moćan alat za dizajn koji vam pomaže da uhvatite vaše zahtjeve na nivou sistema i proizvodi dizajn koji implementira te zahtjeve. Veoma važna funkcija System Builder-a je automatsko kreiranje podsistema za inicijalizaciju periferije. “Korišćenje SmartDesigna za kreiranje dizajna pomoću DDR i SERDESIF blokova” na stranici 17 detaljno opisuje kako kreirati takvo rješenje bez System Buildera.
Ako koristite System Builder, morate izvršiti sljedeće zadatke kako biste kreirali dizajn koji inicijalizira vaše DDR kontrolere i SERDESIF blokove pri uključivanju:

  1. Na stranici Device Features (Slika 2-1), navedite koji se DDR kontroleri koriste i koliko SERDESIF blokova se koristi u vašem dizajnu.
  2. Na stranici Memorija navedite tip DDR (DDR2/DDR3/LPDDR) i konfiguracijske podatke za vaše vanjske DDR memorije. Za detalje pogledajte odjeljak Memorijska stranica.
  3. Na stranici Periferni uređaji dodajte mastere tkanine konfigurirane kao AHBLite/AXI u Fabric DDR podsistem i/ili MSS DDR FIC podsistem (opcionalno).
  4. Na stranici Postavke sata odredite frekvencije sata za DDR podsisteme.
  5. Dovršite specifikaciju dizajna i kliknite Završi. Ovo generiše dizajn koji je kreirao System Builder, uključujući logiku neophodnu za rešenje 'inicijalizacije'.
  6. Ako koristite SERDESIF blokove, morate instancirati SERDESIF blokove u svom dizajnu i povezati njihove inicijalizacijske portove s onima u jezgri koju je generirao System Builder.

Stranica sa karakteristikama uređaja System Builder
Na stranici Device Features, navedite koji se DDR kontroleri (MDDR i/ili FDDR) koriste i koliko SERDESIF blokova se koristi u vašem dizajnu (Slika 2-1).

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - Stranica sa karakteristikama uređajaSlika 2-1 • Stranica sa karakteristikama uređaja System Builder

Stranica memorije za izgradnju sistema
Da biste koristili MSS DDR (MDDR) ili Fabric DDR (FDDR), izaberite tip memorije sa padajuće liste (Slika 2-2).

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - vanjska memorijaSlika 2-2 • MSS vanjska memorija

Morate:

  1. Odaberite tip DDR (DDR2, DDR3 ili LPDDR).
  2. Definirajte vrijeme uspostavljanja DDR memorije. Konsultujte specifikacije eksterne DDR memorije da biste postavili tačno vreme podešavanja memorije. DDR memorija se možda neće uspjeti ispravno inicijalizirati ako vrijeme postavljanja memorije nije ispravno podešeno.
  3. Ili uvezite konfiguracijske podatke DDR registra ili postavite svoje DDR memorijske parametre. Za detalje, pogledajte Microsemi SmartFusion2 High Speed ​​Serial and DDR Interfaces Uputstvo za upotrebu.

Ovi podaci se koriste za generiranje DDR registra BFM i konfiguraciju firmvera files kao što je opisano u “Kreiranje 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 Microsemi SmartFusion2 High Speed ​​Serial and DDR Interfaces Uputstvo za upotrebu.
Bivšiample konfiguracije file sintaksa je prikazana na slici 2-3. Imena registara koja se koriste u ovome file isti su kao oni opisani u Microsemi SmartFusion2 High Speed ​​Serial and DDR Interfaces Uputstvo za upotrebu

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - File Sintaksa prampleSlika 2-3 • Konfiguracija File Sintaksa prample
Stranica Perifernih uređaja za izgradnju sistema
Na stranici Periferije, za svaki DDR kontroler kreiran je poseban podsistem (Fabric DDR podsistem za FDDR i MSS DDR FIC podsistem za MDDR). Možete dodati Fabric AMBA Master (konfigurirano kao AXI/AHBLite) jezgro svakom od ovih podsistema da omogućite pristup masteru tkanine DDR kontrolerima. Nakon generisanja, System Builder automatski instancira jezgra sabirnice (u zavisnosti od tipa dodanog AMBA Master) i izlaže glavni BIF jezgre sabirnice i pinove takta i resetovanja odgovarajućih podsistema (FDDR/MDDR) pod odgovarajućim grupama pinova, na top. Sve što treba da uradite je da povežete BIF-ove sa odgovarajućim Fabric Master jezgrama koje biste instancirali u dizajnu. U slučaju MDDR-a, opciono je dodati Fabric AMBA Master jezgro u MSS DDR FIC podsistem; Cortex-M3 je podrazumevani master na ovom podsistemu. Slika 2-4 prikazuje stranicu System Builder Peripherals.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - Stranica perifernih uređaja za izgradnjuSlika 2-4 • Stranica Perifernih uređaja za izgradnju sistema

Stranica sa postavkama sata za izgradnju sistema
Na stranici Postavke sata, za svaki DDR kontroler, morate navesti frekvencije takta koje se odnose na svaki DDR (MDDR i/ili FDDR) podsistem.
Za MDDR morate navesti:

  • MDDR_CLK – Ovaj sat određuje radnu frekvenciju DDR kontrolera i trebao bi odgovarati frekvenciji takta na kojoj želite da radi vaša vanjska DDR memorija. Ovaj sat je definisan kao višekratnik M3_CLK (Glavni sat Cortex-M3 i MSS, slika 2-5). MDDR_CLK mora biti manji od 333 MHz.
  • DDR_FIC_CLK – Ako ste odabrali da pristupite i MDDR-u iz FPGA tkanine, trebate navesti DDR_FIC_CLK. Ova frekvencija takta je definirana kao omjer MDDR_CLK i trebala bi odgovarati frekvenciji na kojoj radi podsistem FPGA tkanine koji pristupa MDDR-u.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - MDDR satoviSlika 2-5 • Cortex-M3 i MSS glavni sat; MDDR satovi

Za FDDR morate navesti:

  • FDDR_CLK – Određuje radnu frekvenciju DDR kontrolera i treba da odgovara frekvenciji takta na kojoj želite da vaša vanjska DDR memorija radi. Imajte na umu da je ovaj sat definisan kao višekratnik M3_CLK (MSS i Cortex-M3 sat, slika 2-5). FDDR_CLK mora biti unutar 20 MHz i 333 MHz.
  • FDDR_SUBSYSTEM_CLK – Ova frekvencija takta je definirana kao omjer FDDR_CLK i trebala bi odgovarati frekvenciji na kojoj radi podsistem FPGA tkanine koji pristupa FDDR-u.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - Fabric DDR satoviSlika 2-6 • Fabric DDR satovi
SERDESIF konfiguracija
Blokovi SERDESIF nisu instancirani u dizajnu koji je generirao System Builder. Međutim, za sve SERDESIF blokove, signali za inicijalizaciju su dostupni na interfejsu jezgre System Builder i mogu se povezati sa SERDESIF jezgrama na sledećem nivou hijerarhije, kao što je prikazano na slici 2-7.Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - periferno povezivanje za inicijalizacijuSlika 2-7 • SERDESIF periferna inicijalizacija povezivanja
Slično DDR konfiguracijskim registrima, svaki SERDES blok također ima konfiguracijske registre koji se moraju učitati u vrijeme izvođenja. Možete ili uvesti ove vrijednosti registra ili koristiti High Speed ​​Serial Interface Configurator (Slika 2-8) da unesete svoje PCIe ili EPCS parametre i vrijednosti registra se automatski izračunavaju za vas. Za detalje, pogledajte Korisnički vodič za SERDES konfigurator.Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - konfigurator serijskog sučeljaSlika 2-8 • High Speed ​​Serial Interface Configurator
Kada integrišete svoju korisničku logiku sa blokom System Builder i blokom SERDES, možete generisati svoj SmartDesign najvišeg nivoa. Ovo generiše sav HDL i BFM filekoji su neophodni za implementaciju i simulaciju vašeg dizajna. Zatim možete nastaviti s ostatkom toka dizajna.

Korištenje SmartDesigna za kreiranje dizajna pomoću DDR i SERDESIF blokova

Ovaj odjeljak opisuje kako spojiti kompletno rješenje za 'inicijalizaciju' bez korištenja SmartFusion2 System Builder-a. Cilj je da vam pomogne da shvatite šta morate da uradite ako ne želite da koristite System Builder. Ovaj odjeljak također opisuje šta alat System Builder zapravo generiše za vas. Ovaj odjeljak opisuje kako:

  • Unesite konfiguracijske podatke za DDR kontroler i SERDESIF konfiguracijske registre.
  • Instancirajte i povežite Fabric Cores potrebne za prijenos podataka o konfiguraciji na DDR kontrolere i SERDESIF konfiguracijske registre.

Konfiguracija DDR kontrolera
MSS DDR (MDDR) i Fabric DDR (FDDR) kontroleri moraju biti konfigurisani dinamički (u toku rada) da odgovaraju zahtevima konfiguracije eksterne DDR memorije (DDR režim, PHY širina, burst mod, ECC, itd.). Podaci uneseni u MDDR/FDDR konfigurator se upisuju u registre konfiguracije DDR kontrolera pomoću funkcije CMSIS SystemInit(). Konfigurator ima tri različite kartice za unos različitih tipova konfiguracijskih podataka:

  • Opći podaci (DDR način rada, širina podataka, frekvencija sata, ECC, interfejs tkanine, snaga pogona)
  • Podaci o inicijalizaciji memorije (dužina bursta, redoslijed bursta, vremenski način rada, kašnjenje, itd.)
  • Podaci o vremenu memorije

Pogledajte specifikacije vaše eksterne DDR memorije i konfigurišite DDR kontroler da odgovara zahtevima vaše eksterne DDR memorije.
Za detalje o DDR konfiguraciji, pogledajte Korisnički vodič za SmartFusion2 MSS DDR konfiguraciju.
SERDESIF konfiguracija
Dvaput kliknite na SERDES blok u SmartDesign platnu da otvorite konfigurator za konfiguraciju SERDES (Slika 3-1). Možete ili uvesti ove vrijednosti registra ili koristiti SERDES konfigurator da unesete svoje PCIe ili EPCS parametre i vrijednosti registra se automatski izračunavaju za vas. Za detalje, pogledajte Korisnički vodič za SERDES konfigurator.Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - konfigurator serijskog sučelja velike brzineSlika 3-1 • High Speed ​​Serial Interface Configurator
Kreiranje podsistema inicijalizacije FPGA dizajna
Da biste inicijalizirali DDR i SERDESIF blokove, morate kreirati inicijalizacijski podsistem u FPGA tkanini. Podsistem za inicijalizaciju FPGA tkanine premešta podatke iz Cortex-M3 u registre konfiguracije DDR i SERDESIF, upravlja sekvencama resetovanja potrebnim da bi ovi blokovi bili operativni i signalizira kada su ovi blokovi spremni za komunikaciju sa ostatkom vašeg dizajna. Da biste kreirali inicijalizacijski podsistem, morate:

  • Konfigurirajte FIC_2 unutar MSS-a
  • Instancirajte i konfigurirajte CoreConfigP i CoreResetP jezgra
  • Instancirajte RC oscilator 25/50MHz na čipu
  • Instancirajte makro za poništavanje sistema (SYSRESET).
  • Povežite ove komponente na konfiguracijske interfejse svake periferije, satove, resetovanje i PLL portove za zaključavanje

MSS FIC_2 APB konfiguracija
Da konfigurišete MSS FIC_2:

  1. Otvorite dijaloški okvir FIC_2 konfiguratora iz MSS konfiguratora (slika 3-2).
  2. Odaberite Initialize peripherals using Cortex-M3.
  3. Ovisno o vašem sistemu, označite jedan ili oba od sljedećih potvrdnih okvira:
    – MSS DDR
    – Fabric DDR i/ili SERDES blokovi
  4. Kliknite OK i nastavite s generiranjem MSS-a (možete odgoditi ovu radnju dok u potpunosti ne konfigurirate MSS prema vašim zahtjevima dizajna). FIC_2 portovi (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK i FIC_2_APB_M_RESET_N) su sada izloženi na MSS interfejsu i mogu se povezati na CoreConfigP i CoreResetP jezgra.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - MSS FIC 2 konfiguratorSlika 3-2 • MSS FIC_2 konfigurator

CoreConfigP
Da konfigurišete CoreConfigP:

  1. Instancirajte CoreConfigP u svoj SmartDesign (obično onaj gdje se instancira MSS).
    Ovo jezgro se može naći u Libero katalogu (pod perifernim uređajima).
  2. Dvaput kliknite na jezgro da otvorite konfigurator.
  3. Konfigurirajte jezgro da odredite koje periferne uređaje treba inicijalizirati (Slika 3-3)

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - dijaloški okvirSlika 3-3 • CoreConfigP okvir za dijalog

CoreResetP
Da konfigurišete CoreResetP:

  1. Instancirajte CoreResetP u svoj SmartDesign (obično onaj gdje se instancira MSS).
    Ovo jezgro se može naći u Libero katalogu, pod perifernim uređajima.
  2. Dvaput kliknite na jezgro unutar SmartDesign Canvas da otvorite konfigurator (slika 3-4).
  3. Konfigurirajte jezgro na:
    – 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 je potvrđen ako se potvrdi resetiranje napajanja (POWER_ON_RESET_N)
    o EXT_RESET_OUT je potvrđen ako je FAB_RESET_N potvrđen
    o EXT_RESET_OUT se potvrđuje ako se potvrdi resetiranje napajanja (POWER_ON_RESET_N) ili FAB_RESET_N
    – Odredite jačinu uređajatage. Odabrana vrijednost treba da odgovara voltage koje ste odabrali u dijalogu Libero Project Settings.
    – Označite odgovarajuća polja za potvrdu kako biste naznačili koje periferne uređaje koristite u svom dizajnu.
    – Odredite vrijeme podešavanja eksterne DDR memorije. Ovo je maksimalna vrijednost za sve DDR memorije koje se koriste u vašoj aplikaciji (MDDR i FDDR). Pogledajte tablicu dobavljača eksterne DDR memorije da biste konfigurirali ovaj parametar. 200us je dobra zadana vrijednost za DDR2 i DDR3 memorije koje rade na 200MHz. Ovo je veoma važan parametar koji garantuje radnu simulaciju i radni sistem na silicijumu. Neispravna vrijednost za vrijeme smirivanja može dovesti do grešaka u simulaciji. Pogledajte tablicu dobavljača DDR memorije da biste konfigurirali ovaj parametar.
    – Za svaki SERDES blok u vašem dizajnu, označite odgovarajuća polja kako biste naznačili da li:
    o se koristi PCIe
    o Potrebna je podrška za PCIe Hot Reset
    o Potrebna je podrška za PCIe L2/P2

Napomena: Ako koristite matricu 090 (M2S090) i vaš dizajn koristi SERDESIF, ne morate označiti nijedan od sljedećih potvrdnih okvira: 'Koristi se za PCIe', 'Uključi PCIe HotReset podršku' i 'Uključi podršku za PCIe L2/P2'. Ako koristite bilo koji uređaj koji nije 090 i koristite jedan ili više SERDESIF blokova, morate označiti sva četiri polja za potvrdu ispod odgovarajućeg odjeljka SERDESIF.
Napomena: Za detalje o opcijama koje su vam dostupne u ovom konfiguratoru, pogledajte CoreResetP priručnik.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - CoreResetPConfiguratorSlika 3-4 • CoreResetPConfigurator

Instancija oscilatora 25/50MHz
CoreConfigP i CoreResetP se taktiraju RC oscilatorom od 25/50MHz na čipu. Morate instancirati 25/50MHz oscilator i spojiti ga na ove jezgre.

  1. Instancirajte jezgro čip oscilatora u svoj SmartDesign (obično onaj gdje se instancira MSS). Ovo jezgro se može naći u Libero katalogu pod Sat i upravljanje.
  2. Konfigurišite ovo jezgro tako da RC oscilator pokreće FPGA tkaninu, kao što je prikazano na slici 3-5.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - konfigurator oscilatoraSlika 3-5 • Konfigurator oscilatora čipa

Resetovanje sistema (SYSRESET) Instancija
Makro SYSRESET pruža funkciju resetovanja na nivou uređaja vašem dizajnu. Izlazni signal POWER_ON_RESET_N se potvrđuje/de-potvrđuje svaki put kada se čip uključi ili se eksterni pin DEVRST_N potvrdi/de-potvrđuje (Slika 3-6).
Instancirajte SYSRESET makro u svoj SmartDesign (obično onaj gdje se instancira MSS). Ovaj makro se može naći u Libero katalogu pod Biblioteka makroa. Nije potrebna konfiguracija ovog makroa.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - SYSRET MacroSlika 3-6 • SYSRET Makro

Ukupna povezanost
Nakon što ste instancirali i konfigurisali jezgra MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP i CoreResetP u svom dizajnu, morate ih povezati kako biste formirali podsistem za inicijalizaciju periferije. Da bi se pojednostavio opis povezivanja u ovom dokumentu, on je razbijen na APB3 kompatibilnu povezanost staze podataka o konfiguraciji koja je povezana s CoreConfigP i CoreResetP vezama.
Povezivanje putanje podataka o konfiguraciji
Slika 3-7 pokazuje kako povezati CoreConfigP sa MSS FIC_2 signalima i APB3 kompatibilnim konfiguracijskim interfejsima perifernih uređaja.
Tabela 3-1 • Putanja konfiguracijskih podataka Port/BIF veze

OD
Port/Bus interfejs
(BIF)/ Komponenta
TO
Port/Bus Interface (BIF)/Komponenta
APB S PRESET N/ CoreConfigP APB S PRESET N/ SDIF<0/1/2/3> APB S PRESET N/
FDDR
MDDR APB S PRESE TN/MSS
APB S PCLK/ CoreConfigP APB S PCLK/SDIF APB S PCLK/FDDR MDDR APB S POLK/ MSS
MDDR APBmslave/ CoreConfig MDDR APB SLAVE (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB SLAVE (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB SLAVE (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MASTER/ MSS

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - povezivanje podsistemaSlika 3-7 • Povezivanje podsistema FIC_2 APB3

Satovi i resetovanje povezivanja
Slika 3-8 pokazuje kako povezati CoreResetP sa eksternim izvorima resetovanja i signalima za resetovanje jezgra perifernih uređaja. Takođe pokazuje kako povezati CoreResetP sa signalima statusa sinhronizacije sata periferije (PLL signali zaključavanja). Osim toga, pokazuje kako su CoreConfigP i CoreResetP povezani.

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine - povezivanje podsistema 2Slika 3-8 • Povezivanje podsistema Core SF2 Reset

Kreiranje i kompajliranje Firmware aplikacije

Kada izvezete firmver iz LiberoSoC-a (Prozor toka dizajna > Izvoz firmvera > Izvoz firmvera), Libero generiše sledeće files u /firmware/drivers_config/ sys_config folder:

  • sys_config.c – Sadrži strukture podataka koje sadrže vrijednosti za periferne registre.
  • sys_config.h – Sadrži izraze #define koji određuju koje se periferije koriste u dizajnu i koje treba inicijalizirati.
  • sys_config_mddr_define.h – Sadrži podatke o konfiguraciji MDDR kontrolera unesene u dijalog Konfiguracija registra.
  • sys_config_fddr_define.h – Sadrži podatke o konfiguraciji FDDR kontrolera unesene u dijalog Konfiguracija registra.
  • sys_config_mss_clocks.h – Ovo file sadrži MSS frekvencije sata kako je definirano u MSS CCC konfiguratoru. Ove frekvencije koristi CMSIS kod za pružanje tačnih informacija o taktu mnogim MSS drajverima 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_ registrirajte konfiguracijske podatke dostavljene tokom SERDESIF_ blok konfiguracija u kreiranju dizajna.
  • sys_config_SERDESIF_ .h – Sadrži izraze #define koji specificiraju broj parova konfiguracije registra i broj trake koji treba biti pozvan za PMA_READY (samo u PCIe modu).

Ove filePotrebni su da bi se CMSIS kod pravilno kompajlirao i sadržavao informacije u vezi s vašim trenutnim dizajnom, uključujući podatke o konfiguraciji periferije i informacije o konfiguraciji sata za MSS.
Nemojte ih uređivati files ručno; oni se kreiraju u odgovarajuće direktorijume komponenti/periferije svaki put kada se generišu SmartDesign komponente koje sadrže odgovarajuće periferije. Ako se izvrše bilo kakve promjene u konfiguracijskim podacima bilo koje periferije, morate ponovo izvesti projekte firmvera tako da ažurirani firmver files (pogledajte listu iznad) se izvoze u / firmware/drivers_config/sys_config folder.
Kada eksportujete firmver, Libero SoC kreira projekte firmvera: biblioteku u kojoj je vaša konfiguracija dizajna files i drajveri su kompajlirani.
Ako označite Create project potvrdni okvir kada izvezete firmver, kreira se softverski SoftConsole/IAR/Keil projekat za držanje projekta aplikacije gdje možete uređivati ​​main.c i korisnički C/H files. Otvorite projekat SoftConSole/IAR/Keil da pravilno kompajlirate CMSIS kod i da vaša aplikacija firmvera bude pravilno konfigurisana da odgovara vašem hardverskom dizajnu.

BFM Files Koristi se za simulaciju dizajna

Kada generišete SmartDesign komponente koje sadrže periferne uređaje povezane s vašim dizajnom, simulacija files koji odgovaraju odgovarajućim periferijama se generiraju u /simulation direktorij:

  • test.bfm – BFM najvišeg nivoa file koji se prvi put izvršava tokom 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 to generiše file; sadrži BFM naredbe pisanja koje simuliraju upisivanje podataka iz registra konfiguracije MSS DDR koje ste unijeli (koristeći dijaloški okvir Uredi registre ili u MSS_MDDR GUI) u registre MSS DDR kontrolera.
  • FDDR_init.bfm – Ako vaš dizajn koristi FDDR, Libero to generiše file; sadrži BFM naredbe pisanja koje simuliraju upisivanje podataka registra konfiguracije Fabric DDR koje ste unijeli (koristeći dijaloški okvir Uredi registre ili u FDDR GUI) u registre Fabric DDR kontrolera.
  • SERDESIF_ _init.bfm – Ako vaš dizajn koristi jedan ili više SERDESIF blokova, Libero to generiše file za svaki od SERDESIF_ korišteni blokovi; sadrži BFM naredbe pisanja koje simuliraju upisivanje podataka SERDESIF konfiguracijskog registra koje ste unijeli (pomoću dijaloškog okvira Uredi registre ili u SERDESIF_ GUI) u SERDESIF_ registri. Ako je SERDESIF blok konfiguriran kao PCIe, ovo file također ima neke #define izraze koji kontroliraju izvršenje 2 faze konfiguracije registra u savršenom redu.
  • user.bfm – Sadrži korisničke komande. Ove naredbe se izvršavaju nakon završetka peripheral_init.bfm. Uredi ovo file da unesete svoje BFM komande.
  • SERDESIF_ _user.bfm – Sadrži korisničke komande. Uredi ovo file da unesete svoje BFM komande. Koristite ovo ako ste konfigurirali SERDESIF_ blok u BFM PCIe simulacijskom modu i kao AXI/AHBLite master. Ako ste konfigurisali SERDESIF_ blok u načinu RTL simulacije, ovo vam neće trebati file.

Kada svaki put pozovete simulaciju, slijedeće dvije simulacije files se ponovo kreiraju na /simulation direktorij s ažuriranim sadržajem:

  • subsystem.bfm – Sadrži izraze #define za svaku periferiju koja se koristi u vašem dizajnu, a koja specificira određeni odjeljak peripheral_init.bfm koji će se izvršiti a koji odgovara svakoj periferiji.
  • operipheral_init.bfm – Sadrži BFM proceduru koja emulira funkciju CMSIS:: SystemInit() koja se izvodi na Cortex-M3 prije nego uđete u main() proceduru. Kopira konfiguracijske podatke za bilo koju periferiju korištenu u dizajnu u ispravne registre konfiguracije periferije, a zatim čeka da sve periferije budu spremne prije nego što potvrdi da možete koristiti ove periferije. Izvršava MDDR_init.bfm i FDDR_init.bfm.

Koristeći ove generirane files, DDR kontroleri u vašem dizajnu se automatski konfigurišu, simulirajući šta bi se dogodilo na SmartFusion2 uređaju. Možete uređivati ​​user.bfm file da dodate sve naredbe potrebne za simulaciju vašeg dizajna (Cortex-M3 je glavni). Ove naredbe se 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 podržava svoje proizvode različitim uslugama podrške, uključujući korisničku podršku, centar za tehničku podršku korisnicima, websajt, elektronska pošta i prodajne kancelarije širom sveta.
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 za proizvode, kao što su cijene proizvoda, nadogradnje proizvoda, ažurirane informacije, status narudžbe i autorizacija.
Iz Sjeverne Amerike, zovi 800.262.1060
Iz ostatka svijeta zovite 650.318.4460
Faks, sa bilo kog mesta u svetu, 408.643.6913
Centar za tehničku podršku korisnicima
Microsemi SoC Products Group upošljava svoj Centar za tehničku podršku za korisnike sa visoko obučenim inženjerima koji mogu pomoći da odgovore na vaša pitanja o hardveru, softveru i dizajnu o Microsemi SoC proizvodima. Centar za tehničku podršku za korisnike troši mnogo vremena na kreiranje napomena o aplikaciji, odgovora na uobičajena pitanja ciklusa dizajna, dokumentacije poznatih problema i raznih često postavljanih pitanja. Stoga, prije nego što nas kontaktirate, posjetite naše online resurse. Vrlo je vjerovatno da smo već odgovorili na vaša pitanja.
Tehnička podrška
Posjetite korisničku podršku webstranica (www.microsemi.com/soc/support/search/default.aspx) za više informacija i podrške. Mnogi odgovori dostupni na pretraživačkoj mreži web resursi uključuju dijagrame, ilustracije i veze do drugih izvora na website.
Website
Možete pretraživati ​​razne tehničke i netehničke informacije na početnoj stranici SoC-a, na adresi www.microsemi.com/soc.
Kontaktiranje Centra za tehničku podršku za korisnike
U Centru za tehničku podršku rade visokokvalifikovani inženjeri. Centar za tehničku podršku se može kontaktirati putem e-pošte ili preko Microsemi SoC Products Group website.
Email
Svoja tehnička pitanja možete poslati na našu adresu e-pošte i dobiti odgovore putem e-pošte, faksa ili telefona. Također, ako imate problema s dizajnom, možete poslati svoj dizajn e-poštom files da dobijete pomoć.
Konstantno pratimo email nalog tokom dana. Kada nam šaljete svoj zahtjev, obavezno navedite svoje puno ime, naziv kompanije i svoje kontakt podatke za efikasnu obradu vašeg zahtjeva.
Adresa elektronske pošte tehničke podrške je soc_tech@microsemi.com.
Moji slučajevi
Klijenti Microsemi SoC Products Group mogu predati i pratiti tehničke slučajeve na mreži tako što će otići na Moji slučajevi.
Izvan SAD-a
Korisnici kojima je potrebna pomoć izvan vremenskih zona SAD-a mogu kontaktirati tehničku podršku putem e-pošte (soc_tech@microsemi.com) ili kontaktirajte lokalni prodajni ured. Oglase prodajnih ureda možete 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 regulisani propisima o međunarodnom prometu oružja (ITAR), kontaktirajte nas putem soc_tech_itar@microsemi.com. Alternativno, u okviru Moji predmeti, izaberite Da na padajućoj listi ITAR. Za kompletnu listu mikrosemi FPGA koje regulira ITAR, posjetite ITAR web stranica.
Microsemi Corporation (NASDAQ: MSCC) nudi sveobuhvatan portfelj poluprovodničkih rješenja za: vazduhoplovstvo, odbrana i bezbednost; preduzeća i komunikacije; i tržišta industrijske i alternativne energije. Proizvodi uključuju analogne i RF uređaje visokih performansi, visokopouzdane, mešovite signalne i RF integrisane kola, prilagodljive SoC, FPGA i kompletne podsisteme. Microsemi ima sjedište u Aliso Viejo, Kalifornija. Saznajte više na www.microsemi.com.
© 2014 Microsemi Corporation. Sva prava zadržana. Microsemi i Microsemi logo su zaštitni znakovi Microsemi Corporation. Svi ostali zaštitni znakovi i uslužni znaci vlasništvo su njihovih vlasnika.

5-02-00384-1/08.14Microsemi logoMicrosemi korporativno sjedište
One Enterprise, Aliso Viejo, CA 92656 SAD
Unutar SAD-a: +1 949-380-6100
Prodaja: +1 949-380-6136
Fax: +1 949-215-4996

Dokumenti / Resursi

Microsemi SmartFusion2 DDR kontroler i serijski kontroler velike brzine [pdf] Korisnički priručnik
SmartFusion2 DDR kontroler i serijski kontroler velike brzine, SmartFusion2 DDR, kontroler i serijski kontroler velike brzine, kontroler velike brzine

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *