PolarFire Family FPGA Custom Flow Guía do usuario
Libero SoC v2024.2
Introdución (Fai unha pregunta)
O software Libero System-on-Chip (SoC) ofrece un entorno de deseño de Field Programmable Gate Array (FPGA) totalmente integrado. Non obstante, algúns usuarios poden querer utilizar ferramentas de síntese e simulación de terceiros fóra do contorno SoC de Libero. Libero agora pódese integrar no contorno de deseño FPGA. Recoméndase usar Libero SoC para xestionar todo o fluxo de deseño FPGA.
Esta guía de usuario describe o fluxo personalizado para os dispositivos da familia SoC PolarFire e PolarFire, un proceso para integrar Libero como parte do fluxo de deseño FPGA máis amplo. Familias de dispositivos compatibles® A seguinte táboa enumera as familias de dispositivos compatibles con Libero SoC. Non obstante, algunhas informacións desta guía só poden aplicarse a unha familia específica de dispositivos. Neste caso, esta información está claramente identificada.
Táboa 1. Familias de dispositivos compatibles con Libero SoC
Familia de dispositivos | Descrición |
PolarFire® | Os FPGA PolarFire ofrecen a potencia máis baixa do sector a densidades de rango medio cunha seguridade e fiabilidade excepcionais. |
SoC PolarFire | PolarFire SoC é o primeiro SoC FPGA cun clúster de CPU RISC-V determinista e coherente e un subsistema de memoria L2 determinista que permite Linux® e aplicacións en tempo real. |
Acabadoview (Fai unha pregunta)
Aínda que o SoC Libero ofrece un ambiente de deseño de extremo a extremo totalmente integrado para desenvolver deseños de SoC e FPGA, tamén ofrece a flexibilidade para executar síntese e simulación con ferramentas de terceiros fóra do contorno SoC de Libero. Non obstante, algúns pasos de deseño deben permanecer dentro do contorno SoC de Libero.
A seguinte táboa enumera os pasos principais do fluxo de deseño FPGA e indica os pasos para os que se debe usar Libero SoC.
Táboa 1-1. Fluxo de deseño FPGA
Paso de fluxo de deseño | Debe usar Libero | Descrición |
Entrada de deseño: HDL | Non | Se o desexa, use unha ferramenta de verificación/editor HDL de terceiros fóra de Libero® SoC. |
Entrada de deseño: Configuradores | Si | Crea o primeiro proxecto Libero para a xeración de compoñentes básicos do catálogo IP. |
Xeración automática de restricións PDC/SDC | Non | As restricións derivadas necesitan todos os HDL files e unha utilidade derive_constraints cando se realiza fóra de Libero SoC, tal e como se describe no Apéndice C: Derive Constraints. |
Simulación | Non | Use ferramentas de terceiros fóra de Libero SoC, se o desexa. Require a descarga de bibliotecas de simulación precompiladas para o dispositivo de destino, o simulador de destino e a versión de Libero de destino utilizada para a implementación do backend. |
Síntese | Non | Use ferramentas de terceiros fóra de Libero SoC se o desexa. |
Implementación do deseño: xestionar restricións, compilar listas de rede, colocar e encamiñar (ver Overview) | Si | Crea un segundo proxecto de Libero para a implementación do backend. |
Verificación de tempo e potencia | Si | Queda no segundo proxecto Libero. |
Configurar datos e memorias de inicialización do deseño | Si | Use esta ferramenta para xestionar diferentes tipos de memorias e deseñar a inicialización no dispositivo. Quédese no segundo proxecto. |
Programación File Xeración | Si | Quédese no segundo proxecto. |
Importante: ti debe descargar as bibliotecas precompiladas dispoñibles en Bibliotecas de simulación precompiladas páxina para usar un simulador de terceiros.
Nun fluxo FPGA de Fabric puro, introduce o teu deseño usando HDL ou entrada esquemática e pásao directamente
ás ferramentas de síntese. O fluxo aínda é compatible. PolarFire e PolarFire SoC FPGA teñen importantes
bloques de IP duro propietarios que requiren o uso de núcleos de configuración (SgCores) do IP SoC de Libero
catálogo. Requírese un tratamento especial para calquera bloque que inclúa a funcionalidade de SoC:
- PolarFire
– PF_UPROM
– PF_SYSTEM_SERVICES
– PF_CCC
– PF CLK DIV
– PF_CRYPTO
– PF_DRI
– PF_INIT_MONITOR
– PF_NGMUX
– PF_OSC
- Memorias 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.
Ademais dos SgCores listados anteriormente, hai moitas IPs suaves DirectCore dispoñibles para as familias de dispositivos PolarFire e PolarFire SoC no Catálogo de SoC de Libero que usan os recursos de tecido FPGA.
Para a entrada de deseño, se utiliza algún dos compoñentes anteriores, debe utilizar o SoC de Libero para parte da entrada de deseño (Configuración de compoñentes), pero pode continuar co resto da entrada de deseño (entrada HDL, etc.) fóra de Libero. Para xestionar o fluxo de deseño FPGA fóra de Libero, siga os pasos indicados no resto desta guía.
1.1 Ciclo de vida dos compoñentes (Fai unha pregunta)
Os seguintes pasos describen o ciclo de vida dun compoñente SoC e ofrecen instrucións sobre como manexar os datos.
- Xera o compoñente usando o seu configurador en Libero SoC. Isto xera os seguintes tipos de datos:
- HDL files
– Memoria files
– Estímulo e Simulación files
– Compoñente SDC file - Para HDL files, instánciaos e intégraos no resto do deseño HDL mediante a ferramenta/proceso de entrada de deseño externo.
- Proporcionar memoria files e estímulo files á súa ferramenta de simulación.
- Compoñente de subministración SDC file para derivar a ferramenta de restricións para a xeración de restricións. Consulte o Apéndice C—Derivar restricións para obter máis detalles.
- Debes crear un segundo proxecto de Libero, onde importas a lista de rede posterior á síntese e os metadatos dos teus compoñentes, completando así a conexión entre o que xeraches e o que programas.
1.2 Creación do proxecto Libero SoC (Fai unha pregunta)
Algúns pasos de deseño deben executarse dentro do contorno SoC Libero (táboa 1-1). Para que se executen estes pasos, debes crear dous proxectos Libero SoC. O primeiro proxecto utilízase para a configuración e xeración de compoñentes de deseño, e o segundo proxecto é para a implementación física do deseño de nivel superior.
1.3 Fluxo personalizado (Fai unha pregunta)
A seguinte figura mostra:
- Libero SoC pódese integrar como parte do maior fluxo de deseño FPGA coas ferramentas de síntese e simulación de terceiros fóra do contorno Libero SoC.
- Varios pasos implicados no fluxo, dende a creación do deseño e a costura ata a programación do dispositivo.
- O intercambio de datos (entradas e saídas) que debe producirse en cada paso do fluxo de deseño.
Consello:
- SNVM.cfg, UPROM.cfg
- *.mem file xeración para a simulación: pa4rtupromgen.exe toma UPROM.cfg como entrada e xera UPROM.mem.
Os seguintes son os pasos do fluxo personalizado:
- Configuración e xeración de compoñentes:
a. Crea un primeiro proxecto Libero (para servir como Proxecto de Referencia).
b. Seleccione o núcleo do catálogo. Fai dobre clic no núcleo para darlle un nome de compoñente e configurar o compoñente.
Isto exporta automaticamente os datos dos compoñentes e files. Tamén se xera un manifesto de compoñentes. Consulte Manifestos de compoñentes para obter máis información. Para obter máis detalles, consulte Configuración de compoñentes. - Completa o teu deseño RTL fóra de Libero:
a. Instancia o compoñente HDL files.
b. A localización do HDL files está listado nos manifestos de compoñentes files. - Xerar restricións SDC para os compoñentes. Use a utilidade Derive Constraints para xerar a restrición de tempo file(SDC) baseado en:
a. Compoñente HDL files
b. Compoñente SDC files
c. Usuario HDL files
Para obter máis detalles, consulte o Apéndice C—Derivar restricións. - Ferramenta de síntese/ferramenta de simulación:
a. Obter HDL files, estímulo files, e os datos de compoñentes das localizacións específicas, tal e como se indica nos Manifestos de compoñentes.
b. Sintetiza e simula o deseño con ferramentas de terceiros fóra de Libero SoC. - Crea o teu segundo Proxecto Libero (Implementación).
- Elimina a síntese da cadea de ferramentas de fluxo de deseño (Proxecto > Configuración do proxecto > Fluxo de deseño > desmarque a caixa de verificación Activar síntese).
- Importar a fonte do deseño files (lista de rede posterior á síntese *.vm da ferramenta de síntese):
– Importar lista de redes *.vm post-síntese (File>Importar> Lista de redes de Verilog sintetizada (VM)).
– Metadatos dos compoñentes *.cfg files para uPROM e/ou sNVM. - Importa calquera compoñente de bloque de Libero SoC files. O bloque files debe estar no *.cxz file formato.
Para obter máis información sobre como crear un bloque, consulte Guía de usuario de PolarFire Block Flow. - Importar as restricións de deseño:
– Restricción de E/S de importación files (Xestor de restricións > Atributos I/O > Importar).
– Importar planeamento *.pdc files (Xestor de restricións > Planificador de pisos > Importar).
– Importar restrición de tempo *.sdc files (Xestor de restricións > Temporización > Importar). Importar o SDC file xerado a través da ferramenta Derive Constraint.
– Importar restrición *.ndc files (Xestor de restricións > NetlistAttributes > Importar), se hai. - Restricción file e asociación de ferramentas
– No Xestor de restricións, asocia o *.pdc files para colocar e enrutar, o *.sdc files para colocar e realizar verificacións de ruta e cronometraxe, e o *.ndc files para compilar Netlist. - Implementación completa do deseño
– Colocar e encamiñar, verificar tempo e potencia, configurar datos e memorias de inicialización do deseño e programación file xeración. - Valida o deseño
– Valide o deseño en FPGA e depure segundo sexa necesario utilizando as ferramentas de deseño proporcionadas coa suite de deseño Libero SoC.
Configuración de compoñentes (Fai unha pregunta)
O primeiro paso do fluxo personalizado é configurar os seus compoñentes mediante un proxecto de referencia de Libero (tamén chamado primeiro proxecto de Libero na Táboa 1-1). Nos pasos posteriores, utilizará os datos deste proxecto de referencia.
Se está a usar algún dos compoñentes enumerados anteriormente, baixo o Overview no seu deseño, realice os pasos descritos nesta sección.
Se non está a usar ningún dos compoñentes anteriores, pode escribir o seu RTL fóra de Libero e importalo directamente nas súas ferramentas de síntese e simulación. A continuación, pode pasar á sección posterior á síntese e importar só a súa lista de redes *.vm postsíntese no seu proxecto final de implementación de Libero (tamén chamado segundo proxecto de Libero na Táboa 1-1).
2.1 Configuración de compoñentes usando Libero (Fai unha pregunta)
Despois de seleccionar os compoñentes que se deben usar na lista anterior, siga os seguintes pasos:
- Crea un novo proxecto de Libero (Configuración e xeración do núcleo): selecciona o dispositivo e a familia aos que desexes o teu deseño final.
- Use un ou máis dos núcleos mencionados en Custom Flow.
a. Crea un SmartDesign e configura o núcleo desexado e instálao no compoñente SmartDesign.
b. Promove todos os pinos ao nivel superior.
c. Xera o SmartDesign.
d. Fai dobre clic na ferramenta Simular (calquera das opcións de pre-síntese ou pos-síntese ou pos-deseño) para invocar o simulador. Podes saír do simulador despois de invocalo. Este paso xera a simulación fileé necesario para o teu proxecto.
Consello: ti debes realizar este paso se queres simular o teu deseño fóra de Libero.
Para obter máis información, consulte Simular o seu deseño.
e. Garda o teu proxecto: este é o teu proxecto de referencia.
2.2 Manifestos de compoñentes (Fai unha pregunta)
Cando xera os seus compoñentes, un conxunto de filexérase s para cada compoñente. O informe Manifest de compoñentes detalla o conxunto de files xerados e utilizados en cada paso posterior (Síntese, Simulación, Xeración de Firmware, etc.). Este informe ofrécelle as localizacións de todos os xerados fileé necesario para continuar co fluxo personalizado. Podes acceder ao manifesto do compoñente na área Informes: Fai clic en Deseño > Informes para abrir a pestana Informes. Na pestana Informes, ves un conxunto de manifest.txt files (Acabouview), un por cada compoñente que xerou.
Consello: debes establecer un compoñente ou módulo como '"root"' para ver o manifesto do compoñente file contidos na pestana Informes.
Alternativamente, pode acceder ao informe do manifesto individual files para cada compoñente principal xerado ou compoñente SmartDesign desde /compoñente/traballo/ / / _manifest.txt ou /compoñente/traballo/ / _manifest.txt. Tamén podes acceder ao manifesto file contidos de cada compoñente xerados a partir da nova pestana Compoñentes en Libero, onde se atopa file menciónanse as localizacións con respecto ao directorio do proxecto.Concéntrase nos seguintes informes do manifesto de compoñentes:
- Se instanciaches núcleos nun SmartDesign, le file _manifest.txt.
- Se creaches compoñentes para núcleos, le o _manifest.txt.
Debes usar todos os informes de manifestos de compoñentes que se apliquen ao teu deseño. Por example, se o seu proxecto ten un SmartDesign cun ou máis compoñentes básicos instanciados nel e pretende utilizalos todos no seu deseño final, entón debe seleccionar files listados nos informes de Manifestos de compoñentes de todos eses compoñentes para usar no seu fluxo de deseño.
2.3 Interpretación do manifesto Files (Fai unha pregunta)
Cando abres un manifesto de compoñente file, ves camiños para files no teu proxecto Libero e indica onde no fluxo de deseño usalos. Podes ver os seguintes tipos de files nun manifesto file:
- Fonte HDL files para todas as ferramentas de síntese e simulación
- Estímulo files para todas as ferramentas de simulación
- Restricción files
A continuación móstrase o manifesto de compoñente dun compoñente central de PolarFire.Cada tipo de file é necesario augas abaixo no seu fluxo de deseño. As seguintes seccións describen a integración do files do manifesto ao fluxo de deseño.
Xeración de restricións (Fai unha pregunta)
Ao realizar a configuración e xeración, asegúrese de escribir/xerar a restrición SDC/PDC/NDC files para que o deseño pase ás ferramentas de síntese, lugar e ruta e verificación de tempo.
Use a utilidade Derivar restricións fóra do contorno de Libero para xerar restricións en lugar de escribilas manualmente. Para utilizar a utilidade Derive Constraint fóra do contorno de Libero, debes:
- Fornece a restrición de HDL do usuario, HDL de compoñente e SDC de compoñente files
- Especifique o módulo de nivel superior
- Especifique a localización onde xerar a restrición derivada files
As restricións dos compoñentes SDC están dispoñibles en /compoñente/traballo/ / / directorio despois da configuración e xeración dos compoñentes.
Para obter máis detalles sobre como xerar restricións para o seu deseño, consulte o Apéndice C: Derivar restricións.
Sintetizando o teu deseño (Fai unha pregunta)
Unha das características principais do fluxo personalizado é permitirche usar unha síntese de terceiros
ferramenta fóra de Libero. O fluxo personalizado admite o uso de Synopsys SynplifyPro. Para sintetizar o seu
proxecto, use o seguinte procedemento:
- Crea un proxecto novo na túa ferramenta de síntese, orientado á mesma familia de dispositivos, morrer e paquete que o proxecto Libero que creaches.
a. Importa o teu propio RTL files como fai normalmente.
b. Establece a saída de Síntese como Verilog estrutural (.vm).
Consello: estrutural Verilog (.vm) é o único formato de saída de síntese compatible en PolarFire. - Importar compoñentes HDL files no teu proxecto de síntese:
a. Para cada Compoñente Informe de Manifestos: Para cada un file baixo fonte HDL files para todas as ferramentas de síntese e simulación, importe o file no seu proxecto de síntese. - Importar o file polarfire_syn_comps.v (se usa Synopsys Synplify) de
Localización de instalación>/data/aPA5M no seu proxecto de síntese. - Importa o SDC xerado anteriormente file mediante a ferramenta de restricións derivadas (consulte o apéndice
A-Sample SDC Constraints) na ferramenta de síntese. Esta restrición file restrinxe a ferramenta de síntese para lograr o peche temporal con menos esforzo e menos iteracións de deseño.
Importante:
- Se pensas usar o mesmo *.sdc file para limitar Place-and-Route durante a fase de implementación do deseño, debes importar este *.sdc ao proxecto de síntese. Isto é para garantir que non haxa discrepancias no nome do obxecto de deseño na lista de rede sintetizada e nas restricións de lugar e ruta durante a fase de implementación do proceso de deseño. Se non inclúe este *.sdc file no paso de Síntese, a lista de rede xerada a partir de Síntese pode fallar o paso de Lugar e Ruta debido a que non coinciden os nomes dos obxectos de deseño.
a. Importa os atributos de Netlist *.ndc, se os houber, na ferramenta de síntese.
b. Executar Síntese. - A localización da saída da túa ferramenta de síntese ten a lista de rede *.vm file post Síntese xerada. Debes importar a lista de rede ao Proxecto de Implementación de Libero para continuar co proceso de deseño.
Simulando o teu deseño (Fai unha pregunta)
Para simular o teu deseño fóra de Libero (é dicir, usando o teu propio entorno de simulación e simulador), realiza os seguintes pasos:
- Deseño Files:
a. Simulación previa á síntese:
• Importa o teu RTL no teu proxecto de simulación.
• Informe de manifestos de cada compoñente.
- Importar cada un file baixo fonte HDL files para todas as ferramentas de síntese e simulación no seu proxecto de simulación.
• Compila estes files segundo as instrucións do seu simulador.
b. Simulación postsíntese:
• Importa a túa lista de redes *.vm post-síntese (xerada en Sintetizando o teu deseño) ao teu proxecto de simulación e compílaa.
c. Simulación posterior ao deseño:
• Primeiro, completa a implementación do teu deseño (consulta Implementación do teu deseño). Asegúrate de que o teu proxecto final de Libero estea en estado posterior ao deseño.
• Fai dobre clic en Xerar BackAnnotated Files na xanela Libero Design Flow. Xera dous files:
/deseñador/ / _ba.v/vhd /deseñador/
/ _ba.sdf
• Importar ambos files na súa ferramenta de simulación. - Estímulo e Configuración files:
a. Para cada informe de manifestos de compoñentes:
• Copiar todo files baixo o Estímulo Files para todas as seccións de Ferramentas de simulación ao directorio raíz do seu proxecto de simulación.
b. Asegúrese de que calquera Tcl files das listas anteriores (no paso 2.a) execútanse primeiro, antes do inicio da simulación.
c. UPROM.mem: se usa o núcleo UPROM no seu deseño coa opción Usar contido para a simulación activada para un ou máis clientes de almacenamento de datos que desexa simular, debe usar o executable pa4rtupromgen (pa4rtupromgen.exe en Windows) para xerar o UPROM.mem. file. O executable pa4rtupromgen leva o ficheiro UPROM.cfg file como entradas a través dun script Tcl file e saca o UPROM.mem file necesario para simulacións. Este UPROM.mem file debe copiarse no cartafol de simulación antes da execución da simulación. Un exampO ficheiro que mostra o uso do executable pa4rtupromgen ofrécese nos seguintes pasos. O ficheiro UPROM.cfg file está dispoñible no directorio /compoñente/traballo/ / no proxecto Libero que utilizou para xerar o compoñente UPROM.
d. snvm.mem: se usa o núcleo de Servizos do sistema no seu deseño e configura a pestana sNVM no núcleo coa opción Usar contido para a simulación activada para un ou máis clientes que desexa simular, un snvm.mem file xérase automaticamente para
o directorio /compoñente/traballo/ / no proxecto Libero que utilizou para xerar o compoñente Servizos do sistema. Este snvm.mem file debe copiarse no cartafol de simulación antes da execución da simulación. - Cree un cartafol de traballo e un subcartafol chamado simulación baixo o cartafol de traballo.
O executable pa4rtupromgen espera a presenza do subcartafol de simulación no cartafol de traballo e o script *.tcl colócase no subcartafol de simulación. - Copia o ficheiro UPROM.cfg file do primeiro proxecto Libero creado para a xeración de compoñentes ao cartafol de traballo.
- Pega os seguintes comandos nun script *.tcl e colócao no cartafol de simulación creado no paso 3.
Sample *.tcl para dispositivos PolarFire e PolarFire Soc Family para xerar URPOM.mem file
desde UPROM.cfg
set_device -fam -morrer -paquete
set_input_cfg -ruta
set_sim_mem -rutaFile/UPROM.mem>
gen_sim -use_init false
Para o nome interno adecuado para usar para o troquel e o paquete, consulte o *.prjx file do primeiro proxecto Libero (utilizado para a xeración de compoñentes).
O argumento use_init debe establecerse como false.
Use o comando set_sim_mem para especificar o camiño á saída file UPROM.mem é dicir
xerado ao executar o script file co executable pa4rtupromgen. - No símbolo do sistema ou no terminal cygwin, vaia ao directorio de traballo creado no paso 3.
Execute o comando pa4rtupromgen coa opción–script e páselle o script *.tcl creado no paso anterior.
Para Windows
/designer/bin/pa4rtupromgen.exe \
–script./simulación/ .tcl
Para Linux:
/bin/pa4rtupromgen
–script./simulación/ .tcl - Despois da execución exitosa do executable pa4rtupromgen, verifique que UPROM.mem file xérase na localización especificada no comando set_sim_mem no script *.tcl.
- Para simular o sNVM, copie o snvm.mem file desde o teu primeiro proxecto Libero (utilizado para a configuración de compoñentes) ao cartafol de simulación de nivel superior do teu proxecto de simulación para executar a simulación (fóra do SoC de Libero). Para simular o contido da UPROM, copie o UPROM.mem xerado file no cartafol de simulación de nivel superior do seu proxecto de simulación para executar a simulación (fóra de Libero SoC).
Importante: Para simula a funcionalidade dos compoñentes de SoC, descarga as bibliotecas de simulación PolarFire precompiladas e impórtaas ao teu ambiente de simulación como se describe aquí. Para obter máis detalles, consulte o Apéndice B—Importación de bibliotecas de simulación ao contorno de simulación.
Implementando o teu deseño (Fai unha pregunta)
Despois de completar a simulación de síntese e possíntese no seu contorno, debe usar Libero de novo para implementar fisicamente o seu deseño, executar a análise de tempo e potencia e xerar a súa programación. file.
- Crear un novo proxecto Libero para a implementación física e a disposición do deseño. Asegúrate de apuntar ao mesmo dispositivo que no proxecto de referencia que creaches na Configuración de compoñentes.
- Despois da creación do proxecto, elimine Síntese da cadea de ferramentas na xanela Fluxo de deseño (Proxecto > Configuración do proxecto > Fluxo de deseño > Desmarque Activar síntese).
- Importa o teu *.vm post-síntese file neste proxecto, (File > Importar > Lista de redes de Verilog sintetizada (VM)).
Consello: recoméndase que cree unha ligazón a isto file, de xeito que se resintetizas o teu deseño, Libero sempre use a lista de rede posterior á síntese máis recente.
a. Na xanela Xerarquía de deseño, anote o nome do módulo raíz. - Importa as restricións ao proxecto Libero. Use o Xestor de restricións para importar restricións *.pdc/*.sdc/*.ndc.
a. Importar E/S *.pdc restrición files (Xestor de restricións > Atributos de E/S > Importar).
b. Importar a restrición *.pdc Floorplanning files (Xestor de restricións > Planificador de pisos > Importar).
c. Importar restrición de tempo *.sdc files (Xestor de restricións > Temporización > Importar). Se o teu deseño ten algún dos núcleos enumerados en Overview, asegúrese de importar o SDC file xerado mediante a ferramenta de restrición derivada.
d. Importar restrición *.ndc files (Xestor de restricións > Atributos da lista de redes > Importar). - Asociar restricións Files para deseñar ferramentas.
a. Abre Xestor de restricións (Xestionar restricións > Abrir Xestionar restricións View).
Marque a caixa de verificación de verificación do lugar e da ruta e do tempo xunto á restrición file para establecer restricións file e asociación de ferramentas. Asocie a restrición *.pdc a Place-andRoute e o *.sdc tanto a Place-and-Route como a verificación do tempo. Asociar o *.ndc file para compilar Netlist.
Consello: se Lugar e ruta fallan con esta restrición *.sdc file, a continuación, importe este mesmo *.sdc file para a síntese e repetir a síntese.
- Fai clic en Compilar lista de rede e, a continuación, en Colocar e encamiñar para completar o paso de deseño.
- A ferramenta Configure Design Initialization Data and Memories permítelle inicializar bloques de deseño, como LSRAM, µSRAM, XCVR (transceptores) e PCIe utilizando datos almacenados en µPROM non volátiles, sNVM ou memoria de almacenamento SPI Flash externa. A ferramenta ten as seguintes pestanas para definir a especificación da secuencia de inicialización do deseño, a especificación dos clientes de inicialización, os clientes de datos do usuario.
– Pestana Inicialización do deseño
– Ficha µPROM
– pestana sNVM
– Pestana SPI Flash
– Pestana Fabric RAMs
Use as pestanas da ferramenta para configurar os datos de inicialización do deseño e as memorias.Despois de completar a configuración, siga os seguintes pasos para programar os datos de inicialización:
• Xerar clientes de inicialización
• Xerar ou exportar o fluxo de bits
• Programar o dispositivo
Para obter información detallada sobre como usar esta ferramenta, consulte a Guía de usuario de Libero SoC Design Flow. Para obter máis información sobre os comandos Tcl utilizados para configurar varias pestanas na ferramenta e especificar a configuración da memoria files (*.cfg), véxase Guía de referencia de comandos Tcl. - Xerar unha programación File deste proxecto e utilízao para programar o teu FPGA.
Apéndice A-SampRestriccións SDC (Fai unha pregunta
Libero SoC xera restricións de tempo SDC para certos núcleos IP, como CCC, OSC, Transceiver, etc. Ao pasar as restricións SDC ás ferramentas de deseño aumenta a posibilidade de cumprir o peche do tempo con menos esforzo e menos iteracións de deseño. O camiño xerárquico completo da instancia de nivel superior dáse para todos os obxectos de deseño referenciados nas restricións.
7.1 Restricións de tempo SDC (Fai unha pregunta)
No proxecto de referencia principal de Libero IP, esta restrición SDC de nivel superior file está dispoñible desde o Xestor de restricións (Fluxo de deseño > Abrir Xestionar restrición View > Temporalización > Derivar restricións).
Importante: ver isto file para establecer as restricións SDC se o seu deseño contén CCC, OSC, Transceiver e outros compoñentes. Modifique o camiño xerárquico completo, se é necesario, para que coincida coa súa xerarquía de deseño ou use a utilidade Derive_Constraints e os pasos do Apéndice C: Derive Restraints no nivel de compoñente SDC file.
Garda o file a un nome diferente e importar o SDC file á ferramenta de síntese, á ferramenta de localización e ruta e ás verificacións de tempo, como calquera outra restrición SDC files.
7.1.1 SDC derivada File (Fai unha pregunta)
#Isto file foi xerado a partir da seguinte fonte 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_INITIATOR/DMA_INITIATOR_0/DMA_INITIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
FIC0_INITIATOR/FIC0_INITIATOR_0/FIC0_INITIATOR.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
# *** Calquera modificación neste file perderase se se volven executar as restricións derivadas. ***
create_clock -name {CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK} -período 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} -período 10 [ get_ports { REF_CLK_PAD_P } ] create_clock -name {CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_0PLL_0/TRANSMIT_XNUMXPLL_XNUMX/
DIV_CLK} -período 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_inst_0/
OUT0} -multiplica_por 25 -divide_por 32 -fonte
[ 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_inst_0/pll_C0_XNUMX_XNUMX/pll
OUT1} -multiplica_por 25 -divide_por 32 -fonte
[ 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_inst_0/pll_C0_XNUMX_XNUMX/pll
OUT2} -multiplica_por 25 -divide_por 32 -fonte
[ 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_inst_0/pll_C0_XNUMX_XNUMX/pll
OUT3} -multiplica_por 25 -divide_por 64 -fonte
[ 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/ICLK_CD_0/ICLK_CD_XNUMX/
Y_DIV} -divide_by 2 -source
[ 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_to_CLK_0MHz/CLK_DIV_0/DIV_CD set_false_path -through [ get_nets { DMA_INITIATOR_inst_0/ARESETN* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_XNUMX/*/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 [ get_cells { 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_0/PCIE_C0
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 -desde [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/TL_CLK } ] set_false_path -through [ get_nets {PCIE_TIATORARE]
Apéndice B—Importación de bibliotecas de simulación ao entorno de simulación (Fai unha pregunta)
O simulador predeterminado para a simulación RTL con Libero SoC é ModelSim ME Pro.
As bibliotecas precompiladas para o simulador predeterminado están dispoñibles coa instalación de Libero no directorio /Designer/lib/modelsimpro/precompiled/vlog for® familias admitidas. Libero SoC tamén admite outras edicións de simuladores de terceiros de ModelSim, Questasim, VCS, Xcelium
, Active HDL e Riviera Pro. Descarga as respectivas bibliotecas precompiladas de Libero SoC v12.0 e posterior baseado no simulador e na súa versión.
Similar ao ambiente de Libero, run.do file debe crearse para executar a simulación fóra de Libero.
Crea un sinxelo run.do file que ten comandos para establecer a biblioteca para os resultados de compilación, mapeo de biblioteca, compilación e simulación. Siga os pasos para crear un run.do básico file.
- Cree unha biblioteca lóxica para almacenar os resultados da compilación usando o comando vlib vlib presynth.
- Asigne o nome da biblioteca lóxica ao directorio da biblioteca precompilado mediante o comando vmap vmap .
- Compilar fonte files: use comandos do compilador específicos da linguaxe para compilar o deseño files no directorio de traballo.
– vlog para .v/.sv
– vcom para .vhd - Cargue o deseño para a simulación mediante o comando vsim especificando o nome de calquera módulo de nivel superior.
- Simula o deseño usando o comando Run.
Despois de cargar o deseño, o tempo de simulación establécese en cero e pode introducir o comando de execución para comezar a simulación.
Na xanela de transcrición do simulador, executa run.do file como run.do executar a simulación. Sample run.do file do seguinte xeito.
establecer silenciosamente ACTELLIBNAME PolarFire configurar silenciosamente PROJECT_DIR "W:/Test/basic_test" se
{[file existe presynth/_info]} { echo “INFO: Biblioteca de simulación existe presynth” } else
{ file delete -force presynth vlib presynth } vmap presynth presynth vmap PolarFire
“X:/Libero/Designer/lib/modelsimpro/precompiled/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 presinth -t 1ps presynth.tb engadir onda /tb/*
executar 1000ns log /tb/* exit
Apéndice C—Derivar restricións (Fai unha pregunta)
Este apéndice describe os comandos Derive Constraints Tcl.
9.1 Comandos de derivación de restricións Tcl (Fai unha pregunta)
A utilidade derive_constraints axúdache a derivar restricións do RTL ou do configurador fóra do contorno de deseño de Libero SoC. Para xerar restricións para o teu deseño, necesitas o User HDL, Component HDL e Component Constraints files. As restricións dos compoñentes da SDC files están dispoñibles baixo /compoñente/traballo/ / / directorio despois da configuración e xeración dos compoñentes.
Restricción de cada compoñente file consiste no comando set_component tcl (especifica o nome do compoñente) e a lista de restricións xeradas despois da configuración. As restricións xéranse en función da configuración e son específicas para cada compoñente.
Example 9-1. Restricción de compoñentes File para o núcleo PF_CCC
Aquí está un example dunha restrición de compoñente file para o núcleo PF_CCC:
set_component PF_CCC_C0_PF_CCC_C0_0_PF_CCC
# Microchip Corp.
# Data: 2021 de outubro de 26 04:36:00
# Reloxo base para 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 e create_generated_clock son restricións de reloxo de referencia e de saída respectivamente, que se xeran en función da configuración.
9.1.1 Traballando coa utilidade derive_constraints (Fai unha pregunta)
Deriva as restricións que atravesan o deseño e asigne novas restricións para cada instancia de compoñente en función do compoñente SDC proporcionado previamente files. Para os reloxos de referencia CCC, propágase cara atrás polo deseño para atopar a orixe do reloxo de referencia. Se a fonte é unha E/S, a restrición do reloxo de referencia establecerase na E/S. Se é unha saída CCC ou outra fonte de reloxo (por exemploample, Transceiver, oscilador), usa o reloxo do outro compoñente e informa dun aviso se os intervalos non coinciden. As restricións derivadas tamén asignarán restricións para algunhas macros como osciladores no chip se as tes no teu RTL.
Para executar a utilidade derive_constraints, debes proporcionar un .tcl file argumento da liña de comandos coa seguinte información na orde especificada.
- Especifique a información do dispositivo utilizando a información da sección set_device.
- Especifique o camiño ao RTL files usando a información da sección read_verilog ou read_vhdl.
- Establece o módulo de nivel superior usando a información da sección set_top_level.
- Especifique o camiño ao compoñente SDC files usando a información da sección read_sdc ou read_ndc.
- Executar o files usando a información da sección derive_constraints.
- Especifique o camiño ás restricións derivadas do SDC file utilizando a información da sección write_sdc ou write_pdc ou write_ndc.
Example 9-2. Execución e contidos do deriva.tcl File
O seguinte é un example argumento da liña de comandos para executar a utilidade derive_constraints.
$ /bin{64}/derive_constraints derive.tcl
O contido da deriva.tcl file:
# Información do dispositivo
set_device -family PolarFire -die MPF100T -velocidade -1
# Dereita á dereita files
read_verilog -mode system_verilog project/component/work/txpll0/
txpll0_txpll0_0_PF_TX_PLL.v
read_verilog -mode system_verilog {proxecto/componente/traballo/txpll0/txpll0.v}
read_verilog -mode system_verilog {proxecto/componente/traballo/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.v}
read_verilog -mode system_verilog {proxecto/componente/traballo/xcvr0/xcvr0.v}
read_vhdl -mode vhdl_2008 {project/hdl/xcvr1.vhd}
#Compoñente SDC files
set_top_level {xcvr1}
read_sdc -componente {proxecto/componente/traballo/txpll0/txpll0_0/
txpll0_txpll0_0_PF_TX_PLL.sdc}
read_sdc -componente {proxecto/componente/traballo/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.sdc}
#Use o comando derive_constraint
derivar_restricións
Resultado #SDC/PDC/NDC files
write_sdc {proxecto/constraint/xcvr1_derived_constraints.sdc}
write_pdc {proxecto/constraint/fp/xcvr1_derived_constraints.pdc}
9.1.2 set_device (Fai unha pregunta)
Descrición
Especifique o nome de familia, o nome da matriz e o grao de velocidade.
set_device -family -morrer - velocidade
Argumentos
Parámetro | Tipo | Descrición |
-familia | Corda | Especifique o apelido. Os valores posibles son PolarFire®, PolarFire SoC. |
-morrer | Corda | Especifique o nome da matriz. |
- velocidade | Corda | Especifique o grao de velocidade do dispositivo. Os valores posibles son STD ou -1. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Parámetro obrigatorio: falta o dado | A opción de matriz é obrigatoria e debe especificarse. |
ERR 0005 | Die descoñecido 'MPF30' | O valor da opción -die non é correcto. Vexa a posible lista de valores na descrición da opción. |
ERR 0023 | Parámetro: falta un valor | A opción de matriz especifícase sen valor. |
ERR 0023 | Parámetro obrigatorio: falta a familia | A opción familiar é obrigatoria e hai que especificala. |
ERR 0004 | Familia descoñecida 'PolarFire®' | A opción familiar non é correcta. Vexa a posible lista de valores na descrición da opción. |
………… continuou | ||
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Parámetro: falta un valor da familia | A opción familiar especifícase sen valor. |
ERR 0023 | Parámetro necesario: falta a velocidade | A opción de velocidade é obrigatoria e debe especificarse. |
ERR 0007 | Velocidade descoñecida ' ' | A opción de velocidade non é correcta. Vexa a posible lista de valores na descrición da opción. |
ERR 0023 | Parámetro: falta un valor de velocidade | A opción de velocidade especifícase sen valor. |
Example
set_device -family {PolarFire} -die {MPF300T_ES} -speed -1
set_device -family SmartFusion 2 -die M2S090T -speed -1
9.1.3 read_verilog (Fai unha pregunta)
Descrición
Ler un Verilog file usando Verific.
read_verilog [-lib ] [-modo ]filenome>
Argumentos
Parámetro | Tipo | Descrición |
-lib | Corda | Especifique a biblioteca que contén os módulos que se van engadir á biblioteca. |
-modo | Corda | Especifique o estándar de Verilog. Os valores posibles son verilog_95, verilog_2k, system_verilog_2005, system_verilog_2009, system_verilog, verilog_ams, verilog_psl, system_verilog_mfcu. Os valores non distinguen maiúsculas e minúsculas. O valor predeterminado é verilog_2k. |
filenome | Corda | Verilog file nome. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Parámetro: falta un valor de lib | A opción lib especifícase sen valor. |
ERR 0023 | Parámetro: falta un valor ao modo | A opción de modo especifícase sen valor. |
ERR 0015 | Modo descoñecido ' ' | Descoñécese o modo de verilog especificado. Consulte a lista de posibles modos verilog en—descrición da opción de modo. |
ERR 0023 | Parámetro necesario file falta o nome | Sen verilog file ofrécese o camiño. |
ERR 0016 | Produciuse un erro debido ao analizador de Verific | Erro de sintaxe en verilog file. O analizador de Verific pódese observar na consola enriba da mensaxe de erro. |
ERR 0012 | set_device non se chama | Non se especifica a información do dispositivo. Use o comando set_device para describir o dispositivo. |
Example
read_verilog -mode system_verilog {component/work/top/top.v}
read_verilog -mode system_verilog_mfcu design.v
9.1.4 read_vhdl (Fai unha pregunta)
Descrición
Engade un VHDL file na lista de VHDL files.
read_vhdl [-lib ] [-modo ]filenome>
Argumentos
Parámetro | Tipo | Descrición |
-lib | — | Especifique a biblioteca na que se debe engadir o contido. |
-modo | — | Especifica o estándar VHDL. O valor predeterminado é VHDL_93. Os valores posibles son vhdl_93, vhdl_87, vhdl_2k, vhdl_2008, vhdl_psl. Os valores non distinguen maiúsculas e minúsculas. |
filenome | — | VHDL file nome. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Parámetro: falta un valor de lib | A opción lib especifícase sen valor. |
ERR 0023 | Parámetro: falta un valor ao modo | A opción de modo especifícase sen valor. |
ERR 0018 | Modo descoñecido ' ' | Descoñécese o modo VHDL especificado. Consulte a lista dos posibles modos VHDL en—descrición da opción de modo. |
ERR 0023 | Parámetro necesario file falta o nome | Sen VHDL file ofrécese o camiño. |
ERR 0019 | Non se puido rexistrar invalid_path.v file | O VHDL especificado file non existe ou non ten permisos de lectura. |
ERR 0012 | set_device non se chama | Non se especifica a información do dispositivo. Use o comando set_device para describir o dispositivo. |
Example
read_vhdl -mode vhdl_2008 osc2dfn.vhd
read_vhdl {hdl/top.vhd}
9.1.5 set_top_level (Fai unha pregunta)
Descrición
Especifique o nome do módulo de nivel superior en RTL.
set_top_level [-lib ]
Argumentos
Parámetro | Tipo | Descrición |
-lib | Corda | A biblioteca para buscar o módulo ou entidade de nivel superior (Opcional). |
nome | Corda | O módulo de nivel superior ou o nome da entidade. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Falta o nivel superior do parámetro necesario | A opción de nivel superior é obrigatoria e debe especificarse. |
ERR 0023 | Parámetro: falta un valor de lib | A opción lib especifícase sen valores. |
ERR 0014 | Non se pode atopar o nivel superior na biblioteca | O módulo de nivel superior especificado non está definido na biblioteca proporcionada. Para corrixir este erro, hai que corrixir o nome do módulo superior ou da biblioteca. |
ERR 0017 | Produciuse un erro | Erro no proceso de elaboración de RTL. A mensaxe de erro pódese observar desde a consola. |
Example
set_top_level {top}
set_top_level -lib hdl top
9.1.6 read_sdc (Fai unha pregunta)
Descrición
Ler un SDC file na base de datos de compoñentes.
compoñente read_sdcfilenome>
Argumentos
Parámetro | Tipo | Descrición |
-compoñente | — | Esta é unha marca obrigatoria para o comando read_sdc cando derivamos restricións. |
filenome | Corda | Camiño á SDC file. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Parámetro necesario file falta o nome. | A opción obrigatoria file non se especifica o nome. |
ERR 0000 | SDC file <file_path> non é lexible. | O SDC especificado file non ten permisos de lectura. |
ERR 0001 | Non se puido abrirfile_ruta> file. | A SDC file non existe. Hai que corrixir o camiño. |
ERR 0008 | Falta o comando set_componentfile_ruta> file | O compoñente especificado de SDC file non especifica o compoñente. |
Código de erro | Mensaxe de erro | Descrición |
ERR 0009 | <List of errors from sdc file> | A SDC file contén comandos sdc incorrectos. Por example,
cando hai un erro en set_multicycle_path constraint: Erro ao executar o comando read_sdc: enfile_ruta> file: Erro no comando set_multicycle_path: parámetro descoñecido [get_cells {reg_a}]. |
Example
read_sdc -component {./component/work/ccc0/ccc0_0/ccc0_ccc0_0_PF_CCC.sdc}
9.1.7 read_ndc (Fai unha pregunta)
Descrición
Ler un NDC file na base de datos de compoñentes.
read_ndc -componentefilenome>
Argumentos
Parámetro | Tipo | Descrición |
-compoñente | — | Esta é unha marca obrigatoria para o comando read_ndc cando derivamos restricións. |
filenome | Corda | Camiño ao NDC file. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0001 | Non se puido abrirfile_ruta> file | O NDC file non existe. Hai que corrixir o camiño. |
ERR 0023 | Parámetro necesario: falta AtclParamO_. | A opción obrigatoria filenon se especifica o nome. |
ERR 0023 | Parámetro necesario: falta o compoñente. | A opción de compoñentes é obrigatoria e debe especificarse. |
ERR 0000 | NDC file 'file_path>' non é lexible. | O NDC especificado file non ten permisos de lectura. |
Example
read_ndc -componente {component/work/ccc1/ccc1_0/ccc_comp.ndc}
9.1.8 derivar_constraints (Fai unha pregunta)
Descrición
Instancia o compoñente SDC files na base de datos a nivel de deseño.
derivar_restricións
Argumentos
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0013 | O nivel superior non está definido | Isto significa que non se especifica o módulo ou entidade de nivel superior. Para solucionar esta chamada, emita o comando set_top_level antes do comando derive_constraints. |
Example
derivar_restricións
9.1.9 write_sdc (Fai unha pregunta)
Descrición
Escribe unha restrición file en formato SDC.
escribir_sdcfilenome>
Argumentos
Parámetro | Tipo | Descrición |
<filenome> | Corda | Camiño á SDC file xerarase. Esta é unha opción obrigatoria. Se o file existe, sobrescribirase. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0003 | Non se puido abrirfile camiño> file. | File o camiño non é correcto. Comproba se existen os directorios principais. |
ERR 0002 | SDC file 'file ruta>' non se pode escribir. | O SDC especificado file non ten permiso de escritura. |
ERR 0023 | Parámetro necesario file falta o nome. | A SDC file o camiño é unha opción obrigatoria e debe especificarse. |
Example
write_sdc "derivado.sdc"
9.1.10 write_pdc (Fai unha pregunta)
Descrición
Escribe restricións físicas (só Derive Constraints).
escribir_pdcfilenome>
Argumentos
Parámetro | Tipo | Descrición |
<filenome> | Corda | Camiño ao PDC file xerarase. Esta é unha opción obrigatoria. Se o file ruta existe, sobrescribirase. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxes de erro | Descrición |
ERR 0003 | Non se puido abrirfile camiño> file | O file o camiño non é correcto. Comproba se existen os directorios principais. |
ERR 0002 | PDC file 'file ruta>' non se pode escribir. | O PDC especificado file non ten permiso de escritura. |
ERR 0023 | Parámetro necesario file falta o nome | O PDC file o camiño é unha opción obrigatoria e debe especificarse. |
Example
write_pdc "derivado.pdc"
9.1.11 write_ndc (Fai unha pregunta)
Descrición
Escribe as restricións NDC en a file.
escribir_ndcfilenome>
Argumentos
Parámetro | Tipo | Descrición |
filenome | Corda | Camiño ao NDC file xerarase. Esta é unha opción obrigatoria. Se o file existe, sobrescribirase. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxes de erro | Descrición |
ERR 0003 | Non se puido abrirfile_ruta> file. | File o camiño non é correcto. Os directorios principais non existen. |
ERR 0002 | NDC file 'file_path>' non se pode escribir. | O NDC especificado file non ten permiso de escritura. |
ERR 0023 | Falta o parámetro obrigatorio _AtclParamO_. | O NDC file o camiño é unha opción obrigatoria e debe especificarse. |
Example
write_ndc "derivado.ndc"
9.1.12 add_include_path (Fai unha pregunta)
Descrición
Especifica un camiño para incluír a busca files ao ler RTL files.
add_include_path
Argumentos
Parámetro | Tipo | Descrición |
directorio | Corda | Especifica un camiño para incluír a busca files ao ler RTL files. Esta opción é obrigatoria. |
Tipo de retorno | Descrición |
0 | O comando realizouse correctamente. |
Tipo de retorno | Descrición |
1 | O comando fallou. Hai un erro. Podes ver a mensaxe de erro na consola. |
Lista de erros
Código de erro | Mensaxe de erro | Descrición |
ERR 0023 | Falta o camiño de inclusión do parámetro necesario. | A opción de directorio é obrigatoria e debe proporcionarse. |
Nota: Se a ruta do directorio non é correcta, entón add_include_path pasarase sen erro.
Non obstante, os comandos read_verilog/read_vhd fallarán debido ao analizador de Verific.
Example
add_include_path component/work/COREABC0/COREABC0_0/rtl/vlog/core
Historial de revisións (Fai unha pregunta)
O historial de revisións describe os cambios que se implementaron no documento. Os cambios están listados por revisión, comezando pola publicación máis recente.
Revisión | Data | Descrición |
F | 08/2024 | Nesta revisión realízanse os seguintes cambios: • Sección actualizada Apéndice B—Importación de bibliotecas de simulación ao contorno de simulación. |
E | 08/2024 | Nesta revisión realízanse os seguintes cambios: • Sección actualizada Overview. • Sección actualizada SDC derivada File. • Sección actualizada Apéndice B—Importación de bibliotecas de simulación ao contorno de simulación. |
D | 02/2024 | Este documento publícase con Libero 2024.1 SoC Design Suite sen cambios desde v2023.2. Sección actualizada Traballar coa utilidade derive_constraints |
C | 08/2023 | Este documento publícase con Libero 2023.2 SoC Design Suite sen cambios desde v2023.1. |
B | 04/2023 | Este documento publícase con Libero 2023.1 SoC Design Suite sen cambios desde v2022.3. |
A | 12/2022 | Revisión inicial. |
Soporte de microchip FPGA
O grupo de produtos Microchip FPGA respalda os seus produtos con varios servizos de soporte, incluíndo o servizo de atención ao cliente, o centro de asistencia técnica ao cliente, un websitio e oficinas de vendas en todo o mundo.
Recoméndase aos clientes que visiten os recursos en liña de Microchip antes de poñerse en contacto co servizo de asistencia, xa que é moi probable que as súas consultas xa teñan resposta.
Contacte con el Centro de Soporte Técnico a través de websitio en www.microchip.com/support. Mencione o número de peza do dispositivo FPGA, seleccione a categoría de caso adecuada e cargue o deseño files ao crear un caso de soporte técnico.
Póñase en contacto co servizo de atención ao cliente para obter asistencia técnica sobre o produto, como prezos dos produtos, actualizacións de produtos, información de actualización, estado do pedido e autorización.
- Desde América do Norte, chame ao 800.262.1060
- Desde o resto do mundo, chame ao 650.318.4460
- Fax, dende calquera parte do mundo, 650.318.8044
Información do microchip
O Microchip Websitio
Microchip ofrece soporte en liña a través do noso websitio en www.microchip.com/. Isto websitio úsase para facer files e información facilmente dispoñible para os clientes. Algúns dos contidos dispoñibles inclúen:
- Soporte ao produto: follas de datos e erratas, notas de aplicación e sample programas, recursos de deseño, guías de usuario e documentos de soporte de hardware, últimas versións de software e software arquivado
- Soporte técnico xeral: preguntas máis frecuentes (FAQ), solicitudes de soporte técnico, grupos de discusión en liña, lista de membros do programa de socios de deseño de Microchip
- Negocio de Microchip: guías de selección de produtos e pedidos, últimos comunicados de prensa de Microchip, listado de seminarios e eventos, listados de oficinas de vendas, distribuidores e representantes de fábrica de Microchip.
Servizo de notificación de cambios de produto
O servizo de notificación de cambios de produtos de Microchip axuda a manter os clientes ao día dos produtos de Microchip. Os subscritores recibirán unha notificación por correo electrónico sempre que haxa cambios, actualizacións, revisións ou erratas relacionadas cunha familia de produtos especificada ou ferramenta de desenvolvemento de interese. Para rexistrarte, vai a www.microchip.com/pcn e siga as instrucións de rexistro.
Atención ao cliente
Os usuarios de produtos Microchip poden recibir asistencia a través de varias canles:
- Distribuidor ou Representante
- Oficina local de vendas
- Enxeñeiro de solucións integradas (ESE)
- Soporte técnico
Os clientes deben contactar co seu distribuidor, representante ou ESE para obter asistencia. As oficinas de vendas locais tamén están dispoñibles para axudar aos clientes. Neste documento inclúese unha lista de oficinas de vendas e locais. O soporte técnico está dispoñible a través de websitio en: www.microchip.com/support
Función de protección de código de dispositivos de microchip
Teña en conta os seguintes detalles da función de protección de código nos produtos Microchip:
- Os produtos de microchip cumpren as especificacións contidas na súa ficha de datos de microchip.
- Microchip considera que a súa familia de produtos é segura cando se usa da forma prevista, dentro das especificacións de funcionamento e en condicións normais.
- Microchip valora e protexe agresivamente os seus dereitos de propiedade intelectual. Os intentos de incumprir as funcións de protección do código do produto Microchip están estrictamente prohibidos e poden infrinxir a Digital Millennium Copyright Act.
- Nin Microchip nin ningún outro fabricante de semicondutores poden garantir a seguridade do seu código. A protección do código non significa que esteamos garantindo que o produto sexa "irrompible". A protección do código está en constante evolución. Microchip comprométese a mellorar continuamente as funcións de protección do código dos nosos produtos.
Aviso Legal
Esta publicación e a información que aparece aquí só poden usarse con produtos Microchip, incluso para deseñar, probar e integrar produtos Microchip coa súa aplicación. O uso desta información de calquera outra forma viola estes termos. A información relativa ás aplicacións do dispositivo ofrécese só para a súa comodidade e pode ser substituída por actualizacións. É a súa responsabilidade asegurarse de que a súa aplicación cumpre coas súas especificacións. Póñase en contacto coa súa oficina local de vendas de Microchip para obter asistencia adicional ou obtén soporte adicional en www.microchip.com/en-us/support/design-help/client-support-services.
ESTA INFORMACIÓN ESTÁ PROPORCIONADA POR MICROCHIP "TAL CUAL". MICROCHIP NON OFRECE DECLARACIÓNS OU GARANTÍAS DE NINGÚN TIPO, XA EXPRESA OU IMPLÍCITA, ESCRITA OU ORAL, LEGAL OU DE OUTRO MODO, RELACIONADA COA INFORMACIÓN INCLUÍDA PERO NON LIMITADA A NINGÚN TIPO DE GARANTÍAS IMPLÍCITAS DE NON INFRACCIÓN, COMERCIALIZACIÓN E GARANTÍA DE COMERCIABILIDADE, GARANTÍA DE COMERCIABILIDADE E PARTICIPACIÓN. RELACIONADO CO SEU ESTADO, CALIDADE OU RENDEMENTO. EN NINGÚN CASO MICROCHIP SERÁ RESPONSABLE DE NINGÚN TIPO DE PERDA, DANO, CUSTO OU GASTO INDIRECTO, ESPECIAL, PUNITIVO, INCIDENTAL OU CONSECUENCIAL DE NINGÚN TIPO RELACIONADO COA INFORMACIÓN OU O SEU USO, AÍNDA QUE SEXA O CAUSADO QUE SEXA O SEU ADVERTENCIA. A POSIBILIDADE OU OS DANOS SON PREVISIBLES. NA MÁXIMA MEDIDA PERMITIDA POLA LEI, A RESPONSABILIDADE TOTAL DE MICROCHIP SOBRE TODAS LAS RECLAMACIONS DE CALQUERA FORMA RELACIONADAS COA INFORMACIÓN OU O SEU USO NON SUPERARÁ O IMPORTE DAS TAXAS, SE HOXE, QUE TIÑAS PAGADO DIRECTAMENTE A MICROCHIP POLA INFORMACIÓN.
O uso de dispositivos Microchip en aplicacións de soporte vital e/ou de seguridade corre totalmente a risco do comprador, e o comprador comprométese a defender, indemnizar e exercer a Microchip de calquera dano, pretensión, traxe ou gasto que resulte dese uso. Non se transmite ningunha licenza, implícita ou doutra forma, baixo ningún dereito de propiedade intelectual de Microchip a menos que se indique o contrario.
Marcas comerciais
O nome e o logotipo de Microchip, o logotipo de Microchip, Adaptec, AVR, logotipo de AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStyluuchs, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron e XMEGA son marcas rexistradas de Microchip Technology Incorporated nos EUA e noutros países.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider e ZL son marcas rexistradas de Microchip Technology Incorporated nos EUA.
Supresión de teclas adxacentes, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Averagenet, Dynamic Matching. , DAM, ECAN, Espresso T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge, IGaT, Programación en serie en circuito, ICSP, INICnet, Paralelo intelixente, IntelliMOS, Conectividade entre chips, JitterBlocker, Knob-on-Display, MarginLink, maxC, máxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, 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 , Trusted Time, TSHARC, Turing, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect e ZENA son marcas comerciais de Microchip Technology Incorporated nos EUA e noutros países.
SQTP é unha marca de servizo de Microchip Technology Incorporated nos EUA
O logotipo de Adaptec, Frequency on Demand, Silicon Storage Technology e Symmcom son marcas rexistradas de Microchip Technology Inc. noutros países.
GestIC é unha marca rexistrada de Microchip Technology Germany II GmbH & Co. KG, unha subsidiaria de Microchip Technology Inc., noutros países.
Todas as outras marcas rexistradas aquí mencionadas son propiedade das súas respectivas compañías.
2024, Microchip Technology Incorporated e as súas filiais. Todos os dereitos reservados.
ISBN: 978-1-6683-0183-8
Sistema de Xestión da Calidade
Para obter información sobre os sistemas de xestión da calidade de Microchip, visite www.microchip.com/quality.
Vendas e servizo no mundo
AMÉRICAS | ASIA/PACÍFICO | ASIA/PACÍFICO | EUROPA |
Oficina Corporativa 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Soporte técnico: www.microchip.com/support Web Enderezo: 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 Os Ánxeles 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 |
Australia - Sidney Teléfono: 61-2-9868-6733 China - Pequín Teléfono: 86-10-8569-7000 China - Chengdu Teléfono: 86-28-8665-5511 China - Chongqing Teléfono: 86-23-8980-9588 China - Dongguan Teléfono: 86-769-8702-9880 China - Guangzhou Teléfono: 86-20-8755-8029 China - Hangzhou Teléfono: 86-571-8792-8115 China - Hong Kong RAE Teléfono: 852-2943-5100 China - Nanjing Teléfono: 86-25-8473-2460 China - Qingdao Teléfono: 86-532-8502-7355 China - Shanghai Teléfono: 86-21-3326-8000 China - Shenyang Teléfono: 86-24-2334-2829 China - Shenzhen Teléfono: 86-755-8864-2200 China - Suzhou Teléfono: 86-186-6233-1526 China - Wuhan Teléfono: 86-27-5980-5300 China - Xian Teléfono: 86-29-8833-7252 China - Xiamen Teléfono: 86-592-2388138 China - Zhuhai Teléfono: 86-756-3210040 |
India - Bangalore Teléfono: 91-80-3090-4444 India - Nova Deli Teléfono: 91-11-4160-8631 India - Pune Teléfono: 91-20-4121-0141 Xapón - Osaka Teléfono: 81-6-6152-7160 Xapón - Tokio Teléfono: 81-3-6880- 3770 Corea - Daegu Teléfono: 82-53-744-4301 Corea - Seúl Teléfono: 82-2-554-7200 Malaisia – Kuala Lumpur Teléfono: 60-3-7651-7906 Malaisia - Penang Teléfono: 60-4-227-8870 Filipinas - Manila Teléfono: 63-2-634-9065 Singapur Teléfono: 65-6334-8870 Taiwán – Hsin Chu Teléfono: 886-3-577-8366 Taiwán – Kaohsiung Teléfono: 886-7-213-7830 Taiwán – Taipei Teléfono: 886-2-2508-8600 Tailandia - Bangkok Teléfono: 66-2-694-1351 Vietnam - Ho Chi Minh Teléfono: 84-28-5448-2100 |
Austria - Wels Teléfono: 43-7242-2244-39 Fax: 43-7242-2244-393 Dinamarca - Copenhague Teléfono: 45-4485-5910 Fax: 45-4485-2829 Finlandia – Espoo Teléfono: 358-9-4520-820 Francia - París Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Alemaña - Garching Teléfono: 49-8931-9700 Alemaña - Haan Teléfono: 49-2129-3766400 Alemaña - Heilbronn Teléfono: 49-7131-72400 Alemaña - Karlsruhe Teléfono: 49-721-625370 Alemaña - Múnic Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Alemaña - Rosenheim Teléfono: 49-8031-354-560 Israel – Hod Hasharon Teléfono: 972-9-775-5100 Italia - Milán Teléfono: 39-0331-742611 Fax: 39-0331-466781 Italia - Padua Teléfono: 39-049-7625286 Países Baixos - Drunen Teléfono: 31-416-690399 Fax: 31-416-690340 Noruega - Trondheim Teléfono: 47-72884388 Polonia - Varsovia Teléfono: 48-22-3325737 Romanía - Bucarest Tel: 40-21-407-87-50 España – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Suecia - Gothenberg Tel: 46-31-704-60-40 Suecia - Estocolmo Teléfono: 46-8-5090-4654 Reino Unido - Wokingham Teléfono: 44-118-921-5800 Fax: 44-118-921-5820 |
Documentos/Recursos
![]() |
MICROCHIP DS00004807F PolarFire Family FPGA Custom Flow [pdfGuía do usuario DS00004807F PolarFire Family FPGA Custom Flow, DS00004807F, PolarFire Family FPGA Custom Flow, Familia FPGA Custom Flow, Custom Flow, Flow |