¿Do $ fopen y $ fwrite también funcionan con la implementación de FPGA?

-2

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?

    
pregunta SW.

3 respuestas

2

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.

    
respondido por el dave_59
1

No, obviamente no, ¿cómo podría? Ninguna de las extensiones $ lo hace.

    
respondido por el pjc50
1

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:

  1. contenido de lectura para ROM
  2. escribir información para propósitos de depuración en el disco
  3. exportación de direcciones y registros de registro
  4. ...

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.

    
respondido por el Paebbels

Lea otras preguntas en las etiquetas