Logotip de MicrosemiSmartFusion2
Controlador DDR i controlador sèrie d'alta velocitat
Metodologia d'inicialització
Guia d'usuari

Introducció

Quan creeu un disseny amb un dispositiu SmartFusion2, si utilitzeu un dels dos controladors DDR (FDDR o MDDR) o qualsevol dels blocs del controlador de sèrie d'alta velocitat (SERDESIF), heu d'inicialitzar els registres de configuració d'aquests blocs en temps d'execució abans. es poden utilitzar. Per example, per al controlador DDR, heu d'establir el mode DDR (DDR3/DDR2/LPDDR), l'amplada PHY, el mode de ràfega i l'ECC.
De la mateixa manera, per al bloc SERDESIF utilitzat com a punt final PCIe, heu d'establir la finestra PCIE BAR a AXI (o AHB).
Aquest document descriu els passos necessaris per crear un disseny Libero que inicialitzi automàticament el controlador DDR i els blocs SERDESIF a l'encesa. També descriu com generar el codi de microprogramari des del Libero SOC que s'utilitza en el flux de disseny incrustat.
Primer es proporciona una descripció detallada de la teoria de les operacions.
La següent secció descriu com crear un disseny d'aquest tipus utilitzant el Libero SoC System Builder, una potent eina de disseny que, entre altres funcions, us crea la solució d'"inicialització" si feu servir blocs DDR o SERDESIF al vostre disseny.
La secció següent descriu com combinar una solució d'"inicialització" completa sense utilitzar el generador de sistemes SmartFusion2. Això ajuda a explicar què s'ha de fer si no voleu utilitzar el System Builder i també descriu què us genera realment l'eina System Builder. Aquesta secció aborda:

  • La creació de les dades de configuració per al controlador DDR i els registres de configuració SERDESIF
  • La creació de la lògica FPGA necessària per transferir les dades de configuració als diferents registres de configuració ASIC

Finalment descrivim el generat files relacionades amb:

  • La creació de la solució d'"inicialització" del firmware.
  • La simulació del disseny de la solució d''inicialització' DDR.

Per obtenir més informació sobre el controlador DDR i els registres de configuració SERDESIF, consulteu el Microsemi SmartFusion2 Guia de l'usuari d'interfícies sèrie i DDR d'alta velocitat.

Teoria del funcionament

La solució d'inicialització de perifèrics utilitza els components principals següents:

  • La funció CMSIS SystemInit(), que s'executa al Cortex-M3 i orquestra el procés d'inicialització.
  • El nucli IP suau CoreConfigP, que inicialitza els registres de configuració dels perifèrics.
  • El nucli IP suau CoreResetP, que gestiona la seqüència de restabliment dels blocs MSS, DDR i SERDESIF.

