¿Cuál es la velocidad real de mi sistema implementado en FPGA? ¿Cómo comprobar este valor?

0

Creé un sistema FPGA en ModelSim (un algoritmo simple que calcula una ecuación y guarda en el chip), se sintetiza con Quartus Prime y luego se descarga en mi DE1-SOC.

Mi intención es comparar mis resultados con una implementación realizada en un documento. En el papel hacen casi el mismo cálculo que yo, y reportan velocidades de alrededor de 15 "ms" mili segundos. No proporcionan velocidad de frecuencia sobre su sistema, sino sobre el procesador NIOS-II, que es de 75 Ghz.

En mi sistema, no uso NIOS-II, sino que llamo altera IP's para Mul, Div etc.

Ahora, no sé exactamente cómo leer mis propios valores de velocidad. Aquí, en este foro, me dijeron que debería mirar el informe de compilación de Quartus Prime, ¿exactamente qué segmento del informe de compilación debería mirar?

Mirando la ola en los modelosim, rastreando cuando termina el cálculo, dice que se completó en términos de "PS" Pico-segundos y la conversión a "ms" tendría menos de 1 milisegundo. Entonces, ¿significa que mi sistema es más rápido que el papel mencionado anteriormente?

Exactamente qué departamento debería ver en el informe de compilación de modelsim para saber la velocidad de mi sistema, también conocido como tiempo de cálculo.

Estos valores provienen de software, ¿estos valores son exactamente los mismos que los que ocurren físicamente en la placa?

    
pregunta sujeto1

1 respuesta

2

Primero, debe averiguar el tiempo máximo permitido para ambos diseños (restringido por la configuración de puertas / tiempos de espera, retardo de propagación, etc.). Esto dependerá de la disposición física en el chip (Quartus generalmente hace un buen trabajo en esto) y de su diseño, especialmente en la profundidad de la lógica que coloca en la entrada de los registros. Más lógica necesita más tiempo para establecerse y el registro necesita una señal establecida antes del siguiente flanco de reloj.

Use Quartus TimeQuest para encontrar ese valor (puede ejecutarse con cada compilación dependiendo de la tarea que elija en Quartus). Por cierto: modelar el tiempo de las conexiones con chip externo es un poco mágico, también depende de las propiedades físicas de la señalización y debes ignorarlo para empezar. Es posible que desee establecer el reloj de Modelsim en este valor, por lo que su eje de tiempo ofrece lecturas realistas.

La siguiente pregunta es sobre rendimiento : cuántos ciclos de reloj se requieren para procesar una cierta cantidad de datos. El NIOS-II probablemente necesitará cientos de ciclos para procesar una porción de datos, mientras que su diseño puede aceptar una porción por ciclo. Los recuentos de ciclos deben ser pesados por la velocidad del reloj, por supuesto (pero, nuevamente, es probable que su diseño pueda funcionar a una velocidad mayor).

Una pregunta diferente pero relacionada es la latencia de la computación. ¿Cuánto tiempo se tarda en dar un resultado después de dar entrada? Tenga en cuenta que puede cambiar la velocidad del reloj por la latencia insertando registros en su diseño. Esto se llama canalización.

    
respondido por el Andreas

Lea otras preguntas en las etiquetas