¿Cómo restringir las rutas sin registros?
Sí, hay una manera. Las rutas de tiempo no tienen que ser de registro a registro. Un puerto también puede ser un punto de inicio o un punto final. Si su bloque es completamente combinado, todas las rutas serán desde puertos de entrada a puertos de salida.
Lo más importante aquí es definir un reloj virtual y los retrasos de entrada / salida en un archivo XDC. Luego debes agregar el archivo al proyecto Vivado.
create_clock -name VCLK -period 10.0 -waveform {0 5.0}
set_input_delay 1.0 -clock [get_clocks VCLK] [get_ports IN1]
set_output_delay 2.0 -clock [get_clocks VCLK] [get_ports OUT1]
El ejemplo anterior indica que la señal IN1
llega al bloque 1ns después de que VCLK
aumenta. Además, OUT1
se debe establecer 2ns antes de que VCLK
suba. Dado que nuestro período de reloj es de 10 ns, la ruta desde IN1
a OUT1
tiene 7ns (10-1-2) para finalizar la operación.
¿Cómo ver la ruta crítica en Vivado?
Una vez que se complete la implementación, haga clic en " Informes " en la parte inferior de la GUI de Vivado. Luego haga clic en " Informe de resumen de temporización " debajo de " Diseño de ruta ". Como alternativa, también puede buscar el archivo blabla_timing_summary_routed.rpt en el directorio del proyecto.
Este informe muestra las rutas críticas para todos los dominios de reloj. Como solo tienes un dominio de reloj, deberías ver algo como abajo.
From Clock: VCLK
To Clock: VCLK
Luego busque la sección " Max Delay Paths ". Verás el camino crítico debajo de él.