Guia d'usuari de FPGA de la família PolarFire Custom Flow
Libero SoC v2024.2
Introducció (Fes una pregunta)
El programari Libero System-on-Chip (SoC) proporciona un entorn de disseny de matrius de portes programables de camp (FPGA) completament integrat. Tanmateix, alguns usuaris poden voler utilitzar eines de síntesi i simulació de tercers fora de l'entorn Libero SoC. Libero ara es pot integrar a l'entorn de disseny de FPGA. Es recomana utilitzar Libero SoC per gestionar tot el flux de disseny de FPGA.
Aquesta guia d'usuari descriu el flux personalitzat per a dispositius PolarFire i PolarFire SoC Family, un procés per integrar Libero com a part del flux de disseny de FPGA més ampli. Famílies de dispositius compatibles® La taula següent enumera les famílies de dispositius que Libero SoC admet. Tanmateix, és possible que part de la informació d'aquesta guia només s'apliqui a una família específica de dispositius. En aquest cas, aquesta informació s'identifica clarament.
Taula 1. Famílies de dispositius compatibles amb Libero SoC
Família de dispositius | Descripció |
PolarFire® | Les FPGA PolarFire ofereixen el consum d'energia més baix de la indústria a densitats de rang mitjà amb una seguretat i fiabilitat excepcionals. |
SoC PolarFire | El SoC PolarFire és el primer SoC FPGA amb un clúster de CPU RISC-V determinista i coherent, i un subsistema de memòria L2 determinista que permet aplicacions Linux® i en temps real. |
Acabatview (Fes una pregunta)
Tot i que Libero SoC ofereix un entorn de disseny d'extrem a extrem totalment integrat per desenvolupar dissenys de SoC i FPGA, també ofereix la flexibilitat per executar síntesi i simulació amb eines de tercers fora de l'entorn Libero SoC. Tanmateix, alguns passos de disseny han de romandre dins de l'entorn de Libero SoC.
La taula següent enumera els passos principals del flux de disseny FPGA i indica els passos per als quals s'ha d'utilitzar Libero SoC.
Taula 1-1. Flux de disseny FPGA
Pas del flux de disseny | Cal utilitzar Libero | Descripció |
Entrada de disseny: HDL | No | Si ho desitgeu, utilitzeu l'eina de verificació/editor HDL de tercers fora de Libero® SoC. |
Entrada de disseny: Configuradors | Sí | Creeu el primer projecte Libero per a la generació de components bàsics del catàleg IP. |
Generació automàtica de restriccions PDC/SDC | No | Les restriccions derivades necessiten tots els HDL files i una utilitat derive_constraints quan es realitza fora de Libero SoC, tal com es descriu a l'Apèndix C: Restriccions de derivació. |
Simulació | No | Utilitzeu una eina de tercers fora de Libero SoC, si voleu. Requereix la descàrrega de biblioteques de simulació precompilades per al dispositiu de destinació, el simulador de destinació i la versió de Libero de destinació utilitzada per a la implementació del backend. |
Síntesi | No | Utilitzeu una eina de tercers fora de Libero SoC si ho voleu. |
Implementació del disseny: Gestió de restriccions, Compilació de la llista de xarxes, Col·locació i encaminament (vegeu el dors)view) | Sí | Creeu el segon projecte de Libero per a la implementació del backend. |
Verificació de temps i potència | Sí | Queda't al segon projecte Líber. |
Configurar les dades i memòries d'inicialització del disseny | Sí | Utilitzeu aquesta eina per gestionar diferents tipus de memòries i la inicialització del disseny al dispositiu. Queda't en el segon projecte. |
Programació File Generació | Sí | Queda't en el segon projecte. |
Important: Tu cal descarregar les biblioteques precompilades disponibles a Biblioteques de simulació precompilades pàgina per utilitzar un simulador de tercers.
En un flux Fabric FPGA pur, introduïu el vostre disseny mitjançant HDL o entrada esquemàtica i passeu-ho directament.
a les eines de síntesi. El flux encara és compatible. Els FPGA PolarFire i PolarFire SoC tenen importants
blocs IP durs propietaris que requereixen l'ús de nuclis de configuració (SgCores) del SoC IP de Libero
catàleg. Cal un maneig especial per a qualsevol bloc que inclogui la funcionalitat SoC:
- PolarFire
– PF_UPROM
– PF_SYSTEM_SERVICES
– PF_CCC
– PF CLK DIV
– PF_CRYPTO
– PF_DRI
– PF_INIT_MONITOR
– PF_NGMUX
– PF_OSC
– Memòries RAM (TPSRAM, DPSRAM, URAM)
– PF_SRAM_AHBL_AXI
– PF_XCVR_ERM
– PF_XCVR_REF_CLK
– PF_TX_PLL
– PF_PCIE
– PF_IO
– PF_IOD_CDR
– PF_IOD_CDR_CCC
– PF_IOD_GENERIC_RX
– PF_IOD_GENERIC_TX
– PF_IOD_GENERIC_TX_CCC
– PF_RGMII_TO_GMII
– PF_IOD_OCTAL_DDR
– PF_DDR3
– PF_DDR4
– PF_LPDDR3
– PF_QDR
– PF_CORESMARTBERT
– PF_TAMPER
– PF_TVS, etc.
A més dels SgCores enumerats anteriorment, hi ha moltes IP suaus DirectCore disponibles per a famílies de dispositius PolarFire i PolarFire SoC al catàleg Libero SoC que utilitzen els recursos de la fabric FPGA.
Per a l'entrada de disseny, si feu servir qualsevol dels components anteriors, heu d'utilitzar Libero SoC per a una part de l'entrada de disseny (Configuració de components), però podeu continuar la resta de la vostra entrada de disseny (entrada HDL, etc.) fora de Libero. Per gestionar el flux de disseny de FPGA fora de Libero, seguiu els passos que es proporcionen a la resta d'aquesta guia.
1.1 Cicle de vida dels components (Fes una pregunta)
Els passos següents descriuen el cicle de vida d'un component SoC i proporcionen instruccions sobre com gestionar les dades.
- Genera el component utilitzant el seu configurador a Libero SoC. Això genera els següents tipus de dades:
– HDL files
– Memòria files
– Estímul i simulació files
– Component SDC file - Per a HDL files, instanciïu-los i integreu-los a la resta del disseny HDL mitjançant l'eina/procés d'entrada de disseny extern.
- Memòria de subministrament files i estímul files a la vostra eina de simulació.
- Component de subministrament SDC file a l'eina Derivar restriccions per a la generació de restriccions. Vegeu l'Apèndix C: Derivar restriccions per obtenir més informació.
- Heu de crear un segon projecte Libero, on importeu la llista de xarxes posterior a la síntesi i les metadades dels vostres components, completant així la connexió entre el que heu generat i el que programeu.
1.2 Creació del projecte Libero SoC (Fes una pregunta)
Alguns passos de disseny s'han d'executar dins de l'entorn Libero SoC (taula 1-1). Perquè aquests passos s'executin, heu de crear dos projectes Libero SoC. El primer projecte s'utilitza per a la configuració i generació de components de disseny, i el segon projecte és per a la implementació física del disseny de primer nivell.
1.3 Flux personalitzat (Fes una pregunta)
La figura següent mostra:
- Libero SoC es pot integrar com a part del flux de disseny de FPGA més ampli amb eines de síntesi i simulació de tercers fora de l'entorn Libero SoC.
- Diversos passos implicats en el flux, des de la creació del disseny i la costura fins a la programació del dispositiu.
- L'intercanvi de dades (entrades i sortides) que ha de tenir lloc a cada pas del flux de disseny.
Consell:
- SNVM.cfg, UPROM.cfg
- *.mem file generació per a la simulació: pa4rtupromgen.exe pren UPROM.cfg com a entrada i genera UPROM.mem.
Els passos del flux personalitzat són els següents:
- Configuració i generació de components:
a. Creeu un primer projecte Libero (per servir com a projecte de referència).
b. Seleccioneu el nucli del catàleg. Feu doble clic al nucli per donar-li un nom de component i configurar-lo.
Això exporta automàticament les dades dels components i files. També es genera un Manifest de components. Vegeu Manifests de components per obtenir més informació. Per obtenir més detalls, vegeu Configuració de components. - Completa el teu disseny RTL fora de Libero:
a. Instanciar el component HDL files.
b. La ubicació del HDL files apareix als manifestos de components files. - Genera restriccions SDC per als components. Utilitza la utilitat Derive Constraints per generar la restricció de temps. file(SDC) basat en:
a. Component HDL files
b. Component SDC files
c. Usuari HDL files
Per a més detalls, vegeu l'Apèndix C: Restriccions de derivació. - Eina de síntesi/eina de simulació:
a. Obtenir HDL files, estímul files, i dades de components de les ubicacions específiques tal com s'indica als Manifests de components.
b. Sintetitzeu i simuleu el disseny amb eines de tercers fora de Libero SoC. - Crea el teu segon projecte Libero (d'implementació).
- Elimineu la síntesi de la cadena d'eines del flux de disseny (Projecte > Configuració del projecte > Flux de disseny > desactiveu la casella de selecció Habilita la síntesi).
- Importa la font del disseny files (llista de connexions *.vm postsíntesi de l'eina de síntesi):
– Importa la llista de xarxes *.vm de postsíntesi (File>Importar> Llista de xarxa de Verilog sintetitzada (VM)).
– Metadades del component *.cfg files per a uPROM i/o sNVM. - Importa qualsevol component de bloc Libero SoC files. El bloc files ha d'estar al fitxer *.cxz file format.
Per obtenir més informació sobre com crear un bloc, vegeu Guia de l'usuari de PolarFire Block Flow. - Importa les restriccions de disseny:
– Restriccions d'E/S d'importació files (Gestor de restriccions > Atributs I/O > Importa).
– Importa la planificació de planta *.pdc files (Gestor de restriccions > Planificador de planta > Importa).
– Importa la restricció de temps *.sdc files (Gestor de restriccions > Temporització > Importa). Importa el SDC file generat a través de l'eina Derive Constraint.
– Importar restricció *.ndc files (Gestor de restriccions > NetlistAttributes > Importa), si n'hi ha. - Restricció file i associació d'eines
– Al Gestor de restriccions, associeu el fitxer *.pdc files per col·locar i encaminar, el *.sdc files per col·locar, encaminar i verificar el temps, i el *.ndc files per compilar Netlist. - Implementació completa del disseny
– Col·locació i enrutament, verificació del temps i l'alimentació, configuració de les dades i memòries d'inicialització del disseny i programació file generació. - Validar el disseny
– Validar el disseny en una FPGA i depurar-lo segons calgui utilitzant les eines de disseny proporcionades amb el paquet de disseny Libero SoC.
Configuració de components (Fes una pregunta)
El primer pas del flux personalitzat és configurar els components mitjançant un projecte de referència Libero (també anomenat primer projecte Libero a la Taula 1-1). En els passos següents, utilitzareu dades d'aquest projecte de referència.
Si utilitzeu algun dels components enumerats anteriorment, a l'opció Overview al vostre disseny, realitzeu els passos descrits en aquesta secció.
Si no feu servir cap dels components anteriors, podeu escriure el vostre RTL fora de Libero i importar-lo directament a les vostres eines de síntesi i simulació. A continuació, podeu passar a la secció posterior a la síntesi i importar només la vostra llista de xarxa *.vm postsíntesi al vostre projecte d'implementació final de Libero (també anomenat segon projecte Libero a la taula 1-1).
2.1 Configuració de components amb Libero (Fes una pregunta)
Després de seleccionar els components que s'han d'utilitzar de la llista anterior, realitzeu els passos següents:
- Crea un nou projecte Libero (Configuració i generació principal): selecciona el dispositiu i la família als quals vols dirigir el disseny final.
- Utilitzeu un o més dels nuclis esmentats a Custom Flow.
a. Creeu un SmartDesign i configureu el nucli desitjat i instància-lo al component SmartDesign.
b. Promocioneu tots els pins al nivell superior.
c. Genera l'SmartDesign.
d. Feu doble clic a l'eina Simula (qualsevol de les opcions de presíntesi o postsíntesi o post-disposició) per invocar el simulador. Podeu sortir del simulador després d'haver-lo invocat. Aquest pas genera la simulació fileés necessari per al vostre projecte.
Consell: Tu Heu de realitzar aquest pas si voleu simular el vostre disseny fora de Libero.
Per obtenir més informació, vegeu Simulació del vostre disseny.
e. Deseu el projecte: aquest és el vostre projecte de referència.
2.2 Manifests de components (Fes una pregunta)
Quan genereu els vostres components, un conjunt de files es genera per a cada component. L'informe del manifest de components detalla el conjunt de files es generen i s'utilitzen en cada pas posterior (síntesi, simulació, generació de firmware, etc.). Aquest informe us ofereix les ubicacions de tots els generats fileés necessari per continuar amb el flux personalitzat. Podeu accedir al manifest del component a l'àrea Informes: Feu clic a Disseny > Informes per obrir la pestanya Informes. A la pestanya Informes, veureu un conjunt de manifest.txt files (Acabatview), un per a cada component que heu generat.
Consell: Heu de definir un component o mòdul com a "arrel" per veure el manifest del component. file contingut a la pestanya Informes.
Alternativament, podeu accedir a l'informe de manifest individual files per a cada component bàsic generat o component SmartDesign des de /component/treball/ / / _manifest.txt o /component/treball/ / _manifest.txt. També podeu accedir al manifest file continguts de cada component generat a partir de la nova pestanya Components a Libero, on el file s'esmenten les ubicacions respecte al directori del projecte.Centra't en els informes següents del manifest de components:
- Si heu instanciat nuclis en un SmartDesign, llegiu el file _manifest.txt.
- Si heu creat components per a nuclis, llegiu el _manifest.txt.
Heu d'utilitzar tots els informes de manifest de components que s'apliquen al vostre disseny. Per exampsi el vostre projecte té un SmartDesign amb un o més components bàsics instància i teniu intenció d'utilitzar-los tots en el vostre disseny final, heu de seleccionar files'enumeren als informes de manifest de components de tots aquells components per utilitzar-los en el vostre flux de disseny.
2.3 Interpretació del manifest Files (Fes una pregunta)
Quan obriu un manifest de component file, veus camins files al vostre projecte Libero i indicacions sobre on del flux de disseny per utilitzar-les. És possible que vegeu els següents tipus de files en un manifest file:
- Font HDL files per a totes les eines de síntesi i simulació
- Estímul files per a totes les eines de simulació
- Restricció files
A continuació es mostra el manifest de components d'un component bàsic de PolarFire.Cada tipus de file és necessari aigües avall en el vostre flux de disseny. Les seccions següents descriuen la integració de la files del manifest al vostre flux de disseny.
Generació de restriccions (Fes una pregunta)
Quan realitzeu la configuració i la generació, assegureu-vos d'escriure/generar la restricció SDC/PDC/NDC files perquè el disseny els passi a les eines de síntesi, col·locació i ruta i verificació del temps.
Utilitzeu la utilitat Deriva restriccions fora de l'entorn de Libero per generar restriccions en lloc d'escriure-les manualment. Per utilitzar la utilitat Derive Constraint fora de l'entorn de Libero, heu de:
- Subministrament de restriccions HDL de l'usuari, HDL del component i SDC del component files
- Especifiqueu el mòdul de nivell superior
- Especifiqueu la ubicació on generar la restricció derivada files
Les restriccions dels components SDC estan disponibles a /component/treball/ / / directori després de la configuració i generació dels components.
Per obtenir més informació sobre com generar restriccions per al vostre disseny, consulteu l'Apèndix C: Restriccions de derivació.
Sintetitzant el vostre disseny (Fes una pregunta)
Una de les principals característiques del Custom Flow és que permet utilitzar una síntesi de tercers
eina fora de Libero. El flux personalitzat admet l'ús de Synopsys SynplifyPro. Per sintetitzar el vostre
projecte, utilitzeu el procediment següent:
- Crea un projecte nou a l'eina Synthesis, dirigit a la mateixa família de dispositius, dau i paquet que el projecte Libero que has creat.
a. Importa el teu propi RTL files com fas habitualment.
b. Estableix la sortida de Síntesi com a Verilog estructural (.vm).
Consell: Estructural Verilog (.vm) és l'únic format de sortida de síntesi compatible amb PolarFire. - Importa el component HDL files al vostre projecte de síntesi:
a. Per a cada informe de manifestos de components: per a cada file sota font HDL files per a totes les eines de síntesi i simulació, importeu el file al vostre projecte de síntesi. - Importa el file polarfire_syn_comps.v (si feu servir Synopsys Synplify) de
Ubicació d'instal·lació>/data/aPA5M al vostre projecte de síntesi. - Importa el SDC generat prèviament file mitjançant l'eina Restriccions derivades (vegeu l'apèndix)
A—Sample SDC Constraints) a l'eina de síntesi. Aquesta limitació file limita l'eina de síntesi per aconseguir el tancament del temps amb menys esforç i menys iteracions de disseny.
Important:
- Si teniu previst utilitzar el mateix *.sdc file Per restringir Place-and-Route durant la fase d'implementació del disseny, heu d'importar aquest fitxer *.sdc al projecte de síntesi. Això és per garantir que no hi hagi cap discrepància de noms d'objectes de disseny a la llista de xarxes sintetitzada i a les restriccions Place-and-Route durant la fase d'implementació del procés de disseny. Si no incloeu aquest fitxer *.sdc file En el pas de síntesi, la llista de xarxes generada a partir de la síntesi pot fallar en el pas de col·locació i ruta a causa de discrepàncies en el nom de l'objecte de disseny.
a. Importeu els atributs de la llista de connexions *.ndc, si n'hi ha, a l'eina de síntesi.
b. Executar Síntesi. - La ubicació de la sortida de l'eina de síntesi té la llista de xarxes *.vm file generada després de la síntesi. Heu d'importar la llista de xarxa al projecte d'implementació de Libero per continuar amb el procés de disseny.
Simulació del vostre disseny (Fes una pregunta)
Per simular el vostre disseny fora de Libero (és a dir, utilitzant el vostre propi entorn de simulació i simulador), feu els passos següents:
- Disseny Files:
a. Simulació prèvia a la síntesi:
• Importa el teu RTL al teu projecte de simulació.
• Per a cada informe de manifestos de components.
– Importa cada file sota font HDL files per a totes les eines de síntesi i simulació al vostre projecte de simulació.
• Compileu aquests files segons les instruccions del vostre simulador.
b. Simulació postsíntesi:
• Importeu la vostra llista de xarxes *.vm de postsíntesi (generada a Sintetitzant el vostre disseny) al vostre projecte de simulació i compileu-la.
c. Simulació posterior al disseny:
• Primer, completeu la implementació del vostre disseny (vegeu Implementació del vostre disseny). Assegureu-vos que el vostre projecte Libero final estigui en estat post-disseny.
• Feu doble clic a Genera BackAnnoted Files a la finestra Libero Design Flow. En genera dos files:
/dissenyador/ / _ba.v/vhd /dissenyador/
/ _ba.sdf
• Importa tots dos files a la vostra eina de simulació. - Estímul i configuració files:
a. Per a cada informe de manifest de components:
• Copiar-ho tot files sota l'estímul Files per a totes les seccions d'Eines de simulació al directori arrel del vostre projecte de simulació.
b. Assegureu-vos que qualsevol Tcl files de les llistes anteriors (al pas 2.a) s'executen primer, abans de l'inici de la simulació.
c. UPROM.mem: Si utilitzeu el nucli UPROM al vostre disseny amb l'opció Utilitza el contingut per a la simulació habilitada per a un o més clients d'emmagatzematge de dades que voleu simular, heu d'utilitzar l'executable pa4rtupromgen (pa4rtupromgen.exe a Windows) per generar el UPROM.mem. file. L'executable pa4rtupromgen pren el fitxer UPROM.cfg file com a entrades mitjançant un script Tcl file i dóna sortida al fitxer UPROM.mem file necessaris per a les simulacions. Aquest UPROM.mem file s'ha de copiar a la carpeta de simulació abans de l'execució de la simulació. Un exampEl fitxer que mostra l'ús de l'executable pa4rtupromgen es proporciona als passos següents. El fitxer UPROM.cfg file està disponible al directori /component/treball/ / al projecte Libero que heu utilitzat per generar el component UPROM.
d. snvm.mem: si utilitzeu el nucli de Serveis del sistema al vostre disseny i heu configurat la pestanya sNVM al nucli amb l'opció Utilitza el contingut per a la simulació activada per a un o més clients que voleu simular, un snvm.mem file es genera automàticament per a
el directori /component/treball/ / al projecte Libero que vau utilitzar per generar el component System Services. Aquest snvm.mem file s'ha de copiar a la carpeta de simulació abans de l'execució de la simulació. - Crea una carpeta de treball i una subcarpeta anomenada simulació a la carpeta de treball.
L'executable pa4rtupromgen espera la presència de la subcarpeta de simulació a la carpeta de treball i l'script *.tcl es col·loca a la subcarpeta de simulació. - Copieu el fitxer UPROM.cfg file des del primer projecte Libero creat per a la generació de components a la carpeta de treball.
- Enganxeu les ordres següents en un script *.tcl i col·loqueu-lo a la carpeta de simulació creada al pas 3.
Sample *.tcl per als dispositius PolarFire i PolarFire Soc Family per generar URPOM.mem file
de UPROM.cfg
set_device -fam -morir -paquet
set_input_cfg -path
camí_de_set_sim_memFile/UPROM.mem>
gen_sim -use_init fals
Per obtenir el nom intern adequat per a la matriu i el paquet, vegeu el *.prjx file del primer projecte Libero (utilitzat per a la generació de components).
L'argument use_init s'ha de definir com a fals.
Utilitzeu l'ordre set_sim_mem per especificar el camí a la sortida file UPROM.mem que és
generat en executar l'script file amb l'executable pa4rtupromgen. - A la línia d'ordres o al terminal Cygwin, aneu al directori de treball creat al pas 3.
Executeu l'ordre pa4rtupromgen amb l'opció –script i passeu-li l'script *.tcl creat al pas anterior.
Per a Windows
/designer/bin/pa4rtupromgen.exe \
–script./simulació/ .tcl
Per a Linux:
/bin/pa4rtupromgen
–script./simulació/ .tcl - Després de l'execució correcta de l'executable pa4rtupromgen, comproveu que l'UPROM.mem file es genera a la ubicació especificada a l'ordre set_sim_mem a l'script *.tcl.
- Per simular la sNVM, copieu el fitxer snvm.mem file des del vostre primer projecte Libero (utilitzat per a la configuració de components) a la carpeta de simulació de nivell superior del vostre projecte de simulació per executar la simulació (fora de Libero SoC). Per simular el contingut de la UPROM, copieu el UPROM.mem generat file a la carpeta de simulació de nivell superior del vostre projecte de simulació per executar la simulació (fora de Libero SoC).
Important: a simuleu la funcionalitat dels components SoC, descarregueu les biblioteques de simulació PolarFire precompilades i importeu-les al vostre entorn de simulació tal com es descriu aquí. Per a més detalls, consulteu l'Apèndix B: Importació de biblioteques de simulació a l'entorn de simulació.
Implementació del vostre disseny (Fes una pregunta)
Després de completar la simulació de síntesi i postsíntesi al vostre entorn, heu d'utilitzar Libero de nou per implementar físicament el vostre disseny, executar l'anàlisi de temps i potència i generar la vostra programació. file.
- Crea un nou projecte Libero per a la implementació física i el disseny. Assegura't de tenir com a objectiu el mateix dispositiu que al projecte de referència que has creat a la configuració de components.
- Després de la creació del projecte, elimineu Síntesi de la cadena d'eines a la finestra Flux de disseny (Projecte > Configuració del projecte > Flux de disseny > Desmarqueu Habilita la síntesi).
- Importa el teu fitxer *.vm de postsíntesi file en aquest projecte, (File > Importa > Llista de xarxa de Verilog sintetitzada (VM)).
Consell: Es recomana que creeu un enllaç a això file, de manera que si torneu a sintetitzar el vostre disseny, Libero sempre utilitza la llista de xarxes posterior a la síntesi més recent.
a. A la finestra Jerarquia de disseny, anoteu el nom del mòdul arrel. - Importeu les restriccions al projecte Libero. Utilitzeu el Gestor de restriccions per importar restriccions *.pdc/*.sdc/*.ndc.
a. Importació d'E/S *.pdc restricció files (Gestor de restriccions > Atributs d'E/S > Importa).
b. Importa la restricció *.pdc Floorplanning files (Gestor de restriccions > Planificador de plantes > Importa).
c. Importa la restricció de temps *.sdc files (Gestor de restriccions > Temporització > Importa). Si el vostre disseny té algun dels nuclis enumerats a Overview, assegureu-vos d'importar el SDC file generat mitjançant l'eina de restricció derivada.
d. Importa la restricció *.ndc files (Gestor de restriccions > Atributs de la llista de xarxa > Importa). - Restriccions d'associació Files per dissenyar eines.
a. Obriu el Gestor de restriccions (Gestiona restriccions > Obriu Gestiona restriccions View).
Marqueu la casella de selecció Verificació de lloc i ruta i temps al costat de la restricció file per establir restriccions file i associació d'eines. Associa la restricció *.pdc a Place-andRoute i el *.sdc tant a Place-and-Route com a la verificació del temps. Associa el fitxer *.ndc file per compilar Netlist.
Consell: Si Place and Route falla amb aquesta restricció *.sdc filei, a continuació, importeu aquest mateix *.sdc file per a la síntesi i tornar a executar la síntesi.
- Feu clic a Compile Netlist i després a Place and Route per completar el pas de disseny.
- L'eina Configura les dades i memòries d'inicialització del disseny permet inicialitzar blocs de disseny, com ara LSRAM, µSRAM, XCVR (transceptors) i PCIe utilitzant dades emmagatzemades en memòria d'emmagatzematge flash SPI externa, µPROM no volàtil, sNVM o no. L'eina té les pestanyes següents per definir l'especificació de la seqüència d'inicialització del disseny, l'especificació dels clients d'inicialització i els clients de dades d'usuari.
– Pestanya Inicialització del disseny
– Pestanya µPROM
– pestanya sNVM
– Pestanya SPI Flash
– Pestanya RAM de fabric
Utilitzeu les pestanyes de l'eina per configurar les dades i les memòries d'inicialització del disseny.Després de completar la configuració, seguiu els passos següents per programar les dades d'inicialització:
• Generar clients d'inicialització
• Generar o exportar el flux de bits
• Programa el dispositiu
Per obtenir informació detallada sobre com utilitzar aquesta eina, consulteu la Guia d'usuari de Libero SoC Design Flow. Per obtenir més informació sobre les ordres Tcl utilitzades per configurar diverses pestanyes a l'eina i especificar la configuració de la memòria files (*.cfg), vegeu Guia de referència de les ordres de Tcl. - Generar una programació File d'aquest projecte i utilitzeu-lo per programar el vostre FPGA.
Apèndix A—Samples restriccions de SDC (Fes una pregunta
Libero SoC genera restriccions de temps SDC per a determinats nuclis IP, com ara CCC, OSC, Transceiver, etc. Passar les restriccions de SDC a les eines de disseny augmenta la possibilitat de complir el tancament del temps amb menys esforç i menys iteracions de disseny. El camí jeràrquic complet de la instància de nivell superior es dóna per a tots els objectes de disseny als quals es fa referència a les restriccions.
7.1 Restriccions de temps de SDC (Fes una pregunta)
Al projecte de referència bàsic de Libero IP, aquesta restricció SDC de primer nivell file està disponible al Gestor de restriccions (Flux de disseny > Obre Gestiona la restricció View >Timing > Deriva les restriccions).
Important: Vegeu això file per establir les restriccions SDC si el vostre disseny conté CCC, OSC, Transceiver i altres components. Modifiqueu la ruta jeràrquica completa, si cal, perquè coincideixi amb la jerarquia de disseny o utilitzeu la utilitat Derive_Constraints i els passos de l'Apèndix C: Restriccions de derivació al SDC de nivell de component. file.
Guarda el file a un nom diferent i importar el SDC file a l'eina de síntesi, l'eina de lloc i ruta i les verificacions de temps, com qualsevol altra restricció SDC files.
7.1.1 SDC derivat File (Fes una pregunta)
#Això file es va generar a partir de la següent font SDC files:
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
PF_CCC_C0/PF_CCC_C0_0/PF_CCC_C0_PF_CCC_C0_0_PF_CCC.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
CLK_DIV/CLK_DIV_0/CLK_DIV_CLK_DIV_0_PF_CLK_DIV.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
TRANSMIT_PLL/TRANSMIT_PLL_0/TRANSMIT_PLL_TRANSMIT_PLL_0_PF_TX_PLL.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
DMA_INICIATOR/DMA_INICIATOR_0/DMA_INICIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
FIC0_INICIATOR/FIC0_INICIATOR_0/FIC0_INICIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
ICICLE_MSS/ICICLE_MSS.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
PF_PCIE_C0/PF_PCIE_C0_0/PF_PCIE_C0_PF_PCIE_C0_0_PF_PCIE.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
PCIE_INITIATOR/PCIE_INITIATOR_0/PCIE_INITIATOR.sdc
# /drive/aPA5M/cores/constraints/osc_rc160mhz.sdc
# *** Qualsevol modificació a això file es perdrà si es tornen a executar les restriccions derivades. ***
create_clock -name {CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK} -període 6.25
[ get_pins { CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK } ] create_clock -name {REF_CLK_PAD_P} -periode 10 [get_ports {REF_CLK_PAD_P } ] create_clock -name {CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/
DIV_CLK} -període 8
[ get_pins { CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/DIV_CLK } ] create_generated_clock -name { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT0} -multiplicar_per 25 -dividir_per 32 -font
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fase 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT0 } ] create_generated_clock -name { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT1} -multiplicar_per 25 -dividir_per 32 -font
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fase 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT1 } ] create_generated_clock -name { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT2} -multiplicar_per 25 -dividir_per 32 -font
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fase 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT2 } ] create_generated_clock -name { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT3} -multiplicar_per 25 -dividir_per 64 -font
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fase 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT3 } ] create_generated_clock -name { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/
Y_DIV} -divideix_per 2 -font
[ get_pins { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/A } ] [ get_pins { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/Y_DIV } ] set_false_path -through [ get_nets { DMA_INITIATOR_inst_0/ARESETN* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/rdGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
rdPtr_s1* } ] set_false_path -from [get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/wrGrayCounter*/cntGray* } ] -to [ obtenir_cel·les { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
wrPtr_s1* } ] set_false_path -through [get_nets { FIC0_INITIATOR_inst_0/ARESETN* } ] set_false_path -to [get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[0] PCIE/PF_PCIE_C0_0/
PCIE_1/INTERRUPT[1] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[2] PCIE/PF_PCIE_C0_0/PCIE_1/
INTERRUPT[3] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[4] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[5]
PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[6] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[7] PCIE/PF_PCIE_C0_0/
PCIE_1/WAKEREQ PCIE/PF_PCIE_C0_0/PCIE_1/MPERST_N } ] set_false_path -from [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/TL_CLK } ] set_false_path -through [ get_nets { PCIE_INITIATOR_inst_0/ARESETN* } ]
Apèndix B: Importació de biblioteques de simulació a l'entorn de simulació (Fes una pregunta)
El simulador per defecte per a la simulació RTL amb Libero SoC és ModelSim ME Pro.
Les biblioteques precompilades per al simulador per defecte estan disponibles amb la instal·lació de Libero al directori /Designer/lib/modelsimpro/precompiled/vlog per a les famílies compatibles. Libero SoC també admet altres edicions de simuladors de tercers de ModelSim, Questasim, VCS, Xcelium.
, Active HDL i Riviera Pro. Baixeu les biblioteques precompilades respectives de Libero SoC v12.0 i posterior basat en el simulador i la seva versió.
Similar a l'entorn Libero, run.do file s'ha de crear per executar la simulació fora de Libero.
Creeu un run.do senzill file que té ordres per establir la biblioteca per als resultats de la compilació, el mapeig de biblioteques, la compilació i la simulació. Seguiu els passos per crear un run.do bàsic file.
- Crea una biblioteca lògica per emmagatzemar els resultats de compilació mitjançant l'ordre vlib vlib presynth.
- Assigna el nom de la biblioteca lògica al directori de la biblioteca precompilada mitjançant l'ordre vmap vmap .
- Compila el codi font files: utilitza ordres de compilació específiques del llenguatge per compilar el disseny files al directori de treball.
– vlog per a .v/.sv
– vcom per a .vhd - Carregueu el disseny per a la simulació mitjançant l'ordre vsim especificant el nom de qualsevol mòdul de nivell superior.
- Simuleu el disseny amb l'ordre run.
Després de carregar el disseny, el temps de simulació es posa a zero i podeu introduir l'ordre d'execució per començar la simulació.
A la finestra de transcripció del simulador, executeu run.do file com run.do executar la simulació. Sample run.do file com segueix.
estableix silenciosament ACTELLIBNAME PolarFire estableix silenciosament PROJECT_DIR “W:/Test/basic_test” si
{[file existeix presynth/_info]} { echo “INFO: La biblioteca de simulació presynth existeix” } else
{ file suprimeix -force presynth vlib presynth } vmap presynth presynth vmap PolarFire
“X:/Libero/Designer/lib/modelsimpro/precompilat/vlog/PolarFire” vlog -sv -work presynth
“${PROJECT_DIR}/hdl/top.v” vlog “+incdir+${PROJECT_DIR}/stimulus” -sv -work presynth “$
{PROJECT_DIR}/stimulus/tb.v” vsim -L PolarFire -L presynth -t 1ps presynth.tb afegeix ona /tb/*
executa 1000ns log /tb/* exit
Apèndix C: Restriccions de derivació (Fes una pregunta)
Aquest apèndix descriu les ordres Derive Constraints Tcl.
9.1 Restriccions de derivació Comandes Tcl (Fes una pregunta)
La utilitat derive_constraints us ajuda a derivar restriccions de l'RTL o del configurador fora de l'entorn de disseny de Libero SoC. Per generar restriccions per al vostre disseny, necessiteu el HDL d'usuari, el HDL de components i les restriccions de components files. Les restriccions del component SDC files estan disponibles a sota /component/treball/ / / directori després de la configuració i generació dels components.
Restricció de cada component file consisteix en l'ordre set_component tcl (especifica el nom del component) i la llista de restriccions generades després de la configuració. Les restriccions es generen en funció de la configuració i són específiques de cada component.
ExampLectura 9-1. Restricció de components File per al nucli PF_CCC
Aquí teniu un exampel d'una restricció de component file per al nucli PF_CCC:
conjunt_component PF_CCC_C0_PF_CCC_C0_0_PF_CCC
# Microchip Corp.
# Data: 2021 d'octubre de 26, 04:36:00
# Rellotge base per al PLL #0
create_clock -period 10 [get_pins { pll_inst_0/REF_CLK_0 } ] create_generated_clock -divide_by 1 -source [get_pins { pll_inst_0/
REF_CLK_0 } ] -phase 0 [ get_pins { pll_inst_0/OUT0 } ] Aquí, create_clock i create_generated_clock són restriccions de rellotge de referència i de sortida respectivament, que es generen en funció de la configuració.
9.1.1 Treballant amb la utilitat derive_constraints (Fes una pregunta)
Derivar les restriccions que travessen el disseny i assignar noves restriccions per a cada instància de component basant-se en el component SDC proporcionat anteriorment files. Per als rellotges de referència CCC, es propaga pel disseny per trobar l'origen del rellotge de referència. Si la font és una E/S, la restricció del rellotge de referència s'establirà a l'E/S. Si és una sortida CCC o una altra font de rellotge (per exempleample, transceptor, oscil·lador), utilitza el rellotge de l'altre component i informa d'un avís si els intervals no coincideixen. Les restriccions derivades també assignaran restriccions per a algunes macros com els oscil·ladors en xip si les teniu al vostre RTL.
Per executar la utilitat derive_constraints, heu de proporcionar un .tcl file argument de la línia d'ordres amb la informació següent en l'ordre especificat.
- Especifiqueu la informació del dispositiu utilitzant la informació de la secció set_device.
- Especifica la ruta a l'RTL files utilitzant la informació de la secció read_verilog o read_vhdl.
- Defineix el mòdul de nivell superior utilitzant la informació de la secció set_top_level.
- Especifiqueu la ruta al component SDC files utilitzant la informació de la secció read_sdc o read_ndc.
- Executar el files utilitzant la informació de la secció derive_constraints.
- Especifiqueu la ruta a les restriccions derivades de SDC file utilitzant la informació de la secció write_sdc o write_pdc o write_ndc.
ExampLectura 9-2. Execució i contingut de derive.tcl File
El següent és un example argument de la línia d'ordres per executar la utilitat derive_constraints.
$ /bin{64}/derive_constraints derive.tcl
El contingut de deriv.tcl file:
# Informació del dispositiu
set_device -family PolarFire -die MPF100T -speed -1
# RTL files
read_verilog -mode system_verilog projecte/component/treball/txpll0/
txpll0_txpll0_0_PF_TX_PLL.v
read_verilog -mode system_verilog {projecte/component/treball/txpll0/txpll0.v}
read_verilog -mode system_verilog {projecte/component/treball/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.v}
read_verilog -mode system_verilog {projecte/component/treball/xcvr0/xcvr0.v}
read_vhdl -mode vhdl_2008 {projecte/hdl/xcvr1.vhd}
#Component SDC files
establir_nivell_superior {xcvr1}
read_sdc -component {projecte/component/treball/txpll0/txpll0_0/
txpll0_txpll0_0_PF_TX_PLL.sdc}
read_sdc -component {projecte/component/treball/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.sdc}
#Utilitza l'ordre derive_constraint
deriva_restriccions
#Resultat SDC/PDC/NDC files
write_sdc {projecte/restrició/xcvr1_derivades_restriccions.sdc}
write_pdc {projecte/restrició/fp/xcvr1_restriccions_derivades.pdc}
9.1.2 establir_dispositiu (Fes una pregunta)
Descripció
Especifiqueu el cognom, el nom del dau i el grau de velocitat.
set_device -família -morir -velocitat
Arguments
Paràmetre | Tipus | Descripció |
-família | Corda | Especifiqueu el nom de la família. Els valors possibles són PolarFire®, PolarFire SoC. |
-morir | Corda | Especifiqueu el nom del dau. |
-velocitat | Corda | Especifiqueu el grau de velocitat del dispositiu. Els valors possibles són STD o -1. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Paràmetre obligatori: falta el dau | L'opció del dau és obligatòria i s'ha d'especificar. |
ERR0005 | Dau desconegut 'MPF30' | El valor de l'opció -die no és correcte. Consulteu la llista de valors possibles a la descripció de l'opció. |
ERR0023 | Paràmetre: falta un valor al dau | L'opció de matriu s'especifica sense valor. |
ERR0023 | Paràmetre obligatori: falta la família | L'opció familiar és obligatòria i s'ha d'especificar. |
ERR0004 | Família desconeguda 'PolarFire®' | L'opció familiar no és correcta. Consulteu la llista de valors possibles a la descripció de l'opció. |
………… continua | ||
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Paràmetre: falta un valor a la família | L'opció familiar s'especifica sense valor. |
ERR0023 | Paràmetre obligatori: falta la velocitat | L'opció de velocitat és obligatòria i s'ha d'especificar. |
ERR0007 | Velocitat desconeguda ' | L'opció de velocitat no és correcta. Consulteu la llista de valors possibles a la descripció de l'opció. |
ERR0023 | Paràmetre: falta un valor de velocitat | L'opció de velocitat s'especifica sense valor. |
Example
set_device -família {PolarFire} -die {MPF300T_ES} -speed -1
set_device -família SmartFusion 2 -die M2S090T -speed -1
9.1.3 llegeix_verilog (Fes una pregunta)
Descripció
Llegeix un Verilog file utilitzant Verific.
read_verilog [-lib ] [-mode ]filenom>
Arguments
Paràmetre | Tipus | Descripció |
-lib | Corda | Especifiqueu la biblioteca que conté els mòduls que s'afegiran a la biblioteca. |
mode | Corda | Especifiqueu l'estàndard de Verilog. Els valors possibles són verilog_95, verilog_2k, system_verilog_2005, system_verilog_2009, system_verilog, verilog_ams, verilog_psl, system_verilog_mfcu. Els valors no distingeixen entre majúscules i minúscules. El valor predeterminat és verilog_2k. |
filenom | Corda | Verilog file nom. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Paràmetre: falta un valor a la biblioteca | L'opció lib s'especifica sense valor. |
ERR0023 | Paràmetre: falta un valor al mode | L'opció de mode s'especifica sense valor. |
ERR0015 | Mode desconegut ' ' | El mode verilog especificat és desconegut. Vegeu la llista de possibles modes verilog a la descripció de l'opció —mode. |
ERR0023 | Paràmetre obligatori file falta el nom | Sense Verilog file es proporciona el camí. |
ERR0016 | S'ha produït un error a causa de l'analitzador de Verific | Error de sintaxi a verilog fileL'analitzador sintàctic de Verific es pot observar a la consola, a sobre del missatge d'error. |
ERR0012 | set_device no s'anomena | La informació del dispositiu no està especificada. Utilitzeu l'ordre set_device per descriure el dispositiu. |
Example
read_verilog -mode system_verilog {component/work/top/top.v}
read_verilog -mode system_verilog_mfcu design.v
9.1.4 lectura_vhdl (Fes una pregunta)
Descripció
Afegiu un VHDL file a la llista de VHDL files.
read_vhdl [-lib ] [-mode ]filenom>
Arguments
Paràmetre | Tipus | Descripció |
-lib | — | Especifiqueu la biblioteca a la qual s'ha d'afegir el contingut. |
mode | — | Especifica l'estàndard VHDL. El valor predeterminat és VHDL_93. Els valors possibles són vhdl_93, vhdl_87, vhdl_2k, vhdl_2008, vhdl_psl. Els valors no distingeixen entre majúscules i minúscules. |
filenom | — | VHDL file nom. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Paràmetre: falta un valor a la biblioteca | L'opció lib s'especifica sense valor. |
ERR0023 | Paràmetre: falta un valor al mode | L'opció de mode s'especifica sense valor. |
ERR0018 | Mode desconegut ' ' | El mode VHDL especificat és desconegut. Vegeu la llista de possibles modes VHDL a la descripció de l'opció de mode. |
ERR0023 | Paràmetre obligatori file falta el nom | Sense VHDL file es proporciona el camí. |
ERR0019 | No es pot registrar invalid_path.v file | El VHDL especificat file no existeix o no té permisos de lectura. |
ERR0012 | set_device no s'anomena | La informació del dispositiu no està especificada. Utilitzeu l'ordre set_device per descriure el dispositiu. |
Example
read_vhdl -mode vhdl_2008 osc2dfn.vhd
read_vhdl {hdl/top.vhd}
9.1.5 establir_nivell_superior (Fes una pregunta)
Descripció
Especifiqueu el nom del mòdul de nivell superior a RTL.
set_top_level [-lib ]
Arguments
Paràmetre | Tipus | Descripció |
-lib | Corda | La biblioteca on es pot cercar el mòdul o l'entitat de nivell superior (opcional). |
nom | Corda | El nom del mòdul o entitat de nivell superior. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Falta el nivell superior del paràmetre obligatori | L'opció de nivell superior és obligatòria i s'ha d'especificar. |
ERR0023 | Paràmetre: falta un valor a la biblioteca | L'opció lib s'especifica sense valors. |
ERR0014 | No es pot trobar el nivell superior a la biblioteca | El mòdul de nivell superior especificat no està definit a la biblioteca proporcionada. Per corregir aquest error, cal corregir el nom del mòdul o de la biblioteca superior. |
ERR0017 | L'elaboració ha fallat | Error en el procés d'elaboració RTL. El missatge d'error es pot observar des de la consola. |
Example
set_top_level {top}
set_top_level -lib hdl top
9.1.6 read_sdc (Fes una pregunta)
Descripció
Llegeix un SDC file a la base de dades de components.
read_sdc -componentfilenom>
Arguments
Paràmetre | Tipus | Descripció |
component | — | Aquest és un indicador obligatori per a l'ordre read_sdc quan derivem restriccions. |
filenom | Corda | Camí cap a la SDC file. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Paràmetre obligatori file falta el nom. | L'opció obligatòria file el nom no està especificat. |
ERR0000 | SDC file <file_path> no es pot llegir. | El SDC especificat file no té permisos de lectura. |
ERR0001 | No es pot obrirfile_camí> file. | La COSUDE file no existeix. Cal corregir el camí. |
ERR0008 | Falta l'ordre set_component afile_camí> file | El component especificat de SDC file no especifica el component. |
Codi d'error | Missatge d'error | Descripció |
ERR0009 | <List of errors from sdc file> | La COSUDE file conté ordres sdc incorrectes. Per exampel,
quan hi ha un error a la restricció set_multicycle_path: Error en executar l'ordre read_sdc: afile_camí> file: Error a l'ordre set_multicycle_path: paràmetre desconegut [get_cells {reg_a}]. |
Example
read_sdc -component {./component/work/ccc0/ccc0_0/ccc0_ccc0_0_PF_CCC.sdc}
9.1.7 read_ndc (Fes una pregunta)
Descripció
Llegeix un NDC file a la base de dades de components.
read_ndc -componentfilenom>
Arguments
Paràmetre | Tipus | Descripció |
component | — | Aquest és un indicador obligatori per a l'ordre read_ndc quan derivem restriccions. |
filenom | Corda | Camí cap a l'NDC file. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0001 | No es pot obrirfile_camí> file | El NDC file no existeix. Cal corregir el camí. |
ERR0023 | Paràmetre obligatori: falta AtclParamO_. | L'opció obligatòria fileel nom no està especificat. |
ERR0023 | Paràmetre obligatori: falta el component. | L'opció del component és obligatòria i s'ha d'especificar. |
ERR0000 | NDC file 'file_path>' no es pot llegir. | L'NDC especificat file no té permisos de lectura. |
Example
read_ndc -component {component/work/ccc1/ccc1_0/ccc_comp.ndc}
9.1.8 derive_constraints (Fes una pregunta)
Descripció
Instanciació del component SDC files a la base de dades a nivell de disseny.
deriva_restriccions
Arguments
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0013 | El nivell superior no està definit | Això significa que el mòdul o l'entitat de nivell superior no s'ha especificat. Per solucionar aquesta crida, executeu L'ordre set_top_level abans de l'ordre derive_constraints. |
Example
deriva_restriccions
9.1.9 write_sdc (Fes una pregunta)
Descripció
Escriu una restricció file en format SDC.
escriure_sdcfilenom>
Arguments
Paràmetre | Tipus | Descripció |
<filenom> | Corda | Camí cap a la SDC file es generarà. Aquesta és una opció obligatòria. Si el file existeix, se sobreescriurà. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0003 | No es pot obrirfile camí> file. | File el camí no és correcte. Comproveu si els directoris pares existeixen. |
ERR0002 | SDC file 'file path>' no es pot escriure. | El SDC especificat file no té permís d'escriptura. |
ERR0023 | Paràmetre obligatori file falta el nom. | La COSUDE file El camí és una opció obligatòria i s'ha d'especificar. |
Example
write_sdc "derivat.sdc"
9.1.10 write_pdc (Fes una pregunta)
Descripció
Escriu restriccions físiques (només Derive Constraints).
escriure_pdcfilenom>
Arguments
Paràmetre | Tipus | Descripció |
<filenom> | Corda | Camí cap al PDC file es generarà. Aquesta és una opció obligatòria. Si el file camí existeix, se sobreescriurà. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatges d'error | Descripció |
ERR0003 | No es pot obrirfile camí> file | El file el camí no és correcte. Comproveu si els directoris pares existeixen. |
ERR0002 | PDC file 'file path>' no es pot escriure. | El PDC especificat file no té permís d'escriptura. |
ERR0023 | Paràmetre obligatori file falta el nom | El PDC file El camí és una opció obligatòria i s'ha d'especificar. |
Example
write_pdc "derivat.pdc"
9.1.11 write_ndc (Fes una pregunta)
Descripció
Escriu les restriccions NDC en a file.
escriure_ndcfilenom>
Arguments
Paràmetre | Tipus | Descripció |
filenom | Corda | Camí cap a l'NDC file es generarà. Aquesta és una opció obligatòria. Si el file existeix, se sobreescriurà. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatges d'error | Descripció |
ERR0003 | No es pot obrirfile_camí> file. | File el camí no és correcte. Els directoris principals no existeixen. |
ERR0002 | NDC file 'file_path>' no es pot escriure. | L'NDC especificat file no té permís d'escriptura. |
ERR0023 | Falta el paràmetre obligatori _AtclParamO_. | El NDC file El camí és una opció obligatòria i s'ha d'especificar. |
Example
write_ndc "derivat.ndc"
9.1.12 add_include_path (Fes una pregunta)
Descripció
Especifica un camí per cercar incloure files en llegir RTL files.
add_include_path
Arguments
Paràmetre | Tipus | Descripció |
directori | Corda | Especifica un camí per cercar incloure files en llegir RTL files. Aquesta opció és obligatòria. |
Tipus de retorn | Descripció |
0 | L'ordre ha tingut èxit. |
Tipus de retorn | Descripció |
1 | L'ordre ha fallat. Hi ha un error. Podeu observar el missatge d'error a la consola. |
Llista d'errors
Codi d'error | Missatge d'error | Descripció |
ERR0023 | Falta la ruta d'inclusió del paràmetre obligatori. | L'opció de directori és obligatòria i s'ha de proporcionar. |
Nota: Si Si la ruta del directori no és correcta, add_include_path es passarà sense errors.
Tanmateix, les ordres read_verilog/read_vhd fallaran a causa de l'analitzador sintàctic de Verific.
Example
add_include_path component/work/COREABC0/COREABC0_0/rtl/vlog/core
Historial de versions (Fes una pregunta)
L'historial de revisions descriu els canvis que es van implementar al document. Els canvis s'enumeren per revisió, començant per la publicació més actual.
Revisió | Data | Descripció |
F | 08/2024 | En aquesta revisió es fan els canvis següents: • Secció actualitzada Apèndix B: Importació de biblioteques de simulació a l'entorn de simulació. |
E | 08/2024 | En aquesta revisió es fan els canvis següents: • Secció actualitzada Overview. • Secció actualitzada SDC derivat File. • Secció actualitzada Apèndix B: Importació de biblioteques de simulació a l'entorn de simulació. |
D | 02/2024 | Aquest document es publica amb Libero 2024.1 SoC Design Suite sense canvis respecte a la versió 2023.2. Secció actualitzada Treballar amb la utilitat derive_constraints |
C | 08/2023 | Aquest document es publica amb Libero 2023.2 SoC Design Suite sense canvis respecte a la versió 2023.1. |
B | 04/2023 | Aquest document es publica amb Libero 2023.1 SoC Design Suite sense canvis respecte a la versió 2022.3. |
A | 12/2022 | Revisió inicial. |
Suport de microxip FPGA
El grup de productes Microchip FPGA avala els seus productes amb diversos serveis d'assistència, inclòs el servei d'atenció al client, el centre de suport tècnic al client, un weblloc web i oficines de vendes a tot el món.
Es recomana als clients que visitin els recursos en línia de Microxip abans de contactar amb el servei d'assistència, ja que és molt probable que les seves consultes ja hagin estat respostes.
Poseu-vos en contacte amb el centre d'assistència tècnica a través de weblloc a www.microchip.com/support. Esmenteu el número de peça del dispositiu FPGA, seleccioneu la categoria de cas adequada i pengeu el disseny files mentre es crea un cas de suport tècnic.
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, truqueu al 800.262.1060
- Des de la resta del món, truqueu al 650.318.4460
- Fax, des de qualsevol part del món, 650.318.8044
Informació del microxip
El Microxip Weblloc
Microxip ofereix suport en línia a través del nostre weblloc a www.microchip.com/. Això weblloc s'utilitza per fer filei informació fàcilment disponible per als clients. Alguns dels continguts disponibles inclouen:
- Suport al producte: fulls de dades i errates, notes d'aplicació i sampprogrames, recursos de disseny, guies d'usuari i documents de suport de maquinari, últimes versions de programari i programari arxivat
- Suport tècnic general: Preguntes freqüents (FAQ), sol·licituds d'assistència tècnica, grups de discussió en línia, llista de membres del programa de socis de disseny de Microchip
- Negoci de Microxip: selector de productes i guies de comandes, darrers comunicats de premsa de Microxip, llistat de seminaris i esdeveniments, llistats d'oficines de vendes de Microxip, distribuïdors i representants de fàbrica
Servei de notificació de canvis de producte
El servei de notificació de canvis de producte de Microchip ajuda a mantenir els clients al dia dels productes de Microchip. Els subscriptors rebran una notificació per correu electrònic sempre que hi hagi canvis, actualitzacions, revisions o errates relacionades amb una família de productes o una eina de desenvolupament especificada d'interès. Per registrar-vos, aneu a www.microchip.com/pcn i seguiu les instruccions de registre.
Atenció al client
Els usuaris dels productes Microxip poden rebre assistència a través de diversos canals:
- Distribuïdor o representant
- Oficina local de vendes
- Enginyer de solucions integrades (ESE)
- Suport tècnic
Els clients han de contactar amb el seu distribuïdor, representant o ESE per obtenir assistència. Les oficines de vendes locals també estan disponibles per ajudar els clients. En aquest document s'inclou una llista d'oficines de vendes i ubicacions. El suport tècnic està disponible a través de weblloc a: www.microchip.com/support
Funció de protecció de codi de dispositius de microxip
Tingueu en compte els detalls següents de la funció de protecció del codi als productes Microxip:
- Els productes de microxip compleixen les especificacions contingudes a la seva fitxa de dades particular de microxip.
- Microxip creu que la seva família de productes és segura quan s'utilitza de la manera prevista, dins de les especificacions de funcionament i en condicions normals.
- Microxip valora i protegeix de manera agressiva els seus drets de propietat intel·lectual. Els intents d'infringir les funcions de protecció del codi del producte Microxip estan estrictament prohibits i poden infringir la Llei de drets d'autor de Digital Millennium.
- Ni Microchip ni cap altre fabricant de semiconductors poden garantir la seguretat del seu codi. La protecció del codi no vol dir que estem garantint que el producte sigui "irrompible". La protecció del codi està en constant evolució. Microxip es compromet a millorar contínuament les funcions de protecció del codi dels nostres productes.
Avís Legal
Aquesta publicació i la informació que s'hi inclou només es poden utilitzar amb productes Microchip, inclòs per dissenyar, provar i integrar productes Microchip amb la vostra aplicació. L'ús d'aquesta informació de qualsevol altra manera viola aquests termes. La informació sobre les aplicacions del dispositiu només es proporciona per a la vostra comoditat i pot ser substituïda per actualitzacions. És la vostra responsabilitat assegurar-vos que la vostra aplicació compleix les vostres especificacions. Poseu-vos en contacte amb l'oficina local de vendes de Microxip per obtenir assistència addicional o, per obtenir assistència addicional a www.microchip.com/en-us/support/design-help/client-support-services.
AQUESTA INFORMACIÓ ÉS PROPORCIONADA PER MICROCHIP "TAL CUAL". MICROCHIP NO FA REPRESENTACIONS O GARANTIES DE CAP TIPUS, JA SIGUI EXPRESSES O IMPLÍCITES, ESCRITES O ORALS, LEGALS O D'ALTRE ALTRE, RELACIONATS AMB LA INFORMACIÓ, INCLOSA PERÒ NO LIMITADA A CAP GARANTIA IMPLÍCITA DE NO INFRACCIÓ, COMERCIALITZACIÓ I GARANTIA DE COMERCIALITZACIÓ, GARANTIA DE COMERCIALITZACIÓ, GARANTIA DE COMERCIALITZACIÓ AMB EL SEU ESTAT, QUALITAT O RENDIMENT. EN CAP CAS MICROCHIP SERÀ RESPONSABLE DE CAP PÈRDUA INDIRECTA, ESPECIAL, PUNITIV, INCIDENTAL O CONSEQUENTAL, DANYS, COST O DESPESA DE CAP TIPO RELACIONAT AMB LA INFORMACIÓ O EL SEU ÚS, SEGUI QUE SIEMPRE CAUSADA, FINS I AMB LA ADMISSIBILITAT D'ADMISSIBILITAT. SÓN PREVISIBLES. EN LA MÀXIMA MESURA PERMETIDA PER LA LLEI, LA RESPONSABILITAT TOTAL DE MICROCHIP EN TOTES LES RECLAMACIONS RELACIONATS DE QUALSEVOL MANERA AMB LA INFORMACIÓ O EL SEU ÚS NO SUPERARÀ L'IMPORT DE LES TAXES, SI N'HI HA, QUE HEU PAGAT DIRECTAMENT A MICROCHIP PER LA INFORMACIÓ.
L'ús de dispositius Microchip en aplicacions de suport vital i/o seguretat és completament risc del comprador, i el comprador accepta defensar, indemnitzar i eximir de responsabilitat Microchip de qualsevol dany, reclamació, demanda o despesa derivada d'aquest ús. No es transmeten llicències, implícitament o d'una altra manera, en virtut de cap dret de propietat intel·lectual de Microchip, tret que s'indiqui el contrari.
Marques comercials
El nom i el logotip de Microxip, el logotip de Microxip, Adaptec, AVR, logotip d'AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStyluuchs, MediaLB, megaAVR, Microsemi, logotip de Microsemi, MOST, logotip MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logotip PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron i XMEGA són marques registrades de Microchip Technology Incorporated als EUA i altres països.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logotip de ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider i ZL són marques registrades de Microchip Technology Incorporated als EUA
Supressió de claus adjacents, AKS, Analog-for-the-Digital Age, Qualsevol condensador, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Average Net. , DAM, ECAN, Espresso T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge, IGaT, Programació en sèrie en circuit, ICSP, INICnet, Paral·lelització intel·ligent, IntelliMOS, Connectivitat entre xips, JitterBlocker, Knob-on-Display, MarginLink, maxC màxView, memBrain, Mindi, MiWi, MPASM, MPF, logotip de MPLAB Certified, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSmart, PureSilicon , QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance , Temps de confiança, TSHARC, Turing, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect i ZENA són marques comercials de Microchip Technology Incorporated als EUA i altres països.
SQTP és una marca de servei de Microchip Technology Incorporated als EUA
El logotip d'Adaptec, Frequency on Demand, Silicon Storage Technology i Symmcom són marques registrades de Microchip Technology Inc. a altres països.
GestIC és una marca comercial registrada de Microchip Technology Germany II GmbH & Co. KG, una filial de Microchip Technology Inc., a altres països.
Totes les altres marques comercials esmentades aquí són propietat de les seves respectives empreses.
2024, Microchip Technology Incorporated i les seves filials. Tots els drets reservats.
ISBN: 978-1-6683-0183-8
Sistema de gestió de la qualitat
Per obtenir informació sobre els sistemes de gestió de la qualitat de Microchip, visiteu www.microchip.com/quality.
Vendes i servei a tot el món
AMÈRICES | ASIA/PACÍFIC | ASIA/PACÍFIC | EUROPA |
Oficina Corporativa 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Suport tècnic: www.microchip.com/support Web Adreça: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianàpolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 Nova York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Canadà - Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Austràlia - Sydney Tel: 61-2-9868-6733 Xina - Pequín Tel: 86-10-8569-7000 Xina - Chengdu Tel: 86-28-8665-5511 Xina - Chongqing Tel: 86-23-8980-9588 Xina - Dongguan Tel: 86-769-8702-9880 Xina - Guangzhou Tel: 86-20-8755-8029 Xina - Hangzhou Tel: 86-571-8792-8115 Xina - Hong Kong SAR Tel: 852-2943-5100 Xina - Nanjing Tel: 86-25-8473-2460 Xina - Qingdao Tel: 86-532-8502-7355 Xina - Xangai Tel: 86-21-3326-8000 Xina - Shenyang Tel: 86-24-2334-2829 Xina - Shenzhen Tel: 86-755-8864-2200 Xina - Suzhou Tel: 86-186-6233-1526 Xina - Wuhan Tel: 86-27-5980-5300 Xina - Xian Tel: 86-29-8833-7252 Xina - Xiamen Tel: 86-592-2388138 Xina - Zhuhai Tel: 86-756-3210040 |
Índia - Bangalore Tel: 91-80-3090-4444 Índia - Nova Delhi Tel: 91-11-4160-8631 Índia - Pune Tel: 91-20-4121-0141 Japó – Osaka Tel: 81-6-6152-7160 Japó – Tòquio Tel: 81-3-6880-3770 Corea - Daegu Tel: 82-53-744-4301 Corea - Seül Tel: 82-2-554-7200 Malàisia – Kuala Lumpur Tel: 60-3-7651-7906 Malàisia - Penang Tel: 60-4-227-8870 Filipines - Manila Tel: 63-2-634-9065 Singapur Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886-7-213-7830 Taiwan – Taipei Tel: 886-2-2508-8600 Tailàndia - Bangkok Tel: 66-2-694-1351 Vietnam - Ho Chi Minh Tel: 84-28-5448-2100 |
Àustria – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Dinamarca – Copenhaguen Tel: 45-4485-5910 Fax: 45-4485-2829 Finlàndia – Espoo Tel: 358-9-4520-820 França – París Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Alemanya – Garching Tel: 49-8931-9700 Alemanya - Haan Tel: 49-2129-3766400 Alemanya - Heilbronn Tel: 49-7131-72400 Alemanya – Karlsruhe Tel: 49-721-625370 Alemanya - Munic Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Alemanya – Rosenheim Tel: 49-8031-354-560 Israel – Hod Hasharon Tel: 972-9-775-5100 Itàlia - Milà Tel: 39-0331-742611 Fax: 39-0331-466781 Itàlia - Pàdua Tel: 39-049-7625286 Països Baixos – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Noruega - Trondheim Tel: 47-72884388 Polònia - Varsòvia Tel: 48-22-3325737 Romania – Bucarest Tel: 40-21-407-87-50 Espanya – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Suècia – Göteborg Tel: 46-31-704-60-40 Suècia - Estocolm Tel: 46-8-5090-4654 Regne Unit - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
Documents/Recursos
![]() |
MICROCHIP DS00004807F Família PolarFire FPGA Custom Flow [pdfGuia de l'usuari DS00004807F PolarFire Family FPGA Custom Flow, DS00004807F, PolarFire Family FPGA Custom Flow, Family FPGA Custom Flow, Custom Flow, Flow |