stringtranslate.com

Lógica dinámica (electrónica digital)

En el diseño de circuitos integrados , la lógica dinámica (o, a veces, la lógica sincronizada ) es una metodología de diseño en circuitos lógicos combinacionales , particularmente aquellos implementados en tecnología de semiconductores de óxido metálico (MOS). Se distingue de la llamada lógica estática porque aprovecha el almacenamiento temporal de información en capacitancias parásitas y de puerta . [1] Fue popular en la década de 1970 y ha visto un resurgimiento reciente en el diseño de electrónica digital de alta velocidad [ cita necesaria ] , particularmente unidades centrales de procesamiento (CPU). Los circuitos lógicos dinámicos suelen ser más rápidos que sus homólogos estáticos y requieren menos superficie, pero son más difíciles de diseñar. La lógica dinámica tiene una tasa promedio más alta de transiciones de voltaje que la lógica estática, [2] pero las cargas capacitivas en transición son más pequeñas [3], por lo que el consumo de energía general de la lógica dinámica puede ser mayor o menor dependiendo de varias compensaciones. Cuando se hace referencia a una familia lógica particular , el adjetivo dinámico generalmente es suficiente para distinguir la metodología de diseño, por ejemplo, CMOS dinámico [4] o diseño SOI dinámico . [2]

Además de su uso del almacenamiento de estado dinámico a través de voltajes en capacitancias, la lógica dinámica se distingue de la llamada lógica estática en que la lógica dinámica utiliza una señal de reloj en su implementación de lógica combinacional. El uso habitual de una señal de reloj es sincronizar transiciones en circuitos lógicos secuenciales . Para la mayoría de las implementaciones de lógica combinacional, ni siquiera se necesita una señal de reloj. La terminología estática/dinámica utilizada para referirse a circuitos combinatorios está relacionada con el uso de los mismos adjetivos utilizados para distinguir los dispositivos de memoria, por ejemplo, la RAM estática de la RAM dinámica , en el sentido de que la RAM dinámica almacena el estado dinámicamente como voltajes en capacitancias, que deben actualizarse periódicamente. . Pero también existen diferencias en el uso; el reloj se puede detener en la fase apropiada en un sistema con lógica dinámica y almacenamiento estático. [5]

Lógica estática versus dinámica

La mayor diferencia entre la lógica estática y dinámica es que en la lógica dinámica, se utiliza una señal de reloj para evaluar la lógica combinacional . En la mayoría de los tipos de diseño lógico, denominado lógica estática , siempre hay algún mecanismo para hacer que la salida sea alta o baja. En muchos de los estilos lógicos populares, como TTL y CMOS tradicional , este principio se puede reformular como una afirmación de que siempre hay una ruta de CC de baja impedancia entre la salida y el voltaje de suministro o la tierra . Como nota al margen, existe, por supuesto, una excepción en esta definición en el caso de salidas de alta impedancia , como un buffer de tres estados ; sin embargo, incluso en estos casos, el circuito está diseñado para usarse dentro de un sistema más grande donde algún mecanismo impulsará la salida, y no califican como distintos de la lógica estática.

Por el contrario, en la lógica dinámica , no siempre hay un mecanismo que impulse la salida hacia arriba o hacia abajo. En la versión más común de este concepto, la salida aumenta o disminuye durante distintas partes del ciclo del reloj. Durante los intervalos de tiempo en los que la salida no se activa activamente, la capacitancia parásita hace que mantenga un nivel dentro de algún rango de tolerancia del nivel activado.

La lógica dinámica requiere una frecuencia de reloj mínima lo suficientemente rápida como para que el estado de salida de cada puerta dinámica se use o actualice antes de que la carga en la capacitancia de salida se escape lo suficiente como para causar que el estado digital de la salida cambie, durante la parte del ciclo de reloj que la producción no se está impulsando activamente.

La lógica estática no tiene una frecuencia de reloj mínima : el reloj se puede pausar indefinidamente. Si bien puede parecer que no hacer nada durante largos períodos de tiempo no es particularmente útil, conlleva tres ventajas:

La capacidad de pausar un sistema en cualquier momento y durante cualquier duración también se puede utilizar para sincronizar la CPU con un evento asincrónico. Si bien existen otros mecanismos para hacer esto, como interrupciones, bucles de sondeo, pines de entrada inactivos del procesador (por ejemplo, RDY en el 6502 ) o mecanismos de extensión del ciclo del bus del procesador, como entradas WAIT, se utiliza hardware para controlar el reloj a un estado estático. -La CPU de núcleo es más simple, es más precisa temporalmente, no usa memoria de código de programa y casi no usa energía en la CPU mientras está en espera. En un diseño básico, para comenzar a esperar, la CPU escribiría en un registro para establecer un bit de bloqueo binario al que se le aplicaría una operación AND u OR con el reloj del procesador, deteniéndolo. Una señal de un dispositivo periférico restablecería este pestillo y reanudaría el funcionamiento de la CPU. La lógica del hardware debe activar las entradas de control de enclavamiento según sea necesario para garantizar que una transición de salida de enclavamiento no provoque que el nivel de la señal del reloj cambie instantáneamente y provoque un pulso de reloj, ya sea alto o bajo, que sea más corto de lo normal.

En particular, aunque muchas CPU populares utilizan lógica dinámica, [ cita necesaria ] solo los núcleos estáticos (CPU diseñadas con tecnología totalmente estática) se pueden utilizar en satélites espaciales debido a su mayor dureza de radiación . [7] [ se necesita una mejor fuente ]

