Lógica secuencial

Tipo de circuito lógico

En la teoría de autómatas , la lógica secuencial es un tipo de circuito lógico cuya salida depende del valor actual de sus señales de entrada y de la secuencia de entradas pasadas, el historial de entrada. [1] [2] [3] [4] Esto contrasta con la lógica combinacional , cuya salida es una función solo de la entrada actual. Es decir, la lógica secuencial tiene estado ( memoria ) mientras que la lógica combinacional no.

La lógica secuencial se utiliza para construir máquinas de estados finitos , un componente básico de todos los circuitos digitales. Prácticamente todos los circuitos de los dispositivos digitales prácticos son una mezcla de lógica combinacional y secuencial.

Un ejemplo conocido de un dispositivo con lógica secuencial es un televisor con botones de "subir canal" y "bajar canal". [1] Al presionar el botón "subir" se le da al televisor una entrada que le indica que cambie al siguiente canal por encima del que está recibiendo actualmente. Si el televisor está en el canal 5, al presionar "subir" cambia para recibir el canal 6. Sin embargo, si el televisor está en el canal 8, al presionar "subir" cambia al canal "9". Para que la selección de canal funcione correctamente, el televisor debe saber qué canal está recibiendo actualmente, lo cual fue determinado por selecciones de canal anteriores. [1] El televisor almacena el canal actual como parte de su estado . Cuando se le da una entrada de "subir canal" o "bajar canal", la lógica secuencial del circuito de selección de canal calcula el nuevo canal a partir de la entrada y el canal actual.

Los circuitos lógicos secuenciales digitales se dividen en síncronos y asíncronos . En los circuitos secuenciales síncronos, el estado del dispositivo cambia solo en momentos discretos en respuesta a una señal de reloj . En los circuitos asíncronos, el estado del dispositivo puede cambiar en cualquier momento en respuesta a cambios en las entradas.

Lógica secuencial sincrónica

Hoy en día, casi toda la lógica secuencial es lógica sincronizada o síncrona . En un circuito síncrono, un oscilador electrónico llamado reloj (o generador de reloj ) genera una secuencia de pulsos repetitivos llamados señal de reloj que se distribuyen a todos los elementos de memoria del circuito. El elemento de memoria básico en la lógica síncrona es el flip-flop . La salida de cada flip-flop solo cambia cuando se activa con el pulso de reloj, por lo que los cambios en las señales lógicas de todo el circuito comienzan todos al mismo tiempo, a intervalos regulares, sincronizados por el reloj.

La salida de todos los elementos de almacenamiento (flip-flops) del circuito en un momento dado, los datos binarios que contienen, se denomina estado del circuito. El estado del circuito síncrono solo cambia en los pulsos de reloj. En cada ciclo, el siguiente estado está determinado por el estado actual y el valor de las señales de entrada cuando se produce el pulso de reloj.

La principal ventaja de la lógica sincrónica es su simplicidad. Las puertas lógicas que realizan las operaciones sobre los datos requieren una cantidad finita de tiempo para responder a los cambios en sus entradas. Esto se llama retardo de propagación . El intervalo entre pulsos de reloj debe ser lo suficientemente largo para que todas las puertas lógicas tengan tiempo de responder a los cambios y sus salidas se "establezcan" en valores lógicos estables antes de que se produzca el siguiente pulso de reloj. Mientras se cumpla esta condición (ignorando otros detalles) se garantiza que el circuito sea estable y confiable. Esto determina la velocidad máxima de funcionamiento del circuito sincrónico.

La lógica sincrónica tiene dos desventajas principales:

  • La velocidad de reloj máxima posible está determinada por la ruta lógica más lenta del circuito, también conocida como ruta crítica. Cada cálculo lógico, desde el más simple hasta el más complejo, debe completarse en un ciclo de reloj. Por lo tanto, las rutas lógicas que completan sus cálculos rápidamente están inactivas la mayor parte del tiempo, esperando el siguiente pulso de reloj. Por lo tanto, la lógica sincrónica puede ser más lenta que la lógica asincrónica. Una forma de acelerar los circuitos sincrónicos es dividir las operaciones complejas en varias operaciones simples que se pueden realizar en ciclos de reloj sucesivos, una técnica conocida como segmentación . Esta técnica se utiliza ampliamente en el diseño de microprocesadores y ayuda a mejorar el rendimiento de los procesadores modernos.
  • La señal de reloj debe distribuirse a cada flip-flop del circuito. Como el reloj suele ser una señal de alta frecuencia, esta distribución consume una cantidad relativamente grande de energía y disipa mucho calor. Incluso los flip-flops que no hacen nada consumen una pequeña cantidad de energía, lo que genera calor residual en el chip. En los dispositivos alimentados por batería, se requiere una complejidad adicional de hardware y software para reducir la velocidad del reloj o apagarlo temporalmente mientras el dispositivo no se usa activamente, a fin de mantener una vida útil de la batería.