El procés d'inicialització del perifèric funciona de la següent manera:

  1. Després del restabliment, el Cortex-M3 executa la funció CMSIS SystemInit(). Aquesta funció s'executa automàticament abans que s'executi la funció main() de l'aplicació.
    El senyal de sortida CoreResetP MSS_HPMS_READY s'afirma al començament del procés d'inicialització, indicant que el MSS i tots els perifèrics (excepte MDDR) estan preparats per a la comunicació.
  2. La funció SystemInit() escriu les dades de configuració als controladors DDR i als registres de configuració SERDESIF mitjançant el bus MSS FIC_2 APB3. Aquesta interfície està connectada al nucli suau CoreConfigP instància al teixit FPGA.
  3. Després de configurar tots els registres, la funció SystemInit() escriu als registres de control CoreConfigP per indicar la finalització de la fase de configuració del registre; aleshores s'afirmen els senyals de sortida CoreConfigP CONFIG1_DONE i CONIG2_DONE.
    Hi ha dues fases de configuració del registre (CONFIG1 i CONFIG2) depenent dels perifèrics utilitzats en el disseny.
  4. Si s'utilitzen un o tots dos MDDR/FDDR i no s'utilitza cap dels blocs SERDESIF en el disseny, només hi ha una fase de configuració del registre. Els dos senyals de sortida de CoreConfigP CONFIG1_DONE i CONIG2_DONE s'afirmen un darrere l'altre sense cap espera/retard.
    Si en el disseny s'utilitzen un o més blocs SERDESIF en mode no PCIe, només hi ha una fase de configuració del registre. CONFIG1_DONE i CONIG2_DONE s'afirmen una darrere l'altra sense cap espera/retard.
    Si en el disseny s'utilitzen un o més blocs SERDESIF en mode PCIe, hi ha dues fases de configuració del registre. CONFIG1_DONE s'afirma un cop finalitzada la primera fase de configuració del registre. El sistema SERDESIF i els registres de carrils es configuren en aquesta fase. Si SERDESIF es configura en un mode no PCIE, el senyal CONFIG2_DONE també s'afirma immediatament.
  5. A continuació, segueix la segona fase de configuració del registre (si SERDESIF està configurat en mode PCIE). A continuació es mostren els diferents esdeveniments que succeeixen en la segona fase:
    – CoreResetP anul·la els senyals PHY_RESET_N i CORE_RESET_N corresponents a cadascun dels blocs SERDESIF utilitzats. També afirma un senyal de sortida SDIF_RELEASED després que tots els blocs SERDESIF estiguin fora de restabliment. Aquest senyal SDIF_RELEASED s'utilitza per indicar al CoreConfigP que el nucli SERDESIF està fora de restabliment i està preparat per a la segona fase de configuració del registre.
    – Un cop s'afirma el senyal SDIF_RELEASED, la funció SystemInit() comença a sondejar per a l'afirmació de PMA_READY al carril SERDESIF adequat. Un cop afirmat el PMA_READY, la funció SystemInit() configura/escriu el segon conjunt de registres SERDESIF (registres PCIE).
  6. Després de configurar tots els registres PCIE, la funció SystemInit() escriu als registres de control CoreConfigP per indicar la finalització de la segona fase de configuració del registre; aleshores s'afirma el senyal de sortida CoreConfigP CONIG2_DONE.
  7. A part de les afirmacions/desassercions de senyal anteriors, CoreResetP també gestiona la inicialització dels diferents blocs realitzant les funcions següents:
    – Desafirmació del restabliment del nucli FDDR
    – Desactivació dels restabliments PHY i CORE dels blocs SERDESIF
    – Monitorització del senyal de bloqueig FDDR PLL (FPLL). L'FPLL s'ha d'haver bloquejat per garantir que la interfície de dades FDDR AXI/AHBLite i el teixit FPGA es puguin comunicar correctament.
    – Monitorització dels senyals de bloqueig del bloc SERDESIF PLL (SPLL). L'SPLL s'ha d'haver bloquejat per garantir que la interfície AXI/AHBLite (mode PCIe) o la interfície XAUI dels blocs SERDESIF es puguin comunicar correctament amb el teixit FPGA.
    – Esperant que les memòries DDR externes s'instal·lin i estiguin preparats per accedir-hi pels controladors DDR.
  8. Quan tots els perifèrics han completat la seva inicialització, CoreResetP afirma el senyal INIT_DONE; Aleshores s'afirma el registre intern CoreConfigP INIT_DONE.
    Si s'utilitzen un o tots dos MDDR/FDDR i s'arriba al temps d'inicialització de DDR, s'afirma el senyal de sortida CoreResetP DDR_READY. L'afirmació d'aquest senyal DDR_READY es pot controlar com a indicació que el DDR (MDDR/FDDR) està preparat per a la comunicació.
    Si s'utilitzen un o més blocs SERDESIF i la segona fase de configuració del registre s'ha completat amb èxit, s'afirma el senyal de sortida de CoreResetP SDIF_READY. L'afirmació d'aquest senyal SDIF_READY es pot controlar com a indicació que tots els blocs SERDESIF estan preparats per a la comunicació.
  9. La funció SystemInit(), que ha estat esperant que INIT_DONE s'afirmés, es completa i s'executa la funció main() de l'aplicació. En aquell moment, s'han inicialitzat tots els controladors DDR i blocs SERDESIF utilitzats, i l'aplicació de microprogramari i la lògica de teixit FPGA es poden comunicar de manera fiable amb ells.

La metodologia descrita en aquest document es basa en que el Cortex-M3 executa el procés d'inicialització com a part del codi d'inicialització del sistema executat abans de la funció main() de l'aplicació.
Consulteu els diagrames de flux de la figura 1-1, la figura 1-2 i la figura 1-3 per als passos d'inicialització de FDDR/MDDR, SEREDES (mode no PCIe) i SERDES (mode PCIe).
La figura 1-4 mostra un diagrama de temps d'inicialització de perifèrics.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - diagrama de temps 1 Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - diagrama de temps 2

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - diagrama de temps 3Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - diagrama de temps 4Figura 1-3 • Diagrama de flux d'inicialització SERDESIF (PCIe).
El procediment d'inicialització descrit en aquest document requereix que executeu el Cortex-M3 durant el procés d'inicialització, fins i tot si no teniu previst executar cap codi al Cortex-M3. Heu de crear una aplicació de microprogramari bàsica que no faci res (un simple bucle, per exempleample) i carregueu aquest executable a la memòria no volàtil incrustada (eNVM) de manera que els controladors DDR i els blocs SERDESIF s'inicialitzin quan s'iniciï el Cortex-M3.

Utilitzant System Builder per crear un disseny utilitzant blocs DDR i SERDESIF

