Estoy diseñando mi proyecto en Vivado y tuve un WNS (Peor Slack negativo) de -2.67 ns (mi reloj PL era 200Mhz).
Tuve algunos problemas al ejecutar mi diseño, ya que los resultados fueron buenos a veces y malos en otras, por lo que pensé que podría estar relacionado con este WNS.
Volví a ejecutar mi diseño con una frecuencia PL de 100MHz (los resultados siguen siendo buenos y malos, pero eso no es relevante para esta pregunta) y mi WNS ahora es de 0.22, lo cual está bien.
Aunque noté algo extraño:
Al comparar el xparameters.h
de mi primer y segundo diseño, la única diferencia que noté fue el XPAR_AXI_TIMER_0_CLOCK_FREQ_HZ
. El resto fue exactamente el mismo. ¿Cambiar el reloj PL solo cambia eso de un diseño a otro? Eso me parece extraño.
También, usando mi temporizador con 100Mhz en mi segundo diseño, me tomó 52830 ciclos de reloj para ejecutar parte del código en SDK. Fui a xparameters.h
y modifiqué mi XPAR_AXI_TIMER_0_CLOCK_FREQ_HZ
a 200MHz, volví a ejecutar mi diseño y tomé los mismos ciclos de reloj para ejecutar esa parte del código. ¿Por qué es esto, no debería ser la mitad de los ciclos de reloj, ya que la frecuencia es doble?