Utilicé $ fopen, $ fclose y $ fwrite en mi código verilog. Funcionó con simulación, pero cuando hice la implementación de FPGA no está funcionando. Mi pregunta es que estos trabajos con implementación de FPGA también o no?
Utilicé $ fopen, $ fclose y $ fwrite en mi código verilog. Funcionó con simulación, pero cuando hice la implementación de FPGA no está funcionando. Mi pregunta es que estos trabajos con implementación de FPGA también o no?
SystemVerilog es un lenguaje de verificación y descripción de hardware que tiene enlaces con el sistema operativo host que ejecuta la simulación. Ninguno de estos ganchos está disponible para usted en el hardware real. Sin embargo, si está ejecutando su FPGA en una placa de desarrollo, entonces es posible que el proveedor de FPGA le proporcione enlaces para descargar sus recuerdos en un archivo.
No, obviamente no, ¿cómo podría? Ninguna de las extensiones $
lo hace.
La mayoría de las herramientas de síntesis no admiten el soporte de lectura / escritura. Algunos de ellos informan que el uso de tales funciones es un error, otros ignoran dicha declaración o incluso no implementan Std.TextIO
.
Xilinx ISE admite lectura / escritura en VHDL (no he probado Verilog).
Xilinx Vivado tiene algunos problemas con el archivo i / o.
Consenso común contrario, hay buenos casos de uso para el archivo i / o en el momento de la síntesis:
Caso de uso 2:
Es posible exportar codificaciones FSM, codificaciones de enumeración y más a archivos * .tok, que pueden leerse en el ChipScope de Xilinx, para mostrar señales complejas como estados FSM como un nombre en la forma de onda.
Caso de uso 3:
Es posible exportar la asignación de dirección de bus a registro de dispositivo de un diseño SoC como una lista de definiciones constantes en lenguaje ensamblador. Este archivo se puede incluir en el proyecto de montaje. Por lo tanto, si el diseñador asigna un dispositivo SoC a otro rango de direcciones, la asignación de registro en el ensamblaje se actualizará en la siguiente ejecución de síntesis.
Lea otras preguntas en las etiquetas fpga verilog system-verilog virtex-series-fpga