SmartFusion2 System Builder és una potent eina de disseny que us ajuda a capturar els vostres requisits a nivell de sistema i produeix un disseny que implementa aquests requisits. Una funció molt important del System Builder és la creació automàtica del subsistema d'inicialització de perifèrics. “Utilitzar SmartDesign per crear un disseny amb blocs DDR i SERDESIF” a la pàgina 17 descriu detalladament com crear aquesta solució sense el creador de sistemes.
Si utilitzeu System Builder, heu de realitzar les tasques següents per crear un disseny que inicialitzi els vostres controladors DDR i blocs SERDESIF a l'encesa:

  1. A la pàgina Característiques del dispositiu (figura 2-1), especifiqueu quins controladors DDR s'utilitzen i quants blocs SERDESIF s'utilitzen al vostre disseny.
  2. A la pàgina Memòria, especifiqueu el tipus de DDR (DDR2/DDR3/LPDDR) i les dades de configuració de les vostres memòries DDR externes. Consulteu la secció Pàgina de memòria per obtenir més informació.
  3. A la pàgina Perifèrics, afegiu mestres de teixit configurats com a AHBLite/AXI al subsistema Fabric DDR i/o al subsistema MSS DDR FIC (opcional).
  4. A la pàgina Configuració del rellotge, especifiqueu les freqüències de rellotge per als subsistemes DDR.
  5. Completeu l'especificació de disseny i feu clic a Finalitza. Això genera el disseny creat per System Builder, inclosa la lògica necessària per a la solució d'"inicialització".
  6. Si utilitzeu blocs SERDESIF, heu d'instanciar els blocs SERDESIF al vostre disseny i connectar els seus ports d'inicialització als del nucli generat per System Builder.

Pàgina de funcions del dispositiu del creador de sistemes
A la pàgina Característiques del dispositiu, especifiqueu quins controladors DDR (MDDR i/o FDDR) s'utilitzen i quants blocs SERDESIF s'utilitzen al vostre disseny (Figura 2-1).

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Pàgina de funcions del dispositiuFigura 2-1 • Pàgina de funcions del dispositiu del creador de sistemes

Pàgina de memòria del creador de sistemes
Per utilitzar MSS DDR (MDDR) o Fabric DDR (FDDR), seleccioneu el tipus de memòria a la llista desplegable (figura 2-2).

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Memòria externaFigura 2-2 • Memòria externa MSS

Has de:

  1. Seleccioneu el tipus de DDR (DDR2, DDR3 o LPDDR).
  2. Definiu el temps d'establiment de la memòria DDR. Consulteu les especificacions de memòria DDR externa per establir el temps de configuració de memòria correcte. És possible que la memòria DDR no s'iniciï correctament si el temps d'assentament de la memòria no està configurat correctament.
  3. Importeu les dades de configuració del registre DDR o configureu els vostres paràmetres de memòria DDR. Per obtenir més informació, consulteu el Microsemi SmartFusion2 Guia de l'usuari d'interfícies sèrie i DDR d'alta velocitat.

Aquestes dades s'utilitzen per generar el registre DDR BFM i la configuració del microprogramari files tal com es descriu a “Creació i compilació de l'aplicació de firmware” a la pàgina 26 i “BFM Files S'utilitza per simular el disseny” a la pàgina 27. Per obtenir més informació sobre els registres de configuració del controlador DDR, consulteu la Microsemi SmartFusion2 Guia de l'usuari d'interfícies sèrie i DDR d'alta velocitat.
Un exampel de la configuració file la sintaxi es mostra a la figura 2-3. Els noms de registre utilitzats en aquest file són els mateixos que els descrits a la Microsemi SmartFusion2 Guia de l'usuari d'interfícies sèrie i DDR d'alta velocitat

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - File Sintaxi ExampleFigura 2-3 • Configuració File Sintaxi Example
Pàgina de perifèrics del creador de sistemes
A la pàgina Perifèrics, per a cada controlador DDR es crea un subsistema independent (subsistema DDR de teixit per a FDDR i subsistema MSS DDR FIC per a MDDR). Podeu afegir un nucli Fabric AMBA Master (configurat com a AXI/AHBLite) a cadascun d'aquests subsistemes per permetre l'accés mestre de teixit als controladors DDR. En generar-se, System Builder crea una instancia automàtica dels nuclis de bus (segons el tipus de mestre AMBA afegit) i exposa el BIF mestre del nucli de bus i els pins de rellotge i restabliment dels subsistemes corresponents (FDDR/MDDR) sota els grups de pins adequats, al superior. Tot el que heu de fer és connectar els BIF als nuclis Fabric Master adequats que instànciarieu al disseny. En el cas de MDDR, és opcional afegir un nucli mestre Fabric AMBA al subsistema MSS DDR FIC; Cortex-M3 és un mestre per defecte en aquest subsistema. La figura 2-4 mostra la pàgina de perifèrics del creador de sistemes.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Pàgina de perifèrics del constructorFigura 2-4 • Pàgina de perifèrics del creador de sistemes