Lógica secuencial asincrónica

La lógica secuencial asincrónica ( sin reloj o con temporizador automático ) no está sincronizada por una señal de reloj; las salidas del circuito cambian directamente en respuesta a los cambios en las entradas. La ventaja de la lógica asincrónica es que puede ser más rápida que la lógica sincrónica, porque el circuito no tiene que esperar una señal de reloj para procesar las entradas. La velocidad del dispositivo está potencialmente limitada solo por los retrasos de propagación de las puertas lógicas utilizadas.

Sin embargo, la lógica asincrónica es más difícil de diseñar y está sujeta a problemas que no se encuentran en los diseños sincrónicos. El problema principal es que los elementos de memoria digital son sensibles al orden en que llegan sus señales de entrada; si dos señales llegan a un flip-flop o pestillo casi al mismo tiempo, el estado al que pasa el circuito puede depender de qué señal llega primero a la compuerta. Por lo tanto, el circuito puede pasar al estado incorrecto, dependiendo de pequeñas diferencias en los retrasos de propagación de las compuertas lógicas. Esto se llama condición de carrera . Este problema no es tan grave en los circuitos sincrónicos porque las salidas de los elementos de memoria solo cambian en cada pulso de reloj. El intervalo entre las señales de reloj está diseñado para ser lo suficientemente largo como para permitir que las salidas de los elementos de memoria se "establezcan" de modo que no cambien cuando llegue el siguiente reloj. Por lo tanto, los únicos problemas de sincronización se deben a "entradas asincrónicas"; entradas al circuito desde otros sistemas que no están sincronizados con la señal de reloj.

Los circuitos secuenciales asincrónicos suelen utilizarse solo en unas pocas partes críticas de sistemas sincrónicos donde la velocidad es fundamental, como partes de microprocesadores y circuitos de procesamiento de señales digitales .

El diseño de la lógica asincrónica utiliza modelos matemáticos y técnicas diferentes a las de la lógica sincrónica, y es un área activa de investigación.

Véase también

Referencias

  1. ^ abc Vai, M. Michael (2000). Diseño VLSI. CRC Press . pág. 147. ISBN 0-84931876-9.
  2. ^ Cavanagh, Joseph (2006). Lógica secuencial: análisis y síntesis. CRC Press . p. ix. ISBN 0-84937564-9.
  3. ^ Lipiansky, Ed (2012). Fundamentos de hardware eléctrico, electrónico y digital para científicos e ingenieros. Wiley . p. 8.39. ISBN 978-1-11841454-5.
  4. ^ Dally, William James ; Harting, R. Curtis (2012). Diseño digital: un enfoque de sistemas. Cambridge University Press . p. 291. ISBN 978-0-52119950-6.

Lectura adicional

  • Katz, Randy ; Borriello, Gaetano (2005). Diseño de lógica contemporánea (2 ed.). Prentice Hall . ISBN 0-201-30857-6.
  • Kohavi, Zvi; Jha, Niraj K. (2009). Teoría de la conmutación y los autómatas finitos (3 ed.). Prensa de la Universidad de Cambridge . ISBN 978-0-521-85748-2.
  • Vasyukevich, Vadim O. (2009). "Elementos de lógica asincrónica. Venjunción y secuenciación" (PDF) . Archivado (PDF) desde el original el 22 de julio de 2011.(118 páginas)
  • Vasyukevich, Vadim O. (2011). Escrito en Riga, Letonia. Operadores asincrónicos de lógica secuencial: venjunción y secuenciación: análisis y diseño de circuitos digitales . Apuntes de clase en ingeniería eléctrica (LNEE). Vol. 101 (1.ª ed.). Berlín/Heidelberg, Alemania: Springer-Verlag . doi :10.1007/978-3-642-21611-4. ISBN . 978-3-642-21610-7. ISSN  1876-1100. LCCN  2011929655.(xiii+1+123+7 páginas) (NB: La contraportada de este libro indica erróneamente el volumen 4, cuando en realidad es el volumen 101.)
Obtenido de "https://es.wikipedia.org/w/index.php?title=Lógica_secuencial&oldid=1157202833"