¿Cómo entender el informe de tiempo después de la síntesis?

Después de la síntesis de mi código verilog. Recibo el siguiente informe de tiempo. Creo que muestra algún error en mi código.

Resumen de tiempo:

Grado de velocidad: -2

Período mínimo: 2,334 ns (Frecuencia máxima: 428,376 MHz)
Tiempo mínimo de llegada de entrada antes del reloj: No se encontró la ruta
Tiempo máximo requerido de salida después del reloj: 1,282 ns
Retardo de ruta combinado máximo: No se encontró la ruta

Lo principal que me molesta es el comentario resaltado en negrita. ¿Está mostrando algún tipo de error?

Respuestas (3)

No, no es un error.

Synthesis solo estima los tiempos porque no aplicó ningún archivo de restricción. En el flujo ISE normal, las restricciones se aplican en el paso de traducción. Si es demasiado tarde y necesita verificaciones u optimizaciones de restricciones anteriores, puede aplicar un archivo de restricciones XST (*.xcf) con información de tiempo.

La sintaxis es la misma que en los archivos ucf pero solo se permiten restricciones de tiempo. El procesamiento de un archivo xcf se puede habilitar en las propiedades del proceso de síntesis.

Editar:

Lo siento, pasé por alto tus líneas en negrita mientras escribía mi respuesta.

Hay 4 tipos de conexiones en un diseño (en orden de sus líneas reportadas):

  • elemento cronometrado a otro elemento cronometrado (por ejemplo, flip flop)
  • Pin de entrada al elemento sincronizado
  • elemento sincronizado al pin de salida
  • Pin de entrada a pin de salida

Cuando la síntesis informa No path found, simplemente significa que este tipo de ruta no existe en su diseño. Y por lo tanto, no puede informar ningún tiempo.

Incluso agregar un archivo de restricción XST (*.xcf!) no cambiaría el resultado. Se informa "No se encontró la ruta" porque el diseño no tiene ninguna entrada (según el fragmento de informe).

No es un error.

Tiempo mínimo de llegada de entrada antes del reloj: No se encontró la ruta

Esto simplemente significa que no hay una ruta lógica desde ninguna entrada a un flip-flop (o pestillo).

Retardo de ruta combinado máximo: No se encontró ninguna ruta

Y esto significa que no hay una ruta lógica desde ninguna entrada a ninguna salida sin un flip-flop en el medio (= ruta combinacional).

Parece que su diseño no tiene entradas.

Período mínimo: 2,334 ns (Frecuencia máxima: 428,376 MHz) Tiempo mínimo de llegada de entrada antes del reloj: No se encontró la ruta Tiempo máximo requerido de salida después del reloj: 1,282 ns Retardo de ruta combinado máximo: No se encontró la ruta

¡Hola!

Su código es correcto y la síntesis también. Es mejor que aplique los valores de entrada directamente en esa declaración solo en lugar de aplicarlos en el banco de pruebas. Entonces puede observar el retraso de ruta combinacional.