Pàgina de configuració del rellotge del creador de sistemes
A la pàgina Configuració del rellotge, per a cada controlador DDR, heu d'especificar les freqüències de rellotge relacionades amb cada subsistema DDR (MDDR i/o FDDR).
Per a MDDR, heu d'especificar:

  • MDDR_CLK: aquest rellotge determina la freqüència de funcionament del controlador DDR i hauria de coincidir amb la freqüència de rellotge en què voleu que funcioni la memòria DDR externa. Aquest rellotge es defineix com un múltiple de M3_CLK (Cortex-M3 i MSS Main Clock, Figura 2-5). El MDDR_CLK ha de ser inferior a 333 MHz.
  • DDR_FIC_CLK: si heu triat accedir també a l'MDDR des del teixit FPGA, heu d'especificar el DDR_FIC_CLK. Aquesta freqüència de rellotge es defineix com a proporció del MDDR_CLK i hauria de coincidir amb la freqüència a la qual s'executa el subsistema de teixit FPGA que accedeix al MDDR.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Rellotges MDDRFigura 2-5 • Rellotge principal Cortex-M3 i MSS; Rellotges MDDR

Per a FDDR, heu d'especificar:

  • FDDR_CLK: determina la freqüència de funcionament del controlador DDR i ha de coincidir amb la freqüència de rellotge a la qual voleu que funcioni la vostra memòria DDR externa. Tingueu en compte que aquest rellotge es defineix com un múltiple del M3_CLK (rellotge MSS i Cortex-M3, figura 2-5). El FDDR_CLK ha d'estar entre 20 MHz i 333 MHz.
  • FDDR_SUBSYSTEM_CLK: aquesta freqüència de rellotge es defineix com una proporció de FDDR_CLK i hauria de coincidir amb la freqüència a la qual s'executa el subsistema de teixit FPGA que accedeix a l'FDDR.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Rellotges DDR de teixitFigura 2-6 • Rellotges DDR de teixit
Configuració SERDESIF
Els blocs SERDESIF no s'instanciencien al disseny generat del System Builder. Tanmateix, per a tots els blocs SERDESIF, els senyals d'inicialització estan disponibles a la interfície del nucli del constructor de sistemes i es poden connectar als nuclis SERDESIF al següent nivell de jerarquia, tal com es mostra a la figura 2-7.Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat: connectivitat d'inicialització de perifèricsFigura 2-7 • Connectivitat d'inicialització de perifèrics SERDESIF
De manera similar als registres de configuració DDR, cada bloc SERDES també té registres de configuració que s'han de carregar en temps d'execució. Podeu importar aquests valors de registre o utilitzar el configurador d'interfície sèrie d'alta velocitat (figura 2-8) per introduir els vostres paràmetres PCIe o EPCS i els valors del registre es calculen automàticament. Per obtenir més informació, consulteu el Guia de l'usuari del configurador SERDES.Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Configurador d'interfície sèrieFigura 2-8 • Configurador d'interfície sèrie d'alta velocitat
Un cop hàgiu integrat la vostra lògica d'usuari amb el bloc System Builder i el bloc SERDES, podeu generar el vostre SmartDesign de primer nivell. Això genera tots els HDL i BFM files que són necessàries per implementar i simular el vostre disseny. A continuació, podeu continuar amb la resta del flux de disseny.

Ús de SmartDesign per crear un disseny amb blocs DDR i SERDESIF

En aquesta secció es descriu com combinar una solució d'"inicialització" completa sense utilitzar el generador de sistemes SmartFusion2. L'objectiu és ajudar-vos a entendre què heu de fer si no voleu utilitzar el System Builder. Aquesta secció també descriu el que realment genera l'eina System Builder. En aquesta secció es descriu com:

  • Introduïu les dades de configuració per al controlador DDR i els registres de configuració SERDESIF.
  • Instancia i connecta els nuclis de teixit necessaris per transferir les dades de configuració als controladors DDR i als registres de configuració SERDESIF.

Configuració del controlador DDR
Els controladors MSS DDR (MDDR) i Fabric DDR (FDDR) s'han de configurar de forma dinàmica (en temps d'execució) per adaptar-se als requisits de configuració de memòria DDR externa (mode DDR, amplada PHY, mode ràfega, ECC, etc.). Les dades introduïdes al configurador MDDR/FDDR s'escriuen als registres de configuració del controlador DDR mitjançant la funció CMSIS SystemInit(). El configurador té tres pestanyes diferents per introduir diferents tipus de dades de configuració:

  • Dades generals (mode DDR, amplada de dades, freqüència de rellotge, ECC, interfície de teixit, força de la unitat)
  • Dades d'inicialització de memòria (durada de la ràfega, ordre de ràfega, mode de temporització, latència, etc.)
  • Dades de temporització de memòria