Cuando se diseña correctamente, la lógica dinámica puede ser dos veces más rápida que la lógica estática. Utiliza sólo los transistores NMOS más rápidos , lo que mejora las optimizaciones del tamaño de los transistores. La lógica estática es más lenta porque tiene el doble de carga capacitiva , umbrales más altos y utiliza transistores PMOS lentos para la lógica. Puede ser más difícil trabajar con la lógica dinámica, pero puede ser la única opción cuando se necesita una mayor velocidad de procesamiento. La mayoría de los dispositivos electrónicos funcionan a más de 2 GHz en estos días [ ¿cuándo? ] requieren lógica dinámica, aunque algunos fabricantes como Intel han diseñado chips utilizando lógica completamente estática para reducir el consumo de energía. [8] Tenga en cuenta que reducir el uso de energía no solo extiende el tiempo de funcionamiento con fuentes de energía limitadas, como baterías o paneles solares (como en las naves espaciales), sino que también reduce los requisitos de diseño térmico, reduciendo el tamaño de los disipadores de calor, ventiladores, etc. , lo que a su vez reduce el peso y el coste del sistema.

En general, la lógica dinámica aumenta en gran medida la cantidad de transistores que conmutan en un momento dado, lo que aumenta el consumo de energía en comparación con los CMOS estáticos. [8] Existen varias técnicas de ahorro de energía que se pueden implementar en un sistema basado en lógica dinámica. Además, cada riel puede transportar una cantidad arbitraria de bits y no hay fallas que desperdicien energía. La activación por reloj que ahorra energía y las técnicas asincrónicas son mucho más naturales en la lógica dinámica.

Ejemplo de lógica estática

Como ejemplo, considere la implementación de lógica estática de una puerta CMOS NAND:

Este circuito implementa la función lógica.

Si A y B están ambos altos, la salida será baja. Si A o B están bajos, la salida aumentará. En todo momento, la salida es baja o alta.

Ejemplo de lógica dinámica

Considere ahora una implementación lógica dinámica de la misma función lógica:

El circuito lógico dinámico requiere dos fases. La primera fase, cuando el reloj está bajo, se llama fase de configuración o fase de precarga , y la segunda fase, cuando el reloj está alto, se llama fase de evaluación . En la fase de configuración, la salida se eleva incondicionalmente (sin importar los valores de las entradas A y B ). El condensador , que representa la capacidad de carga de esta puerta, se carga. Debido a que el transistor en la parte inferior está apagado, es imposible que la salida baje durante esta fase.

Durante la fase de evaluación , el reloj está alto. Si A y B también son altos, la salida será baja. De lo contrario, la salida permanece alta (debido a la capacitancia de carga).

La lógica dinámica tiene algunos problemas potenciales que la lógica estática no tiene. Por ejemplo, si la velocidad del reloj es demasiado lenta, la salida decaerá demasiado rápido para ser útil. Además, la salida solo es válida durante una parte de cada ciclo de reloj, por lo que el dispositivo conectado a ella debe muestrearla sincrónicamente cuando sea válida.

Además, cuando A y B están altos, de modo que la salida es baja, el circuito bombeará una carga de capacitor desde Vdd a tierra para cada ciclo de reloj, primero cargando y luego descargando el capacitor en cada ciclo de reloj. Esto hace que el circuito (con su salida conectada a una alta impedancia) sea menos eficiente que la versión estática (que teóricamente no debería permitir que fluya corriente excepto a través de la salida), y cuando las entradas A y B son constantes y ambas altas, la La puerta NAND dinámica utiliza energía en proporción a la velocidad del reloj , siempre que funcione correctamente. La disipación de energía se puede minimizar manteniendo baja la capacitancia de carga. Esto, a su vez, reduce el tiempo de ciclo máximo, lo que requiere una frecuencia de reloj mínima más alta; la frecuencia más alta aumenta el consumo de energía en la relación mencionada. Por lo tanto, es imposible reducir el consumo de energía en reposo (cuando ambas entradas son altas) por debajo de un cierto límite derivado de un equilibrio entre la velocidad del reloj y la capacitancia de carga.

Una implementación popular es la lógica dominó .

Ver también

Referencias

  1. ^ Lars Wanhammar (1999). Circuitos integrados DSP. Prensa académica. pag. 37.ISBN​ 978-0-12-734530-7.
  2. ^ ab Andrew Marshall; Sreedhar Natarajan (2002). Diseño SOI: técnicas analógicas, de memoria y digitales. Saltador. pag. 125.ISBN 978-0-7923-7640-8.
  3. ^ A. Albert Raj, T. Latha (21 de octubre de 2008). Diseño VLSI. PHI Aprendizaje Pvt. Limitado. Ltd. pág. 167.ISBN 978-81-203-3431-1.
  4. ^ Bruce Jacob; Spencer Ng; David Wang (2007). Sistemas de memoria: caché, DRAM, disco. Morgan Kaufman. pag. 270.ISBN 978-0-12-379751-3.
  5. ^ David Harris (2001). Diseño de circuito tolerante a la desviación. Morgan Kaufman. pag. 38.ISBN 978-1-55860-636-4.
  6. ^ Richard Murray. "Hardware de PocketBook II".
  7. ^ Gülzow, Peter. "¡Sin RISC, no hay diversión!". AMSAT-DL . Traducido por Moe, Don. Archivado desde el original el 13 de abril de 2013 . Consultado el 15 de septiembre de 2021 .
  8. ^ ab "El caballero de la noche: Core i7 de Intel".

Referencias generales

enlaces externos