Pregunta

Actualmente estoy probando algunos RTL, estoy usando ncverilog, y es muy ... muy lento. He oído decir que, si utilizamos algún tipo de tarjetas FPGA, entonces las cosas serán más rápidos. ¿Es de verdad?

¿Fue útil?

Solución

Estamos hablando de dos cosas diferentes.

NCVerilog es una herramienta de simulación, mientras que una tarjeta FPGA es hardware real. Por lo tanto, habrá diferencias. hardware real será generalmente más rápido pero con un simulador, se puede tener todo tipo de depuración divertido. Tratando de sondear una señal específica, es simplemente una cuestión de añadir una línea en el banco de pruebas. Además, se puede hacer fácilmente cambios en el modelo simulado en lugar de tener que rediseñar la tarjeta FPGA.

Si se ejecuta la simulación en una máquina lo suficientemente poderosa, a veces se puede aproximada funcionamiento del mundo real (suponiendo que la FPGA es un proceso lento).

En general, usted debe hacer ambas cosas. Utilizar un simulador para hacer su desarrollo básico y evaluación. Pasar a su hardware FPGA una vez que su diseño está suficientemente bien definido.

Otros consejos

Hemos tenido los mismos problemas con la velocidad de simulación también. Sin embargo, nos quedamos con simulaciones para la mayoría de nuestra verificación. Cada cheques sim una función específica y son mucho más rápido que Sims a nivel de sistema. También les hemos hecho auto-comprobación y son útiles para las pruebas de regresiones (unidad de pruebas).

Para las pruebas del sistema largos en señales del mundo real que tienen demasiado tiempo para simular, nos movemos éstos a la FPGA, si podemos. Tenemos que manualmente volver a comprobar todos estos casos de prueba de nuevo después de los cambios de código, por lo que puede ser lento en su propio camino.

A veces, sin embargo, FPGAing un diseño no es sólo factible. A veces los diseños completos son demasiado grandes para caber en una FPGA, o la frecuencia de reloj es demasiado alto. Pero recuerda que no necesariamente tiene que FPGA toda su diseño, puede ser suficiente para que el bloque importante que le interesa y mira esto completamente.

Puede rastrear la actividad en las señales en un diseño de FPGA utilizando corriendo "Analizador lógico incrustados" herramientas de software como Altera o Xilinx SignalTap ChipScope. Antes de sintetizar / mapear su RTL al dispositivo, deberá utilizar estas herramientas para conectar sondas blandas a las señales que desea ver. Puede configurar disparadores de manera que los valores de una señal única sesión de usuario bajo ciertas condiciones. A continuación, se genera el archivo de bits y programar el dispositivo con JTAG. El analizador lógico comunica con su PC a través de JTAG y registra la actividad en su sondas, que luego se puede analizar.

Es un poco complicado de configurar, ya que estas herramientas no son especialmente fáciles de usar, pero obtendrá resultados mucho más rápido que con la simulación RTL.

¿Qué tipo de RTL estás poniendo a prueba? Si utiliza tarjetas FPGA, entonces se puede compilar su código siempre que disponga de la herramienta adecuada para la FPGA derecha. Desde FPGA son reprograammable, entonces, por supuesto, se puede probar el código en el tablero, y tienen el objetivo (FPGA) ejecutar su código (RTL)

Pero no es más una simulación, es una prueba, con un hardware determinado, a una velocidad de reloj dada. Y no obtiene buen resultado en la pantalla, es necesario utilizar la sonda física y alcance. Además de que no se llega a ver cómo el interior de su código está trabajando.

Verilog o VHDL simulación es algo así como la ejecución de código utilizando un depurador. prueba FPGA es más como la depuración de printf. La gran diferencia es que cuando la simulación, la CPU tiene que simular el comportamiento de todos aquellos puerta lógica que resulta de su código. En la FPGA, no hay simulación, que acaba de 'correr' el código, por lo que es mucho más rápido, pero hay menos información.

Debe utilizar la simulación de componentes muy pequeños, y luego probar todo el programa en un FPGA.

Probablemente se esté preguntando por aceleradores de simulación de hardware. He aquí uno de ellos: GateRocket

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top