Consulteu les especificacions de la vostra memòria DDR externa i configureu el controlador DDR perquè coincideixi amb els requisits de la vostra memòria DDR externa.
Per obtenir més informació sobre la configuració de DDR, consulteu el Guia d'usuari de configuració de SmartFusion2 MSS DDR.
Configuració SERDESIF
Feu doble clic al bloc SERDES al llenç de SmartDesign per obrir el Configurador per configurar el SERDES (Figura 3-1). Podeu importar aquests valors de registre o utilitzar el configurador SERDES per introduir els vostres paràmetres PCIe o EPCS i els valors de registre es calculen automàticament. Per obtenir més informació, consulteu el Guia de l'usuari del configurador SERDES.Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Configurador d'interfície sèrie d'alta velocitatFigura 3-1 • Configurador d'interfície sèrie d'alta velocitat
Creació del subsistema d'inicialització del disseny FPGA
Per inicialitzar els blocs DDR i SERDESIF, heu de crear el subsistema d'inicialització al teixit FPGA. El subsistema d'inicialització de teixit FPGA mou les dades del Cortex-M3 als registres de configuració DDR i SERDESIF, gestiona les seqüències de restabliment necessàries perquè aquests blocs estiguin operatius i indica quan aquests blocs estan preparats per comunicar-se amb la resta del vostre disseny. Per crear el subsistema d'inicialització, heu de:

  • Configureu FIC_2 dins de l'MSS
  • Crea una instancia i configura els nuclis CoreConfigP i CoreResetP
  • Instancia l'oscil·lador RC de 25/50MHz al xip
  • Crea una instancia de la macro de restabliment del sistema (SYSRESET).
  • Connecteu aquests components a les interfícies de configuració de cada perifèric, rellotges, restabliments i ports de bloqueig PLL

MSS FIC_2 Configuració APB
Per configurar el MSS FIC_2:

  1. Obriu el quadre de diàleg del configurador FIC_2 des del configurador MSS (figura 3-2).
  2. Seleccioneu Inicialitza perifèrics amb Cortex-M3.
  3. En funció del vostre sistema, marqueu una o les dues caselles de selecció següents:
    – MSS DDR
    – Blocs Fabric DDR i/o SERDES
  4. Feu clic a D'acord i procediu a generar el MSS (podeu ajornar aquesta acció fins que hàgiu configurat completament el MSS als vostres requisits de disseny). Els ports FIC_2 (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK i FIC_2_APB_M_RESET_N) ara estan exposats a la interfície MSS i es poden connectar als nuclis CoreConfigP i CoreResetP.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Configurador MSS FIC 2Figura 3-2 • Configurador MSS FIC_2

