Objetivos de la síntesis del árbol del reloj
Entonces, entremos en el tema de hoy. Primero, hablemos de varios indicadores clave para medir la calidad del árbol del reloj.
1. El árbol del reloj tiene el retardo más corto
Con menos inversores de reloj, la potencia en el árbol del reloj es menor, ocupando menos recursos de enrutamiento y facilitando la aprobación del tiempo. .
2. Desviación mínima
La desviación afecta tanto a la configuración como a la retención. Especialmente para las retenciones, si hay una gran diferencia entre los dos registros que deben verificarse para la retención, habrá más violaciones de la retención.
Mantenerlo más grande significa insertar más buffers, lo que puede causar problemas de enrutamiento.
3. Ciclo de trabajo
Para los árboles de reloj, es necesario mantener un buen ciclo de trabajo. Muchas interfaces IO (como DDR) muestrean datos en los flancos ascendente y descendente del reloj, por lo que necesita un inversor de reloj con latencias ascendentes y descendentes constantes en todo el árbol del reloj.
4. La ruta no compartida es la más corta
Porque la ruta compartida en el árbol de reloj tendrá cierta compensación CRPR (teniendo en cuenta el efecto OCV). Para rutas no compartidas, tanto LAUNCH como CAPTURE agregan diferentes reducciones (asumiendo una reducción del 5% cada una), lo que resulta en una mayor desviación del reloj para ambos DFF.
¿Puede CRPR compensar la diafonía?
Figura 1: Rutas de reloj universales y rutas no universales en el árbol del reloj
5. Integridad de la señal
Para la red de reloj, CTS NDR (no ruta de reloj universal) debe establecerse Reglas predeterminadas), como el doble de ancho, el doble de espacio. Esto puede prevenir eficazmente la diafonía y la interferencia electromagnética. Para señales de reloj de alta frecuencia o relojes con requisitos de calidad de reloj particularmente altos, también debemos proteger la red del reloj para garantizar que no haya diafonía en el árbol del reloj (como verificación de aprobación). ).
Hablando de CTS NDR, no puedo evitar sentir muchas emociones. Hace unos días, un usuario hizo una pregunta: ¿Por qué los tiempos son MEET después de CTO, pero peores después de ROUTE?
Cuando vi este problema por primera vez, pensé que la mayor sospecha era verificar si había mucha diafonía en el árbol del reloj después del enrutamiento. Resultó que NDR no estaba configurado y cada unidad en el. El árbol del reloj tenía entre 5 y 6 ps de diafonía.
Dicho esto, me gustaría expresar dos pequeñas sugerencias:
Cuando encuentre un problema, primero debe analizarlo usted mismo, aprender a pensar por sí mismo y depurarlo. tú mismo.
¿Qué se hace en cada etapa de las relaciones públicas y cuáles son las diferencias en cada etapa? Estas son las indicaciones para la depuración.
Análisis de casos:
Se presentan brevemente los siguientes tres casos. A través de estos casos, espero que todos puedan desarrollar gradualmente la capacidad de analizar árboles de reloj de forma independiente. También puede proporcionar retroalimentación a los ingenieros de diseño de front-end digitales sobre puntos donde la estructura del reloj no es razonable en el proyecto. Porque una estructura de reloj irrazonable hará que la convergencia de tiempo sea muy lenta o incluso no convergente. El resultado es que todos los que participan en el proyecto están agotados.
Caso 1:
El primer caso se muestra en la Figura 2. func clock y tck1 son sincronizados por Mux1. Cuando la herramienta crea el reloj de función (asumiendo que el conjunto de registros 2 está más alejado de la raíz), la ruta de reloj más larga para ese reloj de función es la ruta de reloj de un registro en el conjunto de registros 2. Por lo tanto, la herramienta debe llenar suficientes inversores de reloj entre la salida de MUX1 y el CLK del conjunto de registros 1 para equilibrar el conjunto de registros 1, el conjunto de registros 2 y el conjunto de registros 3.
Esto parece estar bien, pero el retraso del reloj para tck1 es aparentemente demasiado largo en el modo de prueba de baja velocidad. Por lo tanto, para evitar largos retrasos en el reloj de prueba, podemos duplicar un MUX para que la función y el modo de prueba utilicen rutas de reloj diferentes, como se muestra en la Figura 3.
Figura 2 ? Estructura de reloj original
Figura 3 ? Estructura de reloj mejorada
caso2:
Supongamos que CK1 y CK2 están sincronizados La herramienta prefiere insertar un inversor de reloj entre la salida del MUX y el grupo de registro 2 para guardar los buffers de reloj al equilibrar (en algunos casos se puede usar una pequeña cantidad de buffers de reloj). ¿Hay algún problema al hacer esto? La respuesta es que puede haber un problema que hace que las rutas no compartidas entre el Grupo 1, el Grupo 2 y el Grupo 3 se alarguen, como se muestra en el lado izquierdo de la Figura 4. Si movemos los dos buffers de reloj desde la salida MUX a los puertos D0 y D1 del multiplexor, podemos lograr el mismo equilibrio entre los bancos de registros, y la ruta común entre ellos será más larga, no común La ruta se hará más corta . Este comportamiento es excelente para sincronizar.
Figura 4 Caso 2 Árbol de reloj antes y después de la optimización
Caso 3: Síntesis del árbol de reloj basada en el consumo de energía o el tiempo
Nos enfrentaremos a muchas opciones en la vida Constantemente se toman diferentes decisiones y cada elección es una compensación. De manera similar, el resultado del diseño e implementación de circuitos integrados digitales también es el resultado de las constantes compensaciones realizadas por los ingenieros de diseño e implementación de circuitos integrados digitales (PPA). La tercera situación se muestra en la Figura 5 a continuación y se deja que todos piensen en ella. ¿Qué árbol de reloj es mejor, el izquierdo o el derecho? ¿Cuáles son sus ventajas y desventajas?
De hecho, no es difícil sintetizar un árbol de relojes. La clave es aclarar la estructura del reloj, cómo cambiar los relojes en varios modos, la sincronización y asincronía entre relojes y qué relojes deben ser. equilibrados entre sí.
Figura 5: ¿Dos estrategias diferentes de síntesis del árbol de reloj?
Enlace original: Práctica de síntesis del árbol de reloj para la implementación de backend digital: Zhihu (zhihu.com)