¿Por qué el reloj asincrónico no establece una ruta falsa?

Baishantou Baishantou IC

 

¿Por qué el reloj asincrónico no establece una ruta falsa?

Para los principiantes, a menudo se cree que el circuito asincrónico debe establecerse en una ruta falsa. Incluso muchos veteranos piensan que sí.
De hecho, para circuitos asíncronos, hay comandos especiales de sdc para completar esta tarea.

set_clock_groups -asynchronous

 

En términos de función, parece tener el mismo efecto que la ruta falsa. Entonces, ¿por qué hay tal comando?

Imagine que hay dos relojes, clka y clkb, que pertenecen a una relación asincrónica, ¿cómo deben configurarse?

Usando el método de grupo de reloj:

set_clock_groups - grupo clka - grupo clkb 【命令1】

 

Use el método de ruta falsa:

set_false_path -from [get_clock clka] -to [get_clock clkb] 【命令2】

set_false_path -from [get_clock clkb] -to [get_clock clka]


En comparación, parece que el método de grupo de reloj es más intuitivo, pero la diferencia no es grande.
Entonces, ¿cuál es la verdadera razón para diseñar este comando asincrónico? ¿Cuál es la diferencia fundamental entre este y el papel del camino falso?

 

En el manual de set_false_path, existe una oración que explica la diferencia real entre los dos:

 

 

Para resumir, si desea usar circuitos asincrónicos, debe usar el comando 1. Si usa circuitos síncronos, debe usar el comando 2. Los métodos de cálculo para la diafonía son diferentes.

Me he encontrado con este problema en el proyecto una vez, y debería haber establecido la ruta falsa en el caso de asíncrono. Dado que este problema se descubrió después de la limpieza del tiempo, es fácil comparar las diferencias entre los dos después de la modificación.
El resultado es que después de cambiar a la configuración del comando 1, el tiempo empeora, algunas rutas incluso tienen cientos de ps.

Si está interesado, puede experimentar con su propio diseño, puede haber sorpresas.

Entonces, ¿cuál es la diferencia entre el análisis de diafonía mencionado en el manual?

 

 

 

Como se muestra en la figura, en el análisis de diafonía, cuando la transición de la señal A y la señal B ocurre al mismo tiempo, entonces la señal B tendrá un retraso delta debido a la influencia de la señal A. Si la transición de la señal A es demasiado temprana o tardía, entonces no hay efecto en el retraso de la señal B.

Entonces, ¿cuándo es agresor las dos redes y cuándo es la víctima? Depende de qué red estamos analizando. Como estamos analizando el efecto de la señal A en la señal B, la señal A aquí es el agresor y la señal B es la víctima. Viceversa. Generalmente, hay más de un agresor para una víctima en el diseño real, de manera similar, para un agresor, habrá más de una víctima.

Al realizar el análisis en modo de variación en chip. Cada salto de agresor y víctima tendrá una hora de llegada más temprana y una hora de llegada más reciente. Esta ventana entre la hora de llegada más temprana y más reciente se llama ventana de tiempo. Solo cuando la ventana de tiempo del agresor y la víctima se superponen, se generará el retraso delta, es decir, el agresor afectará a la víctima.

 

Si establece una ruta falsa, la herramienta continuará calculando la ventana de tiempo de acuerdo con la relación de sincronización.

Y sabemos que para el caso en que el agresor y la víctima pertenecen a dos relojes con una relación asincrónica, la transición del agresor puede ocurrir en cualquier momento durante todo el ciclo de reloj de la víctima. No solo en el tiempo windlow calculado según el reloj síncrono.

Según la relación de sincronización, la herramienta ignora el impacto del agresor en el salto fuera de la ventana de tiempo de la víctima. Esto puede causar serias consecuencias, que van desde la degradación del rendimiento (configuración) hasta la falla del chip (retención)

 

En resumen, establezca el camino falso con cuidado y luche por un chip exitoso.



Supongo que te gusta

Origin www.cnblogs.com/lelin/p/12698457.html
Recomendado
Clasificación