CoreConfigP
Per configurar CoreConfigP:

  1. Instancieu CoreConfigP al vostre SmartDesign (normalment aquell on s'instancia el MSS).
    Aquest nucli es pot trobar al Catàleg Libero (a Perifèrics).
  2. Feu doble clic al nucli per obrir el configurador.
  3. Configureu el nucli per especificar quins perifèrics cal inicialitzar (Figura 3-3)

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - quadre de diàlegFigura 3-3 • Quadre de diàleg CoreConfigP

CoreResetP
Per configurar CoreResetP:

  1. Instancieu CoreResetP al vostre SmartDesign (normalment aquell on s'instancia el MSS).
    Aquest nucli es pot trobar al Catàleg Libero, a Perifèrics.
  2. Feu doble clic al nucli dins de l'SmartDesign Canvas per obrir el Configurador (Figura 3-4).
  3. Configureu el nucli per:
    – Especifiqueu el comportament de reinici extern (EXT_RESET_OUT afirmat). Trieu una de les quatre opcions:
    o EXT_RESET_OUT mai s'afirma
    o EXT_RESET_OUT s'afirma si s'afirma el restabliment de l'engegada (POWER_ON_RESET_N)
    o S'afirma EXT_RESET_OUT si s'afirma FAB_RESET_N
    o EXT_RESET_OUT s'afirma si s'afirma el restabliment de l'engegada (POWER_ON_RESET_N) o FAB_RESET_N
    – Especifiqueu el volum del dispositiutage. El valor seleccionat hauria de coincidir amb el voltagque heu seleccionat al quadre de diàleg Configuració del projecte Libero.
    – Marqueu les caselles de selecció corresponents per indicar quins perifèrics utilitzeu al vostre disseny.
    – Especifiqueu el temps de configuració de la memòria DDR externa. Aquest és el valor màxim per a totes les memòries DDR utilitzades a la vostra aplicació (MDDR i FDDR). Consulteu el full de dades del proveïdor de memòria DDR extern per configurar aquest paràmetre. 200us és un bon valor predeterminat per a memòries DDR2 i DDR3 que funcionen a 200MHz. Aquest és un paràmetre molt important per garantir una simulació de treball i un sistema de treball sobre silici. Un valor incorrecte del temps d'assentament pot provocar errors de simulació. Consulteu el full de dades del proveïdor de memòria DDR per configurar aquest paràmetre.
    – Per a cada bloc SERDES del vostre disseny, marqueu les caselles corresponents per indicar si:
    o S'utilitza PCIe
    o Es requereix suport per a PCIe Hot Reset
    o Es requereix suport per a PCIe L2/P2

Nota: Si utilitzeu la matriu 090 (M2S090) i el vostre disseny utilitza SERDESIF, no heu de marcar cap de les caselles de selecció següents: "Utilitzat per a PCIe", "Inclou el suport PCIe HotReset" i "Inclou el suport PCIe L2/P2". Si utilitzeu qualsevol dispositiu que no sigui 090 i utilitzeu un o més blocs SERDESIF, heu de marcar les quatre caselles de selecció a la secció SERDESIF corresponent.
Nota: Per obtenir més informació sobre les opcions disponibles en aquest configurador, consulteu el manual de CoreResetP.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - CoreResetPConfiguratorFigura 3-4 • CoreResetPConfigurator

Instanciació d'oscil·ladors de 25/50MHz
CoreConfigP i CoreResetP estan marcats per l'oscil·lador RC de 25/50MHz en xip. Heu d'instanciar un oscil·lador de 25/50MHz i connectar-lo a aquests nuclis.

  1. Instanciïu el nucli dels oscil·ladors de xip al vostre SmartDesign (normalment aquell on s'instancia el MSS). Aquest nucli es pot trobar al catàleg de Libero a Rellotge i gestió.
  2. Configureu aquest nucli de manera que l'oscil·lador RC impulsi el teixit FPGA, tal com es mostra a la figura 3-5.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - Configurador d'oscil·ladorsFigura 3-5 • Configurador d'oscil·ladors de xip

Reinicialització del sistema (SYSRESET) Instanciació
La macro SYSRESET proporciona la funcionalitat de restabliment del dispositiu al vostre disseny. El senyal de sortida POWER_ON_RESET_N s'afirma/desafirma sempre que el xip s'engega o s'afirma/desactiva el pin extern DEVRST_N (Figura 3-6).
Instanciïu la macro SYSRESET al vostre SmartDesign (normalment la que s'instancia el MSS). Aquesta macro es pot trobar al catàleg de Libero a Macro Library. No cal configurar aquesta macro.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - SYSRESET MacroFigura 3-6 • Macro SYSRESET

Connectivitat general
Després d'haver creat i configurat els nuclis MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP i CoreResetP al vostre disseny, heu de connectar-los per formar el subsistema d'inicialització de perifèrics. Per simplificar la descripció de la connectivitat d'aquest document, es divideix en la connectivitat del camí de dades de configuració compatible amb APB3 associada a les connexions relacionades amb CoreConfigP i CoreResetP.
Connectivitat del camí de dades de configuració
La figura 3-7 mostra com connectar el CoreConfigP als senyals MSS FIC_2 i les interfícies de configuració compatibles amb APB3 dels perifèrics.
Taula 3-1 • Port de ruta de dades de configuració/Connexions BIF

DE
Interfície Port/Bus
(BIF)/ Component
A
Port/Interfície de bus (BIF)/Component
APB S PRESET N/ CoreConfigP APB S PRESET N/ SDIF<0/1/2/3> APB S PRESET N/
FDDR
MDDR APB S PRESE TN/MSS
APB S PCLK/ CoreConfigP APB S PCLK/SDIF APB S PCLK/FDDR MDDR APB S POLK/ MSS
MDDR APBmslave/ CoreConfig MDDR APB SLAVE (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config ESCLAV APB (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave ESCLAV APB (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MÀSTER/ MSS

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat - connectivitat del subsistemaFigura 3-7 • Connectivitat del subsistema FIC_2 APB3

Rellotges i restabliment de la connectivitat
La figura 3-8 mostra com connectar el CoreResetP a les fonts de restabliment externes i els senyals de restabliment del nucli dels perifèrics. També mostra com connectar el CoreResetP als senyals d'estat de sincronització del rellotge dels perifèrics (senyals de bloqueig PLL). A més, mostra com estan connectats CoreConfigP i CoreResetP.

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat: connectivitat del subsistema 2Figura 3-8 • Connectivitat del subsistema Core SF2Reset

Creació i compilació de l'aplicació de firmware

Quan exporteu el microprogramari des de LiberoSoC (Finestra de flux de disseny > Exporta el microprogramari > Exporta el microprogramari), Libero genera el següent files a la Carpeta /firmware/drivers_config/ sys_config:

  • sys_config.c – Conté les estructures de dades que contenen els valors dels registres perifèrics.
  • sys_config.h – Conté les sentències #define que especifiquen quins perifèrics s'utilitzen en el disseny i cal inicialitzar-los.
  • sys_config_mddr_define.h – Conté les dades de configuració del controlador MDDR introduïdes al quadre de diàleg Configuració de registres.
  • sys_config_fddr_define.h – Conté les dades de configuració del controlador FDDR introduïdes al quadre de diàleg Configuració de registres.
  • sys_config_mss_clocks.h – Això file conté les freqüències de rellotge MSS tal com es defineixen al configurador MSS CCC. El codi CMSIS utilitza aquestes freqüències per proporcionar informació de rellotge correcta a molts dels controladors MSS que han de tenir accés a la seva freqüència de rellotge perifèric (PCLK) (per exemple, els divisors de velocitat en baudis MSS UART són una funció de la velocitat de transmissió i la freqüència de PCLK). ).
  • sys_config_SERDESIF_ .c – Conté el SERDESIF_ registre les dades de configuració proporcionades durant el SERDESIF_ configuració de blocs en la creació del disseny.
  • sys_config_SERDESIF_ .h – Conté les sentències #define que especifiquen el nombre de parells de configuració de registre i el número de carril que s'ha de consultar per PMA_READY (només en mode PCIe).

Aquests fileEs necessiten s perquè el codi CMSIS es compile correctament i contingui informació sobre el vostre disseny actual, incloses les dades de configuració del perifèric i la informació de configuració del rellotge per al MSS.
No editeu aquests files manualment; es creen als directoris de components/perifèrics corresponents cada vegada que es generen els components SmartDesign que contenen els perifèrics respectius. Si es fan canvis a les dades de configuració d'algun dels perifèrics, cal que torneu a exportar els projectes de microprogramari perquè el microprogramari actualitzat files (vegeu la llista anterior) s'exporten a carpeta / firmware/drivers_config/sys_config.
Quan exporteu el microprogramari, Libero SoC crea els projectes de microprogramari: una biblioteca on la vostra configuració de disseny files i controladors estan compilats.
Si marqueu Crear projecte casella de selecció quan exporteu el microprogramari, es crea un projecte de programari SoftConsole/IAR/Keil per contenir el projecte de l'aplicació on podeu editar el main.c i el C/H de l'usuari files. Obriu el projecte SoftConSole/IAR/Keil per compilar el codi CMSIS correctament i tenir la vostra aplicació de microprogramari configurada correctament perquè coincideixi amb el vostre disseny de maquinari.

BFM Files S'utilitza per simular el disseny

Quan genereu els components SmartDesign que contenen els perifèrics associats al vostre disseny, la simulació files corresponents als respectius perifèrics es generen al /directori de simulació:

  • prova.bfm – BFM de primer nivell file que s'executa primer durant qualsevol simulació que exerceixi el processador SmartFusion2 MSS Cortex-M3. Executa peripheral_init.bfm i user.bfm, en aquest ordre.
  • MDDR_init.bfm – Si el vostre disseny utilitza MDDR, Libero ho genera file; conté ordres d'escriptura BFM que simulen escriptures de les dades del registre de configuració MSS DDR que heu introduït (mitjançant el quadre de diàleg Edita registres o a la GUI MSS_MDDR) als registres del controlador MSS DDR.
  • FDDR_init.bfm – Si el vostre disseny utilitza el FDDR, Libero el genera file; conté ordres d'escriptura BFM que simulen escriptures de les dades del registre de configuració de Fabric DDR que heu introduït (mitjançant el quadre de diàleg Edita registres o a la GUI de FDDR) als registres del controlador de Fabric DDR.
  • SERDESIF_ _init.bfm – Si el vostre disseny utilitza un o més blocs SERDESIF, Libero ho genera file per a cadascun dels SERDESIF_ blocs utilitzats; conté ordres d'escriptura de BFM que simulen escriptures de les dades del registre de configuració SERDESIF que heu introduït (mitjançant el quadre de diàleg Edita registres o al SERDESIF_ GUI) a SERDESIF_ registres. Si el bloc SERDESIF està configurat com a PCIe, això file també té algunes sentències #define que controlen l'execució de les 2 fases de configuració del registre en perfecte ordre.
  • user.bfm – Conté les ordres de l'usuari. Aquestes ordres s'executen un cop s'hagi completat peripheral_init.bfm. Edita això file per introduir les vostres ordres BFM.
  • SERDESIF_ _usuari.bfm – Conté les ordres de l'usuari. Edita això file per introduir les vostres ordres BFM. Utilitzeu-ho si heu configurat SERDESIF_ bloc en mode de simulació BFM PCIe i com a mestre AXI/AHBLite. Si has configurat SERDESIF_ bloquejar en mode de simulació RTL, no ho necessitareu file.

Quan invoqueu la simulació cada vegada, les dues simulacions següents files es tornen a crear al Directori /simulation amb continguts actualitzats:

  • subsistema.bfm – Conté les sentències #define per a cada perifèric utilitzat en el vostre disseny, que especifiquen la secció particular del perifèric_init.bfm que s'ha d'executar corresponent a cada perifèric.
  • operipheral_init.bfm – Conté el procediment BFM que emula la funció CMSIS:: SystemInit() executada al Cortex-M3 abans d'entrar al procediment main(). Copia les dades de configuració de qualsevol perifèric utilitzat en el disseny als registres de configuració de perifèrics correctes i després espera que tots els perifèrics estiguin preparats abans d'assegurar que podeu utilitzar aquests perifèrics. Executa MDDR_init.bfm i FDDR_init.bfm.

Utilitzant aquests generats files, els controladors DDR del vostre disseny es configuren automàticament, simulant el que passaria en un dispositiu SmartFusion2. Podeu editar el fitxer user.bfm file per afegir les ordres necessàries per simular el vostre disseny (Cortex-M3 és el mestre). Aquestes ordres s'executen després d'haver inicialitzat els perifèrics. No editeu test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files i la SERDESIF_ _init.bfm files.

Suport al producte

Microsemi SoC Products Group recolza els seus productes amb diversos serveis de suport, com ara el servei d'atenció al client, el centre de suport tècnic al client, un weblloc web, correu electrònic i oficines de vendes a tot el món.
Aquest apèndix conté informació sobre com contactar amb Microsemi SoC Products Group i utilitzar aquests serveis d'assistència.
Atenció al client
Poseu-vos en contacte amb el servei d'atenció al client per obtenir assistència no tècnica del producte, com ara preus del producte, actualitzacions del producte, informació d'actualització, estat de la comanda i autorització.
Des d'Amèrica del Nord, truca 800.262.1060
Des de la resta del món, truca 650.318.4460
Fax, des de qualsevol part del món, 408.643.6913
Centre d'assistència tècnica al client
Microsemi SoC Products Group disposa del centre d'assistència tècnica al client amb enginyers altament qualificats que us poden ajudar a respondre les vostres preguntes de maquinari, programari i disseny sobre els productes Microsemi SoC. El Centre d'assistència tècnica al client dedica molt de temps a crear notes d'aplicacions, respostes a preguntes habituals del cicle de disseny, documentació de problemes coneguts i diverses preguntes freqüents. Per tant, abans de contactar amb nosaltres, visiteu els nostres recursos en línia. És molt probable que ja hàgim respost les vostres preguntes.
Suport tècnic
Visiteu l'Atenció al client weblloc (www.microsemi.com/soc/support/search/default.aspx) per obtenir més informació i suport. Moltes respostes disponibles a la cerca web inclou diagrames, il·lustracions i enllaços a altres recursos del weblloc.
Weblloc
Podeu navegar per una varietat d'informació tècnica i no tècnica a la pàgina d'inici del SoC, a www.microsemi.com/soc.
Contactar amb el centre d'assistència tècnica al client
Enginyers altament qualificats doten el Centre de Suport Tècnic. Es pot contactar amb el Centre d'Assistència Tècnica per correu electrònic o mitjançant el Grup de Productes Microsemi SoC weblloc.
Correu electrònic
Podeu comunicar les vostres preguntes tècniques a la nostra adreça de correu electrònic i rebre les respostes per correu electrònic, fax o telèfon. A més, si teniu problemes de disseny, podeu enviar el vostre disseny per correu electrònic files per rebre ajuda.
Supervisem constantment el compte de correu electrònic durant tot el dia. Quan ens envieu la vostra sol·licitud, assegureu-vos d'incloure el vostre nom complet, el nom de l'empresa i la vostra informació de contacte per a un processament eficient de la vostra sol·licitud.
L'adreça de correu electrònic del suport tècnic és soc_tech@microsemi.com.
Els meus casos
Els clients de Microsemi SoC Products Group poden enviar i fer un seguiment de casos tècnics en línia anant a Els meus casos.
Fora dels EUA
Els clients que necessiten ajuda fora de les zones horàries dels EUA poden contactar amb l'assistència tècnica per correu electrònic (soc_tech@microsemi.com) o poseu-vos en contacte amb una oficina de vendes local. Els llistats d'oficines de vendes es poden trobar a www.microsemi.com/soc/company/contact/default.aspx.
Suport tècnic ITAR
Per obtenir suport tècnic sobre FPGA RH i RT que estan regulats per la Normativa Internacional de Trànsit d'Armes (ITAR), poseu-vos en contacte amb nosaltres mitjançant soc_tech_itar@microsemi.com. Alternativament, a Els meus casos, seleccioneu Sí a la llista desplegable ITAR. Per obtenir una llista completa de Microsemi FPGA regulats per ITAR, visiteu l'ITAR web pàgina.
Microsemi Corporation (NASDAQ: MSCC) ofereix una cartera completa de solucions de semiconductors per a: aeroespacial, defensa i seguretat; empresa i comunicacions; i mercats industrials i d'energies alternatives. Els productes inclouen dispositius analògics i RF d'alt rendiment i alta fiabilitat, circuits integrats de senyal mixt i RF, SoC personalitzables, FPGA i subsistemes complets. Microsemi té la seu a Aliso Viejo, Califòrnia. Més informació a www.microsemi.com.
© 2014 Microsemi Corporation. Tots els drets reservats. Microsemi i el logotip de Microsemi són marques comercials de Microsemi Corporation. Totes les altres marques comercials i marques de servei són propietat dels seus respectius propietaris.

5-02-00384-1/08.14Logotip de MicrosemiSeu Corporativa Microsemi
One Enterprise, Aliso Viejo CA 92656 EUA
Dins dels EUA: +1 949-380-6100
Vendes: +1 949-380-6136
Fax: +1 949-215-4996

Documents/Recursos

Controlador Microsemi SmartFusion2 DDR i controlador sèrie d'alta velocitat [pdfGuia de l'usuari
Controlador SmartFusion2 DDR i controlador sèrie d'alta velocitat, SmartFusion2 DDR, controlador i controlador sèrie d'alta velocitat, controlador d'alta velocitat

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *