SmartFusion2
DDR-Regilo kaj Seria Alta Rapida Regilo
Inicialiga Metodologio
Uzantgvidilo
Enkonduko
Kiam vi kreas dezajnon per SmartFusion2-aparato, se vi uzas unu el la du DDR-regiloj (FDDR aŭ MDDR) aŭ iun el la Seria Altrapida regilo (SERDESIF) blokoj, vi devas praligi la agordajn registrojn de ĉi tiuj blokoj ĉe rultempo antaŭe. ili povas esti uzataj. Por ekzample, por la DDR-regilo, vi devas agordi la DDR-reĝimon (DDR3/DDR2/LPDDR), PHY-larĝon, eksplodan reĝimon kaj ECC.
Simile, por la SERDESIF-bloko uzata kiel PCIe-finpunkto, vi devas agordi la PCIE BAR al fenestro AXI (aŭ AHB).
Ĉi tiu dokumento priskribas la paŝojn necesajn por krei Libero-dezajnon, kiu aŭtomate pravigas la DDR-regilon kaj SERDESIF-blokojn ĉe ekfunkciigo. Ĝi ankaŭ priskribas kiel generi la firmvarkodon de Libero SOC, kiu estas uzata en la enigita dezajnfluo.
Detala priskribo de la teorio de operacioj estas disponigita unue.
La sekva sekcio priskribas kiel krei tian dezajnon per la Libero SoC System Builder, potenca dezajna ilo kiu, inter aliaj funkcioj, kreas la "komencigan" solvon por vi se vi uzas DDR aŭ SERDESIF-blokojn en via dezajno.
La sekva sekcio priskribas kiel kunmeti kompletan "komencigan" solvon sen uzi la SmartFusion2 System Builder. Ĉi tio helpas klarigi tion, kion oni devas fari se vi ne volas uzi la Sistemkonstruilon, kaj ankaŭ priskribas, kion la System Builder efektive generas por vi. Ĉi tiu sekcio traktas:
- La kreado de la agordaj datumoj por DDR-regilo kaj SERDESIF-agordaj registroj
- La kreado de la FPGA-logiko postulata por transdoni la konfiguraciodatenojn al la malsamaj ASIC-konfiguracioregistroj
Fine ni priskribas la generitan fileestas rilataj al:
- La kreado de firmvaro "komencigita" solvo.
- La simulado de la dezajno por la DDR "iniciigo" solvo.
Por detaloj pri la DDR-regilo kaj SERDESIF-agordaj registroj, raportu al la Microsemi SmartFusion2 Alta Rapida Seria kaj DDR-Interfacoj Gvidilo de Uzanto.
Teorio de Operacio
La Periferia inicialigsolvo uzas la sekvajn ĉefajn komponentojn:
- La CMSIS SystemInit() funkcio, kiu funkcias sur la Cortex-M3 kaj reĝisoras la inicialigprocezon.
- La mola IP-kerno de CoreConfigP, kiu pravalorigas la agordajn registrojn de la ekstercentraj.
- La mola IP-kerno CoreResetP, kiu administras la rekomencigitan sekvencon de la MSS, DDR-regiloj kaj SERDESIF-blokoj.
La periferia komenca procezo funkcias jene:
- Restarigita, la Cortex-M3 funkcias la funkcion CMSIS SystemInit(). Ĉi tiu funkcio estas aŭtomate efektivigita antaŭ ol la funkcio main() de la aplikaĵo estas ekzekutita.
La CoreResetP-eligsignalo MSS_HPMS_READY estas asertita komence de la inicialigprocezo, indikante ke la MSS kaj ĉiuj ekstercentraj (krom MDDR) estas pretaj por komunikado. - La SystemInit() funkcio skribas agordajn datumojn al la DDR-regiloj kaj SERDESIF-agordaj registroj per la buso MSS FIC_2 APB3. Ĉi tiu interfaco estas konektita al la mola CoreConfigP-kerno instantiigita en la FPGA-ŝtofo.
- Post kiam ĉiuj registroj estas agorditaj, la funkcio SystemInit () skribas al la kontrolregistroj CoreConfigP por indiki la kompletigon de la fazo de agordo de registro; la eligsignaloj de CoreConfigP CONFIG1_DONE kaj CONIG2_DONE tiam estas asertitaj.
Ekzistas du fazoj de registro-konfiguracio (CONFIG1 kaj CONFIG2) depende de la periferioj uzitaj en la dezajno. - Se unu aŭ ambaŭ el MDDR/FDDR estas uzitaj, kaj neniu el la SERDESIF-blokoj estas uzitaj en la dezajno, ekzistas nur unu registra konfiguraciofazo. Ambaŭ la eligsignaloj de CoreConfigP CONFIG1_DONE kaj CONIG2_DONE estas asertitaj unu post la alia sen ia atendo/prokrasto.
Se unu aŭ pluraj SERDESIF-blokoj en ne-PCIe-reĝimo estas uzitaj en la dezajno, ekzistas nur unu fazo de registro-konfiguracio. CONFIG1_DONE kaj CONIG2_DONE estas asertitaj unu post la alia sen ia atendo/prokrasto.
Se unu aŭ pluraj SERDESIF-blokoj en PCIe-reĝimo estas uzitaj en la dezajno, ekzistas du fazoj de registro-konfiguracio. CONFIG1_DONE estas asertita post kiam la unua fazo de registro-agordo finiĝas. SERDESIF-sistemo kaj lenregistroj estas agorditaj en ĉi tiu fazo. Se SERDESIF estas agordita en ne-PCIE-reĝimo, CONFIG2_DONE-signalo ankaŭ estas asertita tuj. - La dua fazo de registro-konfiguracio tiam sekvas (se SERDESIF estas agordita en PCIE-reĝimo). La sekvantaroj estas la malsamaj okazaĵoj kiuj okazas en la dua fazo:
– CoreResetP de-asertas PHY_RESET_N kaj CORE_RESET_N signalojn respondajn al ĉiu el la SERDESIF-blokoj uzataj. Ĝi ankaŭ asertas eligsignalon SDIF_RELEASED post kiam ĉiuj SERDESIF-blokoj estas el rekomencigitaj. Ĉi tiu SDIF_RELEASED-signalo estas uzata por indiki al la CoreConfigP, ke la SERDESIF-kerno estas el rekomencigita kaj estas preta por la dua fazo de registro-agordo.
– Post kiam la signalo SDIF_RELEASED estas asertita, la funkcio SystemInit() komencas baloti por la aserto de PMA_READY sur la taŭga SERDESIF-leno. Post kiam la PMA_READY estas asertita, la dua aro de SERDESIF-registroj (PCIE-registroj) estas agordita/skribita per la SystemInit() funkcio. - Post kiam ĉiuj PCIE-registroj estas agorditaj, la SystemInit() funkcio skribas al la CoreConfigP-kontrolregistroj por indiki la kompletigon de la dua fazo de registro-agordo; la eligsignalo de CoreConfigP CONIG2_DONE tiam estas asertita.
- Krom ĉi-supraj signalaj asertoj/malasertoj, CoreResetP ankaŭ administras la inicialigon de la diversaj blokoj plenumante la sekvajn funkciojn:
– Malfirmigi la FDDR-kernan rekomencigon
– Malaktivigi la SERDESIF-blokojn PHY kaj CORE rekomencigitaj
- Monitorado de la ŝlosila signalo de FDDR PLL (FPLL). La FPLL devas esti ŝlosita por garantii, ke la interfaco de datumoj FDDR AXI/AHBLite kaj la FPGA-ŝtofo povas ĝuste komuniki.
– Monitorado de la SERDESIF-blokaj PLL (SPLL) serursignaloj. La SPLL devas esti ŝlosita por garantii, ke la SERDESIF-blokoj AXI/AHBLite-interfaco (PCIe-reĝimo) aŭ XAUI-interfaco povas konvene komuniki kun la FPGA-ŝtofo.
- Atendante ke la eksteraj DDR-memoroj ekloĝu kaj estu pretaj por esti alireblaj de la DDR-regiloj. - Kiam ĉiuj ekstercentraj kompletigis sian inicialigon, CoreResetP asertas la INIT_DONE-signalon; la interna registro de CoreConfigP INIT_DONE tiam estas asertita.
Se unu aŭ ambaŭ el MDDR/FDDR estas uzataj, kaj la DDR-komenciĝtempo estas atingita, CoreResetP eligsignalo DDR_READY estas asertita. Aserto de ĉi tiu signalo DDR_READY povas esti monitorita kiel indiko ke la DDR (MDDR/FDDR) estas preta por komunikado.
Se unu aŭ pluraj SERDESIF-blokoj estas uzitaj, kaj la dua fazo de registro-agordo estas sukcese finita, CoreResetP-eligsignalo SDIF_READY estas asertita. Aserto de ĉi tiu signalo SDIF_READY povas esti monitorita kiel indiko, ke ĉiuj SERDESIF-blokoj estas pretaj por komunikado. - La SystemInit() funkcio, kiu atendis ke INIT_DONE estu asertita, finiĝas, kaj la funkcio main() de la aplikaĵo estas ekzekutita. En tiu tempo, ĉiuj uzitaj DDR-regiloj kaj SERDESIF-blokoj estis pravigitaj, kaj la firmware-aplikaĵo kaj la FPGA-ŝtofa logiko povas fidinde komuniki kun ili.
La metodaro priskribita en ĉi tiu dokumento dependas de la Cortex-M3 efektiviganta la inicialigprocezon kiel parto de la sistema inicialigkodo efektivigita antaŭ la ĉefa ()funkcio de la aplikaĵo.
Vidu la Fluodiagramojn en Figuro 1-1, Figuro 1-2 kaj Figuro 1-3 por la Komencaj paŝoj de FDDR/MDDR, SEREDES (ne-PCIe-reĝimo) kaj SERDES (PCIe-reĝimo).
Figuro 1-4 montras Periferan Inicialigan tempdiagramon.
![]() |
![]() |
Figuro 1-3 • SERDESIF (PCIe) Inicialiga Fluodiagramo
La komenca proceduro priskribita en ĉi tiu dokumento postulas, ke vi rulu Cortex-M3 dum la komenca procezo, eĉ se vi ne planas ruli ajnan kodon sur la Cortex-M3. Vi devas krei bazan firmware-aplikaĵon kiu faras nenion (simpla buklo, ekzample) kaj ŝarĝu tiun ruleblan en la enigita Ne Volatile Memory (eNVM) do la DDR-regiloj kaj SERDESIF-blokoj estas pravigitaj kiam la Cortex-M3 ekfunkciigas.
Uzante Sistemkonstruilon por Krei Dezajnon Uzante DDR kaj SERDESIF-Blokojn
La SmartFusion2 Sistemkonstruilo estas potenca dezajna ilo, kiu helpas vin kapti viajn sistem-nivelajn postulojn kaj produktas dezajnon efektivigantan tiujn postulojn. Tre grava funkcio de la Sistemkonstruanto estas la aŭtomata kreado de la Subsistemo de Ekstercentra Inicialigo. "Uzante SmartDesign por Krei Dezajnon Uzante DDR kaj SERDESIF-Blokojn" sur paĝo 17 detale priskribas kiel krei tian solvon sen la Sistemkonstruilo.
Se vi uzas System Builder, vi devas plenumi la sekvajn taskojn por krei dezajnon, kiu pravalorigas viajn DDR-regilojn kaj SERDESIF-blokojn ĉe ekfunkciigo:
- En la paĝo de Aparato Trajtoj (Figuro 2-1), specifu kiuj DDR-regiloj estas uzataj kaj kiom da SERDESIF-blokoj estas uzataj en via dezajno.
- En la paĝo Memoro, specifu la tipon de DDR (DDR2/DDR3/LPDDR) kaj la agordajn datumojn por viaj eksteraj DDR-memoroj. Vidu la sekcion de Memorpaĝo por detaloj.
- En la Paĝo Ekstercentraj, aldonu ŝtofajn majstrojn agorditajn kiel AHBLite/AXI al la Fabric DDR Subsistemo kaj/aŭ MSS DDR FIC Subsistemo (laŭvola).
- En la paĝo de Horloĝo-Agordoj, specifu la horloĝfrekvencojn por la DDR-subsistemoj.
- Kompletigu vian projektan specifon kaj alklaku Fini. Ĉi tio generas la kreitan dezajnon de System Builder, inkluzive de la logiko necesa por la "komenciga" solvo.
- Se vi uzas SERDESIF-blokojn, vi devas instantigi la SERDESIF-blokojn en via dezajno kaj konekti iliajn inicialigajn pordojn al tiuj de la kerno generita System Builder.
Sistemo Konstruanto Aparato Trajtoj Paĝo
En la paĝo Trajtoj de Aparato, specifu kiuj DDR-regiloj (MDDR kaj/aŭ FDDR) estas uzataj kaj kiom da SERDESIF-blokoj estas uzataj en via dezajno (Figuro 2-1).
Figuro 2-1 • Paĝo de Trajtoj de Aparato de Sistemo Builder
Memorpaĝo de Sistemkonstruanto
Por uzi la MSS DDR (MDDR) aŭ Fabric DDR (FDDR), elektu la Memoran Tipon el la fallisto (Figuro 2-2).
Figuro 2-2 • MSS Ekstera Memoro
Vi devas:
- Elektu la DDR-tipo (DDR2, DDR3 aŭ LPDDR).
- Difinu la DDR-memoro-solvtempon. Konsultu viajn eksterajn DDR-memoro-specifojn por agordi la ĝustan memoran agordan tempon. La DDR-memoro povas malsukcesi pravigi ĝuste se la memor-solvtempo ne estas ĝuste agordita.
- Aŭ importu la agordajn datumojn de DDR-registrilo aŭ agordu viajn DDR-memorajn parametrojn. Por detaloj, referu al la Microsemi SmartFusion2 Alta Rapida Seria kaj DDR-Interfacoj Gvidilo de Uzanto.
Ĉi tiuj datumoj estas uzataj por generi la DDR-registron BFM kaj firmware-konfiguracion files kiel priskribite en la "Kreado kaj Kompilado de la Firmware-Apliko" sur paĝo 26 kaj "BFM Files Uzita por Simulado de Dezajno” sur paĝo 27. Por detaloj pri DDR-regilaj agordaj registroj, referu al la Microsemi SmartFusion2 Alta Rapida Seria kaj DDR-Interfacoj Gvidilo de Uzanto.
Eksample de la agordo file sintakso estas montrita en Figuro 2-3. La registritaj nomoj uzataj en ĉi tio file estas la samaj kiel tiuj priskribitaj en la Microsemi SmartFusion2 Alta Rapida Seria kaj DDR-Interfacoj Gvidilo de Uzanto
Figuro 2-3 • Agordo File Sintakso Ekzample
Sistemo-Konstruisto Ekstercentraj Paĝo
En la Peripherals-paĝo, por ĉiu DDR-regilo estas kreita aparta subsistemo (Fabric DDR Subsystem por FDDR kaj MSS DDR FIC Subsystem por MDDR). Vi povas aldoni kernon de Fabric AMBA Master (agordita kiel AXI/AHBLite) al ĉiu el ĉi tiuj subsistemoj por ebligi ŝtofan majstran aliron al la DDR-regiloj. Sur generacio, System Builder aŭtomate instancas buskernojn (depende de la speco de AMBA Majstro aldonita) kaj eksponas la majstran BIF de la buskerno kaj la horloĝon kaj restarigi stiftojn de la ekvivalentaj subsistemoj (FDDR/MDDR) sub konvenaj pinglogrupoj, al la supro. Ĉio, kion vi devas fari, estas konekti la BIF-ojn al la taŭgaj Fabric Master-kernoj, kiujn vi instangus en la dezajno. En la kazo de MDDR, estas laŭvole aldoni Fabric AMBA Master-kernon al la MSS DDR FIC Subsistemo; Cortex-M3 estas defaŭlta majstro sur ĉi tiu subsistemo. Figuro 2-4 montras la Paĝon pri Ekstercentraj Sistemo-Konstruisto.
Figuro 2-4 • Paĝo pri Ekstercentraj Sistemkonstruantoj
Paĝo de Agordoj de Sistemo-Konstruisto
En la paĝo de Clock Settings, por ĉiu DDR-regilo, vi devas specifi la horloĝfrekvencojn rilatajn al ĉiu DDR (MDDR kaj/aŭ FDDR) subsistemo.
Por MDDR, vi devas specifi:
- MDDR_CLK - Ĉi tiu horloĝo determinas la operacian frekvencon de la DDR-Regilo kaj devus kongrui kun la horloĝfrekvenco, kiun vi deziras, ke via ekstera DDR-memoro funkciigu. Ĉi tiu horloĝo estas difinita kiel oblo de la M3_CLK (Cortex-M3 kaj MSS Ĉefa Horloĝo, Figuro 2-5). La MDDR_CLK devas esti malpli ol 333 MHz.
- DDR_FIC_CLK - Se vi elektis ankaŭ aliri la MDDR de la FPGA-ŝtofo, vi devas specifi la DDR_FIC_CLK. Tiu horloĝfrekvenco estas difinita kiel rilatumo de la MDDR_CLK kaj devus egali la frekvencon ĉe kiu la FPGA-ŝtofa subsistemo kiu aliras la MDDR funkcias.
Figuro 2-5 • Cortex-M3 kaj MSS Ĉefa Horloĝo; MDDR Horloĝoj
Por FDDR, vi devas specifi:
- FDDR_CLK - Determinas la operacian frekvencon de la DDR-Regilo kaj devus kongrui kun la horloĝfrekvenco, je kiu vi deziras, ke via ekstera DDR-memoro funkciigu. Notu, ke ĉi tiu horloĝo estas difinita kiel oblo de la M3_CLK (MSS kaj Cortex-M3-horloĝo, Figuro 2-5). La FDDR_CLK devas esti ene de 20 MHz kaj 333 MHz.
- FDDR_SUBSYSTEM_CLK - Ĉi tiu horloĝfrekvenco estas difinita kiel proporcio de la FDDR_CLK kaj devus kongrui kun la frekvenco, ĉe kiu funkcias la FPGA-ŝtofa subsistemo, kiu aliras la FDDR.
Figuro 2-6 • Ŝtofaj DDR-horloĝoj
Agordo de SERDESIF
La SERDESIF-blokoj ne estas instanciigitaj en la kreita dezajno de System Builder. Tamen, por ĉiuj SERDESIF-blokoj, inicialigsignaloj estas haveblaj ĉe la interfaco de la System Builder-kerno kaj povas esti konektitaj al la SERDESIF-kernoj ĉe la sekva nivelo de hierarkio, kiel montrite en Figuro 2-7.Figuro 2-7 • SERDESIF Ekstercentra Initialization Konektebleco
Simile al la DDR-agordaj registroj, ĉiu SERDES-bloko ankaŭ havas agordajn registrojn, kiuj devas esti ŝarĝitaj ĉe rultempo. Vi povas aŭ importi ĉi tiujn registrajn valorojn aŭ uzi la Alta Rapidan Serian Interfacon-Agordilon (Figuro 2-8) por enigi viajn PCIe aŭ EPCS-parametrojn kaj la registrovaloroj estas aŭtomate kalkulitaj por vi. Por detaloj, referu al la Gvidilo de Uzanto de SERDES-Configurator.Figuro 2-8 • Alta Rapida Seria Interfaco-Agordilo
Post kiam vi integris vian uzantlogikon kun la bloko System Builder kaj SERDES-bloko, vi povas generi vian plej altan nivelon SmartDesign. Ĉi tio generas ĉiujn HDL kaj BFM files kiuj estas necesaj por efektivigi kaj simuli vian dezajnon. Vi povas tiam daŭrigi kun la resto de la Dezajna Fluo.
Uzante SmartDesign por Krei Dezajnon Uzante DDR kaj SERDESIF-Blokojn
Ĉi tiu sekcio priskribas kiel kunmeti kompletan "komencigan" solvon sen uzi la SmartFusion2 System Builder. La celo estas helpi vin kompreni, kion vi devas fari se vi ne volas uzi la Sistemkonstruilon. Ĉi tiu sekcio ankaŭ priskribas, kion la System Builder-ilo efektive generas por vi. Ĉi tiu sekcio priskribas kiel:
- Enigu la agordajn datumojn por DDR-regilo kaj SERDESIF-agordaj registroj.
- Instancigu kaj konektu la Ŝtofajn Kernojn necesajn por transdoni la agordajn datumojn al la DDR-regiloj kaj SERDESIF-agordaj registroj.
Agordo de DDR-Regilo
La regiloj MSS DDR (MDDR) kaj Fabric DDR (FDDR) devas esti agorditaj dinamike (je rultempo) por kongrui kun la eksteraj DDR-memoraj agordaj postuloj (DDR-reĝimo, PHY-larĝo, eksplodreĝimo, ECC, ktp.). Datenoj enigitaj en MDDR/FDDR-agordilo estas skribitaj al la DDR-regilaj agordaj registroj per la funkcio CMSIS SystemInit(). La agordilo havas tri malsamajn langetojn por enigi malsamajn specojn de agordaj datumoj:
- Ĝeneralaj datumoj (DDR-reĝimo, Datuma Larĝo, Horloĝa Frekvenco, ECC, Ŝtofa Interfaco, Veturado-Forto)
- Memoraj Inicialigaj datumoj (Burst Length, Burst Order, Timing Mode, Latency, ktp.)
- Datenoj pri Memoro-Temigo
Raportu la specifojn de via ekstera DDR-memoro kaj agordu la DDR-Regilon por kongrui kun la postuloj de via ekstera DDR-memoro.
Por detaloj pri DDR-agordo, referu al la SmartFusion2 MSS DDR-Agorda Uzantgvidilo.
Agordo de SERDESIF
Duoble alklaku la SERDES-blokon en la SmartDesign-kanvaso por malfermi la Agordilon por agordi la SERDES (Figuro 3-1). Vi povas aŭ importi ĉi tiujn registrajn valorojn aŭ uzi la SERDES-agordilon por enigi viajn PCIe aŭ EPCS-parametrojn kaj la registraj valoroj aŭtomate kalkuliĝas por vi. Por detaloj, raportu al la Gvidilo de Uzanto de SERDES-Configurator.Figuro 3-1 • Alta Rapida Seria Interfaco-Agordilo
Kreante la FPGA-Dezajnan Inicialigan Sub-Sistemon
Por pravalorigi la DDR kaj SERDESIF-blokojn, vi devas krei la komencan subsistemon en la FPGA-ŝtofo. La subsistemo de FPGA-ŝtofo-inicialigo movas datumojn de la Cortex-M3 al la agordaj registroj de DDR kaj SERDESIF, administras la rekomencigitajn sekvencojn necesajn por ke ĉi tiuj blokoj estu funkciaj kaj signalas kiam ĉi tiuj blokoj pretas komuniki kun la resto de via dezajno. Por krei la komencan subsistemon, vi devas:
- Agordu FIC_2 en la MSS
- Instancigu kaj agordu la kernojn CoreConfigP kaj CoreResetP
- Instancigu la surblatan 25/50MHz RC-oscilatoron
- Instancigu la makroon de Sistema Reset (SYSRESET).
- Konektu ĉi tiujn komponantojn al la agordaj interfacoj, horloĝoj, rekomencigitaj kaj PLL-ŝlosaj havenoj de ĉiu ekstercentra
MSS FIC_2 APB-agordo
Por agordi la MSS FIC_2:
- Malfermu la dialogujon de la agordilo FIC_2 de la MSS-agordilo (Figuro 3-2).
- Elektu Iniciatigu ekstercentrajn uzante Cortex-M3.
- Depende de via sistemo, kontrolu unu aŭ ambaŭ el la sekvaj markobutonoj:
– MSS DDR
– Ŝtofo DDR kaj/aŭ SERDES-Blokoj - Alklaku OK kaj procedu por generi la MSS (vi povas prokrasti ĉi tiun agon ĝis vi plene agordis la MSS laŭ viaj projektpostuloj). La FIC_2-havenoj (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK kaj FIC_2_APB_M_RESET_N) nun estas elmontritaj ĉe la MSS-interfaco kaj povas esti konektitaj al la CoreConfigP kaj CoreResetP-kernoj.
Figuro 3-2 • MSS FIC_2-Agordilo
CoreConfigP
Por agordi CoreConfigP:
- Instancigu CoreConfigP en vian SmartDesign (tipe tiu, kie la MSS estas instantiigita).
Ĉi tiu kerno troviĝas en la Libero-Katalogo (sub Ekstercentraloj). - Duoble alklaku la kernon por malfermi la agordilon.
- Agordu la kernon por specifi kiuj ekstercentraj devas esti pravaligitaj (Figuro 3-3)
Figuro 3-3 • Dialog Box CoreConfigP
CoreResetP
Por agordi CoreResetP:
- Instancigu CoreResetP en vian SmartDesign (tipe tiu, kie la MSS estas instantiigita).
Ĉi tiu kerno troveblas en la Libero-Katalogo, sub Periferaĵoj. - Duoble alklaku la kernon ene de la SmartDesign Canvas por malfermi la Agordilon (Figuro 3-4).
- Agordu la kernon al:
– Specifi la eksteran restarigi konduton (EXT_RESET_OUT asertita). Elektu unu el kvar opcioj:
o EXT_RESET_OUT neniam estas asertita
o EXT_RESET_OUT estas asertita se elektra rekomencigita (POWER_ON_RESET_N) estas asertita
o EXT_RESET_OUT estas asertita se FAB_RESET_N estas asertita
o EXT_RESET_OUT estas asertita se ŝaltita rekomencigita (POWER_ON_RESET_N) aŭ FAB_RESET_N estas asertita
– Specifu la Aparato Voltage. La elektita valoro devus kongrui kun la voltage vi elektis en la dialogkesto Libero Project Settings.
– Kontrolu la taŭgajn markobutonojn por indiki kiajn ekstercentrajn vi uzas en via dezajno.
– Specifu la eksteran memoran agordan tempon. Ĉi tiu estas la maksimuma valoro por ĉiuj DDR-memoroj uzataj en via aplikaĵo (MDDR kaj FDDR). Referu al la datenfolio de ekstera memoro de DDR por agordi ĉi tiun parametron. 200us estas bona defaŭlta valoro por DDR2 kaj DDR3-memoroj kurantaj je 200MHz. Ĉi tio estas tre grava parametro por garantii laboran simuladon kaj laborsistemon sur silicio. Neĝusta valoro por la solvi tempo povas rezultigi simulajn erarojn. Referu al la datenfolio de DDR-memorvendisto por agordi ĉi tiun parametron.
– Por ĉiu SERDES-bloko en via dezajno, kontrolu la taŭgajn skatolojn por indiki ĉu:
o PCIe estas uzata
o Subteno por PCIe Hot Reset estas postulata
o Subteno por PCIe L2/P2 estas bezonata
Notu: Se vi uzas la 090-die (M2S090) kaj via dezajno uzas SERDESIF, vi ne devas marki iun el la sekvaj markobutonoj: 'Uzita por PCIe', 'Inkluzivi PCIe HotReset-subtenon' kaj 'Inkluzivi PCIe L2/P2-subtenon'. Se vi uzas iun ajn ne-090-aparaton kaj uzas unu aŭ plurajn SERDESIF-blokojn, vi devas kontroli ĉiujn kvar markobutonojn sub la taŭga sekcio de SERDESIF.
Notu: Por detaloj pri la disponeblaj elektoj al vi en ĉi tiu agordilo, raportu al la Manlibro de CoreResetP.
Figuro 3-4 • CoreResetPConfigurator
25/50MHz Oscilatoro Instanciigo
CoreConfigP kaj CoreResetP estas horloĝigitaj de la sur-blato 25/50MHz RC-oscilatoro. Vi devas instantiigi 25/50MHz Oscilatoron kaj konekti ĝin al ĉi tiuj kernoj.
- Instancigu la kernon de Chip Oscillators en vian SmartDesign (tipe tiu, kie la MSS estas instantiigita). Ĉi tiu kerno troveblas en la Libero-Katalogo sub Horloĝo kaj Administrado.
- Agordu ĉi tiun kernon tiel, ke la RC-oscilatoro movas la FPGA-ŝtofon, kiel montrite en Figuro 3-5.
Figuro 3-5 • Konfiguratoro de Chip Oscilatoroj
Sistemrestarigo (SYSRESET) Instanciigo
La makroo SYSRESET provizas aparaton-nivelan restarigi funkcion al via dezajno. La eligsignalo POWER_ON_RESET_N estas asertita/malasertita kiam ajn la blato estas ŝaltita aŭ la ekstera pinglo DEVRST_N estas asertita/malasertita (Figuro 3-6).
Instancigu la SYSRESET-makroon en vian SmartDesign (tipe tiu, kie la MSS estas instantiigita). Ĉi tiu makroo troviĝas en la Libero-Katalogo sub Makrobiblioteko. Neniu agordo de ĉi tiu makroo estas necesa.
Figuro 3-6 • SYSRESET Makroo
Entuta Konektebleco
Post kiam vi kreis kaj agordis la MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP kaj CoreResetP-kernojn en via dezajno, vi devas konekti ilin por formi la Periferan Inicialigan subsistemon. Por simpligi la priskribon pri konektebleco en ĉi tiu dokumento, ĝi estas dividita en la konekton de datumvoja agordo konforma APB3 asociita kun la rilataj rilatoj CoreConfigP kaj CoreResetP.
Konektebleco de Datumoj de Agordo
Figuro 3-7 montras kiel konekti la CoreConfigP al la MSS FIC_2-signaloj kaj la APB3-konformaj agordaj interfacoj de la ekstercentraj.
Tabelo 3-1 • Agorda Datuma Vojo Haveno/BIF-Konektoj
DE Haveno/Busa Interfaco (BIF)/ Komponanto |
AL Haveno/Busa Interfaco (BIF)/Komponento |
||
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 Sklavo (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmslave/Config | APB SLAVO (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmslave | APB SLAVO (BIF)/ FDDR | ||
FIC 2 APBmmaster/ CoreConfigP | FIC 2 APB MASTER/ MSS |
Figuro 3-7 • FIC_2 APB3 Sub-Sistema Konektebleco
Horloĝoj kaj Restarigas Konektecon
Figuro 3-8 montras kiel konekti la CoreResetP al la eksteraj restarigi fontoj kaj la kernaj restarigi signaloj de la ekstercentraj. Ĝi ankaŭ montras kiel konekti la CoreResetP al la sinkronigaj statussignaloj de la horloĝo de la ekstercentraj (PLL-ŝlossignaloj). Krome, ĝi montras kiel la CoreConfigP kaj CoreResetP estas konektitaj.
Figuro 3-8 • Kerna SF2Reset Sub-Sistema Konektebleco
Kreante kaj Kompilante la Firmware-Aplikon
Kiam vi eksportas la firmvaro de LiberoSoC (Dezajna Fluo-Fenestro> Eksporti Firmware> Eksporti Firmware), Libero generas la jenajn files en la /firmware/drivers_config/ sys_config dosierujo:
- sys_config.c – Enhavas la datumstrukturojn kiuj tenas la valorojn por la ekstercentraj registroj.
- sys_config.h – Enhavas la #define deklarojn kiuj specifas kiuj ekstercentraj estas uzataj en la dezajno kaj devas esti pravaligitaj.
- sys_config_mddr_define.h – Enhavas la agordajn datumojn de la regilo de MDDR enmetitaj en la dialogkesto de Registroj.
- sys_config_fddr_define.h – Enhavas la datumojn de agordo de la regilo de FDDR enmetitaj en la dialogujo de Registroj.
- sys_config_mss_clocks.h – Ĉi tio file enhavas la MSS-horloĝfrekvencojn kiel difinite en la MSS CCC-agordilo. Tiuj frekvencoj estas uzitaj per la CMSIS-kodo por disponigi ĝustajn horloĝinformojn al multaj el la MSS-ŝoforoj kiuj devas havi aliron al sia Peripheral Clock (PCLK) frekvenco (ekz., MSS UART-baŭdrapideco-dividiloj estas funkcio de la baŭdrapideco kaj la PCLK-frekvenco. ).
- sys_config_SERDESIF_ .c – Enhavas la SERDESIF_ registri agordajn datumojn provizitajn dum la SERDESIF_ bloka agordo en dezajnokreado.
- sys_config_SERDESIF_ .h – Enhavas la #define-deklarojn, kiuj specifas la nombron da registraj agordaj paroj kaj la lena numero, kiu devas esti balotita por PMA_READY (nur en PCIe-reĝimo).
Ĉi tiuj files estas postulataj por ke la CMSIS-kodo kompilu ĝuste kaj enhavu informojn pri via nuna dezajno, inkluzive de periferiaj agordaj datumoj kaj horloĝaj agordaj informoj por la MSS.
Ne redaktu ĉi tiujn files permane; ili estas kreitaj al la respondaj komponantoj/periferiaj dosierujoj ĉiufoje kiam la SmartDesign-komponentoj enhavantaj la respektivajn ekstercentrajn estas generitaj. Se iuj ŝanĝoj estas faritaj al la agordaj datumoj de iu ajn el la ekstercentraj, vi devas reeksporti la firmware-projektojn por ke la ĝisdatigita firmvaro. files (vidu la liston supre) estas eksportitaj al la /firmware/drivers_config/sys_config dosierujo.
Kiam vi eksportas la firmware, Libero SoC kreas la firmware-projektojn: biblioteko kie via desegna agordo files kaj ŝoforoj estas kompilitaj.
Se vi kontrolas la Krei projekton markobutono kiam vi eksportas la firmware, programaro SoftConsole/IAR/Keil-projekto estas kreita por teni la aplikaĵon, kie vi povas redakti la main.c kaj uzanton C/H. files. Malfermu la projekton SoftConSole/IAR/Keil por kompili la CMSIS-kodon ĝuste kaj havi vian firmware-aplikaĵon ĝuste agordita por kongrui kun via aparatara dezajno.
BFM Files Uzita por Simulado de la Dezajno
Kiam vi generas la SmartDesign-komponentojn enhavantajn la ekstercentrajn asociitajn kun via dezajno, la simulado files respondaj al la respektivaj ekstercentraj estas generitaj en la /simula dosierujo:
- testo.bfm - Plej alta nivelo BFM file tio unue estas efektivigita dum iu simulado kiu ekzercas la SmartFusion2 MSS Cortex-M3-procesoron. Ĝi ekzekutas peripheral_init.bfm kaj user.bfm, en tiu ordo.
- MDDR_init.bfm – Se via dezajno uzas la MDDR, Libero generas ĉi tion file; ĝi enhavas BFM-skribi komandojn kiuj simulas skribojn de la MSS DDR-agordaj registrodatenoj kiujn vi enigis (uzante la Edit Registers dialogkesto aŭ en la MSS_MDDR GUI) en la MSS DDR Controller-registrojn.
- FDDR_init.bfm – Se via dezajno uzas la FDDR, Libero generas ĉi tion file; ĝi enhavas BFM-skribajn komandojn, kiuj simulas skribojn de la datumoj de la registro de agordo de Fabric DDR, kiujn vi enigis (uzante la dialogkeston de Edit Registers aŭ en la FDDR GUI) en la registrojn de Fabric DDR Controller.
- SERDESIF_ _init.bfm – Se via dezajno uzas unu aŭ plurajn SERDESIF-blokojn, Libero generas ĉi tion file por ĉiu el la SERDESIF_ blokoj uzataj; ĝi enhavas BFM-skribajn komandojn, kiuj simulas skribojn de la datumoj de SERDESIF-agordaj registroj, kiujn vi enigis (uzante la dialogujon Redakti Registrojn aŭ en la SERDESIF_ GUI) en la SERDESIF_ registroj. Se la SERDESIF-bloko estas agordita kiel PCIe, ĉi tio file ankaŭ havas kelkajn #define deklarojn kiuj kontrolas la ekzekuton de la 2 registraj agordaj fazoj en perfekta ordo.
- uzanto.bfm – Enhavas la uzantkomandojn. Ĉi tiuj komandoj estas ekzekutitaj post kiam peripheral_init.bfm finiĝis. Redaktu ĉi tion file por enigi viajn BFM-komandojn.
- SERDESIF_ _uzanto.bfm – Enhavas la uzantkomandojn. Redaktu ĉi tion file por enigi viajn BFM-komandojn. Uzu ĉi tion se vi agordis SERDESIF_ bloko en BFM PCIe simuladreĝimo kaj kiel AXI/AHBLite majstro. Se vi agordis SERDESIF_ bloko en RTL-simula reĝimo, vi ne bezonos ĉi tion file.
Kiam vi alvokas simuladon ĉiufoje, la sekvaj du simulado files estas rekreitaj al la /simula dosierujo kun ĝisdatigita enhavo:
- subsistemo.bfm – Enhavas la #define deklarojn por ĉiu ekstercentra uzita en via dezajno, kiuj specifas la apartan sekcion de la peripheral_init.bfm por esti ekzekutita responda al ĉiu ekstercentra.
- periferia_init.bfm – Enhavas la BFM-proceduron, kiu imitas la funkcion CMSIS:: SystemInit() rulitan sur la Cortex-M3 antaŭ ol vi eniras la proceduron main(). Ĝi kopias la agordajn datumojn por iu ajn ekstercentra uzata en la dezajno al la ĝustaj ekstercentraj agordaj registroj kaj tiam atendas ke ĉiuj ekstercentraj estos pretaj antaŭ aserti, ke vi povas uzi ĉi tiujn ekstercentrajn. Ĝi ekzekutas MDDR_init.bfm kaj FDDR_init.bfm.
Uzante ĉi tiujn generitajn files, la DDR-regiloj en via dezajno estas agorditaj aŭtomate, simulante kio okazus sur SmartFusion2-aparato. Vi povas redakti la user.bfm file aldoni ajnajn komandojn necesajn por simuli vian dezajnon (Cortex-M3 estas la majstro). Ĉi tiuj komandoj estas ekzekutitaj post kiam la ekstercentraj estis pravigitaj. Ne redaktu la test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files kaj la SERDESIF_ _init.bfm files.
Produkta Subteno
Microsemi SoC Products Group subtenas siajn produktojn per diversaj helpservoj, inkluzive de Klienta Servo, Klienta Teknika Subtena Centro, webretejo, retpoŝto, kaj tutmonde vendaj oficejoj.
Ĉi tiu apendico enhavas informojn pri kontaktado de Microsemi SoC Products Group kaj uzado de ĉi tiuj helpservoj.
Klienta Servo
Kontaktu Klientservon por ne-teknika produkta subteno, kiel produktaj prezoj, produktaj ĝisdatigoj, ĝisdatigaj informoj, mendostatuso kaj rajtigo.
El Nordameriko, voku 800.262.1060
El la resto de la mondo, voku 650.318.4460
Faksi, de ie ajn en la mondo, 408.643.6913
Klienta Teknika Subtena Centro
Microsemi SoC Products Group provizas sian Klientan Teknikan Subtenan Centron kun tre lertaj inĝenieroj, kiuj povas helpi respondi viajn aparataron, programaron kaj desegnajn demandojn pri Microsemi SoC-Produktoj. La Klienta Teknika Subtena Centro pasigas multe da tempo kreante aplikajn notojn, respondojn al oftaj dezajnaj ciklodemandoj, dokumentadon de konataj problemoj kaj diversaj Oftaj Demandoj. Do, antaŭ ol vi kontaktu nin, bonvolu viziti niajn retajn rimedojn. Tre verŝajne ni jam respondis viajn demandojn.
Teknika Subteno
Vizitu la Klienta Subteno webretejo (www.microsemi.com/soc/support/search/default.aspx) por pliaj informoj kaj subteno. Multaj respondoj haveblaj sur la serĉebla web rimedo inkluzivas diagramojn, ilustraĵojn kaj ligilojn al aliaj rimedoj sur la webretejo.
Webretejo
Vi povas foliumi diversajn teknikajn kaj ne-teknikajn informojn sur la ĉefpaĝo de SoC, ĉe www.microsemi.com/soc.
Kontakti la Klienta Teknika Subtena Centro
Tre spertaj inĝenieroj dungis la Teknikan Subtenan Centron. La Teknika Subtena Centro povas esti kontaktita retpoŝte aŭ per la Microsemi SoC Products Group webretejo.
Retpoŝto
Vi povas komuniki viajn teknikajn demandojn al nia retadreso kaj ricevi respondojn per retpoŝto, telefakso aŭ telefono. Ankaŭ, se vi havas problemojn pri dezajno, vi povas retpoŝti vian dezajnon files ricevi helpon.
Ni konstante kontrolas la retpoŝtan konton dum la tuta tago. Sendante vian peton al ni, bonvolu nepre inkluzivi vian plenan nomon, kompanian nomon kaj viajn kontaktinformojn por efika prilaborado de via peto.
La retadreso de teknika subteno estas soc_tech@microsemi.com.
Miaj Kazoj
Klientoj de Microsemi SoC Products Group povas sendi kaj spuri teknikajn kazojn interrete irante al Miaj Kazoj.
Ekster Usono
Klientoj, kiuj bezonas helpon ekster la usonaj horzonoj, povas aŭ kontakti teknikan subtenon per retpoŝto (soc_tech@microsemi.com) aŭ kontaktu lokan vendan oficejon. Vendaj oficejo-listoj troveblas ĉe www.microsemi.com/soc/company/contact/default.aspx.
ITAR Teknika Subteno
Por teknika subteno pri RH kaj RT FPGA-oj reguligitaj de Internacia Trafiko en Armiloj (ITAR), kontaktu nin per soc_tech_itar@microsemi.com. Alternative, ene de Miaj Kazoj, elektu Jes en la fallisto de ITAR. Por kompleta listo de ITAR-reguligitaj Microsemi FPGA-oj, vizitu la ITAR web paĝo.
Microsemi Corporation (NASDAQ: MSCC) ofertas ampleksan biletujon da duonkonduktaĵsolvoj por: aerospaco, defendo kaj sekureco; entrepreno kaj komunikado; kaj industriaj kaj alternativaj energimerkatoj. Produktoj inkluzivas alt-efikecajn, altfidindajn analogajn kaj RF-aparatojn, miksitan signalon kaj RF-integrajn cirkvitojn, agordeblajn SoC-ojn, FPGA-ojn kaj kompletajn subsistemojn. Microsemi havas ĉefsidejon en Aliso Viejo, Kalifornio. Lernu pli ĉe www.microsemi.com.
© 2014 Microsemi Corporation. Ĉiuj rajtoj rezervitaj. Microsemi kaj la Microsemi-emblemo estas varmarkoj de Microsemi Corporation. Ĉiuj aliaj varmarkoj kaj servomarkoj estas la posedaĵo de siaj respektivaj posedantoj.
5-02-00384-1/08.14Microsemi Korporacia Ĉefsidejo
One Enterprise, Aliso Viejo CA 92656 Usono
Ene de Usono: +1 949-380-6100
Vendo: +1 949-380-6136
Fakso: +1 949-215-4996
Dokumentoj/Rimedoj
![]() |
Microsemi SmartFusion2 DDR-Regilo kaj Seria Alta Rapida Regilo [pdf] Uzantogvidilo SmartFusion2 DDR-Regilo kaj Seria Alta Rapida Regilo, SmartFusion2 DDR, Regilo kaj Seria Alta Rapida Regilo, Alta Rapida Regilo |