Cálculo de tiempos de retardo de señales en circuitos integrados
El cálculo de retardo es el término utilizado en el diseño de circuitos integrados para el cálculo del retardo de una sola puerta lógica y los cables conectados a ella. Por el contrario, el análisis de tiempo estático calcula los retardos de rutas completas, utilizando el cálculo de retardo para determinar el retardo de cada puerta y cable.
Existen muchos métodos que se utilizan para calcular el retardo de la propia puerta. La elección depende principalmente de la velocidad y la precisión requeridas:
- Se pueden utilizar simuladores de circuitos como SPICE . Este es el método más preciso, pero también el más lento.
- Las tablas bidimensionales [1] se utilizan comúnmente en aplicaciones como síntesis lógica , colocación y enrutamiento . Estas tablas toman una carga de salida y una pendiente de entrada y generan un retardo de circuito y una pendiente de salida. Los valores de las tablas se calculan generalmente utilizando simuladores de circuitos en un procedimiento denominado caracterización o caracterización de celda estándar . Un formato de archivo común para almacenar las tablas de búsqueda es el formato Liberty [2] [3] .
- A veces se utiliza un modelo muy simple llamado modelo de factor K. Este aproxima el retardo como una constante más k veces la capacitancia de carga.
- Un modelo más complejo, denominado lenguaje de cálculo de retardo [4] o DCL, invoca un programa definido por el usuario siempre que se requiere un valor de retardo. Esto permite representar modelos arbitrariamente complejos, pero plantea importantes problemas de ingeniería de software.
- El esfuerzo lógico proporciona un cálculo de retardo simple que tiene en cuenta el tamaño de la puerta y es analíticamente manejable.
De manera similar, existen muchas formas de calcular el retraso de un cable. Normalmente, el retraso de un cable será diferente para cada destino. Para aumentar la precisión (y reducir la velocidad), los métodos más comunes son:
- C agrupada . Toda la capacitancia del cable se aplica a la salida de la compuerta y se ignora el retraso a través del cable mismo.
- El retardo de Elmore [5] es una aproximación simple, que se utiliza a menudo cuando la velocidad de cálculo es importante, pero no se puede ignorar el retardo a través del cable en sí. Utiliza los valores R y C de los segmentos del cable en un cálculo simple. El retardo de cada segmento del cable es el R de ese segmento multiplicado por el C de salida. Luego, todos los retardos se suman desde la raíz. (Esto supone que la red está estructurada en árbol, lo que es cierto para la mayoría de las redes en chips. En este caso, el retardo de Elmore se puede calcular en tiempo O(N) con dos recorridos del árbol. Si la red no está estructurada en árbol, el retardo de Elmore se puede calcular de todos modos, pero implica cálculos matriciales. [6] )
- El emparejamiento de momentos es un método analítico más sofisticado. Se puede considerar como un emparejamiento de múltiples momentos en el dominio del tiempo o como la búsqueda de una buena aproximación racional (una aproximación de Padé ) en el dominio de la frecuencia. (Estos métodos están muy relacionados; consulte la transformada de Laplace ). También se puede considerar una generalización del retardo de Elmore, que coincide con el primer momento en el dominio del tiempo (o calcula una aproximación de un polo en el dominio de la frecuencia; son equivalentes). El primer uso de esta técnica, AWE, [7] utilizó el emparejamiento de momentos explícito. Los métodos más nuevos, como PRIMA [8] y PVL, utilizan el emparejamiento de momentos implícito, basado en subespacios de Krylov . Estos métodos son más lentos que Elmore pero más precisos. En comparación con la simulación de circuitos, son más rápidos pero menos precisos.
- Se pueden utilizar simuladores de circuitos como SPICE . Este suele ser el método más preciso, pero también el más lento.
- El DCL, tal como se define anteriormente, se puede utilizar para interconectar y como retardo de puerta.
A menudo, tiene sentido combinar el cálculo de una compuerta y todos los cables conectados a su salida. Esta combinación suele denominarse retardo de etapa .
El retardo de un cable o una compuerta también puede depender del comportamiento de los componentes cercanos. Este es uno de los principales efectos que se analizan durante las comprobaciones de integridad de la señal .
Cálculo de retardo en diseño digital
En el contexto del diseño digital semipersonalizado, la información digital precaracterizada suele abstraerse en forma de la tabla de consulta 2D (LUT) mencionada anteriormente. La idea detrás del método de diseño semipersonalizado es utilizar bloques de componentes prefabricados y probados para construir algo más grande, por ejemplo, un chip.
En este contexto, los bloques son puertas lógicas como NAND, OR, AND, etc. Aunque, en realidad, estas puertas estarán compuestas por transistores, un ingeniero semipersonalizado solo conocerá la información de retardo del pin de entrada al pin de salida, llamada arco de temporización. La tabla 2D representa la variabilidad del retardo de la puerta en relación con las dos variables independientes, generalmente la tasa de cambio de la señal en la entrada y la carga en el pin de salida. Estas dos variables se denominan slew y carga en la jerga del diseño.
Un motor de análisis de tiempo estático calculará primero el retraso de las celdas individuales y las unirá para realizar un análisis más profundo.
Cálculo del retraso estadístico
A medida que las dimensiones de los chips se hacen más pequeñas, los retrasos tanto de las puertas como de los cables pueden tener que ser tratados como estimaciones estadísticas en lugar de cantidades deterministas. Para las puertas, esto requiere extensiones a los formatos de la biblioteca. Para los cables, esto requiere métodos que puedan calcular las medias y distribuciones de los retrasos de los cables. En ambos casos, es fundamental capturar la dependencia de las variables subyacentes, como el voltaje de umbral y el espesor del metal, ya que estas resultan en correlaciones entre los retrasos de los componentes cercanos. Consulte [9] para ver un ejemplo temprano.
Véase también
Referencias
- ^ E.-Y. Chung, B.-H. Joo, Y.-K. Lee, K.-H. Kim y S.-H. Lee, “Método avanzado de análisis de retardo para tecnología ASIC submicrónica”, en Proc. IEEE 5th Int. ASIC Conf. 1992, págs. 471-474.
- ^ "Formato de archivo Liberty, diapositivas de conferencias" (PDF) . Consultado el 15 de diciembre de 2022 .
- ^ "Guía de usuario y manual de referencia de Liberty" (PDF) . Archivado desde el original (PDF) el 2022-12-15 . Consultado el 15 de diciembre de 2022 .
- ^ Estándar IEEE que incluye DCL
- ^ *WC Elmore, La respuesta transitoria de redes lineales amortiguadas con especial atención a los amplificadores de banda ancha, Journal of Applied Physics, enero de 1948, volumen 19, número 1, págs. 55-63.
- ^ Si cada capacitor se reemplaza por una fuente de corriente del mismo valor y se conecta a tierra la raíz, entonces el voltaje de CC en cada nodo es numéricamente igual al retardo de Elmore (momento del primer dominio temporal). Esta formulación funciona independientemente de si la red está estructurada en árbol o no. Consulte el artículo sobre AWE a continuación para obtener más detalles.
- ^ *Pillage, LT; Rohrer, RA, Evaluación de forma de onda asintótica para análisis de tiempo
- ^ *Odabasioglu, A.; Celik, M.; Pileggi, LT, PRIMA: algoritmo de macromodelado de interconexión pasiva de orden reducido, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems , volumen 17, número 8, agosto de 1998, págs. 645-654
- ^ Ying Liu; Pileggi, LT; Strojwas, AJ, (1999) Reducción de orden de modelo de interconexión RC(L) incluyendo análisis variacional, actas de la 36.ª Conferencia de Automatización del Diseño, 21-25 de junio de 1999, págs. 201-206