FPGA: ¿cuál es la entrada de Timing y la simulación RTL?

0

Para el diseño FPGA, la compilación del diseño produce un flujo de bits. ¿Cuál es la entrada de la simulación (Timing y RTL)? ¿Es el bitstream en sí? Otro archivo? Específicamente para Altera, ¿cuáles son los formatos posibles para el flujo de bits y cuál es el formato para la entrada de la simulación?

Además, ¿cuál es la síntesis? ¿Es una especie de compilación? ¿Qué son entrada y salida? ¿Es necesario en todos los FPGA? ¿está produciendo un archivo de entrada para la simulación o para cargar en FPGA y depuración de hardware?

    
pregunta octoback

1 respuesta

3

Las entradas a la simulación son siempre un archivo HDL. Para la simulación de comportamiento y, a veces, de RTL, la entrada es un archivo HDL que escribe, que describe el hardware que desea, ya sea a través de su comportamiento, o en un nivel inferior (RTL).

En la actualidad, es normal escribir a un nivel más alto que RTL (describiendo el comportamiento del hardware) con cuidado, puede escribir una descripción de comportamiento que sea sintetizable, por lo que no hay necesidad de preocuparse por RTL.

La simulación de tiempo no es una parte rutinaria del flujo de FPGA, a menos que se esté desviando de las buenas prácticas sincrónicas, o si sospecha un error en la herramienta de síntesis. Con buenas prácticas, diseño sincrónico y restricciones de sincronización correctas, las herramientas de síntesis y backend generarán un hardware de nivel de puerta que coincide con la descripción del comportamiento, y el análisis de la sincronización estática verificará sus temporizaciones mucho más exhaustivamente de lo que usted podría hacerlo mediante la simulación.

Sin embargo, en caso de que lo necesite, la herramienta de síntesis y las herramientas de back-end (lugar / ruta) pueden escribir los diseños sintetizados y enrutados, como HDL de nivel de puerta. Esto es efectivamente el mismo que el flujo de bits, pero escrito, puerta por puerta, en VHDL. Y puede ser de muchos megabytes, lo que lleva a tiempos de simulación muy largos.

Por lo tanto, la entrada a la simulación de tiempo también es un archivo HDL, pero generalmente uno escrito por las herramientas.

La síntesis es un tipo de compilación. Pero en lugar de producir instrucciones de ensamblador, produce una red de puertas y chanclas que implementa el diseño original. Esto suele estar en algún tipo de formato de objeto, aunque se puede escribir como HDL estructural, para simulación de temporización.

Este no es el final del proceso: las herramientas de back-end toman la salida de síntesis y la asignan a puertas específicas en el FPGA, y programan todos los interruptores que controlan el cableado entre las puertas, para interconectarlos. Esta es una tarea desafiante porque puede haber un millón de señales entre puertas, y las herramientas deben garantizar que la mayoría de las señales de tiempo crítico tengan el cableado más rápido (más corto) para cumplir con las restricciones de tiempo que especifique (por ejemplo, desea el diseño). para ejecutar a 200 MHz).

Finalmente, la salida de estas herramientas de back-end es el flujo de bits, que es lo único que necesita para el FPGA. O, para la simulación, otra lista de red HDL, anotada con los retardos de señal reales.

    
respondido por el Brian Drummond

Lea otras preguntas en las etiquetas