Circuitos secuenciales
En la lógica combinacional los circuitos producen una respuesta instantánea, es decir, las salidas se pueden calcular a partir de la combinación de los valores de las entradas en el mismo instante. La lógica combinacional no sirve para construir circuitos que con capacidad de memoria, es decir, funciones lógicas cuya salida en el instante presente depende de entradas en el pasado. Es entonces, cuando los circuitos secuenciales aparecen y cobran relevancia conceptos que no eran tan trascendentes para los circuitos combinacionales, algunos de estos conceptos son: instante presente, instante siguiente, estado, retroalimentación, tiempo de propagación, sincronización, memoria, secuencia, conteo, etc. Obsérvese que el principal concepto involucrado en todos los anteriores es el tiempo.
- Los circuitos considerados hasta aquí, tienen la característica de que su salida depende solamente de la combinación presente de valores de las entradas, es decir, a una misma combinación de entrada responden siempre con la misma salida. Debido a esto, estos circuitos se denominan combinacionales.
- Los circuitos combinacionales tienen muchas limitantes debido a que no son capaces de reconocer el orden en que se van presentando las combinaciones de entradas con respecto al tiempo, es decir, no pueden reconocer una secuencia de combinaciones, ya que no poseen una manera de almacenar información pasada, es decir no poseen memoria.
- Un circuito cuya salida depende no solo de la combinación de entrada, sino también de la historia de las entradas anteriores se denomina Circuito Secuencial. La historia de las entradas anteriores en un momento dado se encuentra resumida en el estado del circuito, el cual se expresa en un conjunto de variables de estado.
- El circuito secuencial debe ser capaz de mantener su estado durante algún tiempo, para ello se hace necesario el uso de dispositivos de memoria. Los dispositivos de memoria utilizados en circuitos secuenciales pueden ser tan sencillos como un simple retardador (inclusive, se puede usar el retardo natural asociado a las compuertas lógicas) o tan complejos como un circuito completo de memoria denominado multivibrador biestable o Flip Flop.
- Como puede verse entonces, en los circuitos secuenciales entra un factor que no se había considerado en los combinacionales, dicho factor es el tiempo. De hecho, los circuitos secuenciales se clasifican de acuerdo a la manera como manejan el tiempo en circuitos secuenciales síncronos y circuitos secuenciales asíncronos.
- En un circuito secuencial asíncrono, los cambios de estado ocurren al ritmo natural marcado por los retardos asociados a las compuertas lógicas utilizadas en su implementación, es decir, estos circuitos no usan elementos especiales de memoria, pues se sirven de los retardos propios (tiempos de propagación) de las compuertas lógicas usados en ellos. Esta manera de operar puede ocasionar algunos problemas de funcionamiento, ya que estos retardos naturales no están bajo el control del diseñador y además no son idénticos en cada compuerta lógica.
- Los circuitos secuenciales síncronos, sólo permiten un cambio de estado en los instantes marcados por una señal de sincronismo de tipo oscilatorio denominada reloj. Con esto se pueden evitar los problemas que tienen los circuitos asíncronos originados por cambios de estado no uniformes en todo el circuito.
- Entradas como de las variables de estado las cuales son guardadas en dispositivos de memoria. Este es el modelo más completo de un circuito secuencial y se denomina Modelo de Mealy.
En general, un circuito secuencial puede ser una combinación de los tres modelos presentados arriba, es decir, puede poseer salidas tanto tipo Mealy como Tipo Moore, o sólo tipo Moore, o puede inclusive no tener dispositivos de memoria y funcionar solamente con la “memoria” asociada a los retardos naturales de las compuertas lógicas.
Conceptos fundamentales para analizar y diseñar circuitos secuenciales
En esta parte se plantearán los conceptos y la terminología necesaria para el análisis y diseño de los circuitos secuenciales. Estos conceptos son:
• Diagrama de estado clásico
• Tabla de funcionamiento
• Tabla de estado o tabla característica
• Diagrama de tiempo
• Tabla de excitación
• Diagrama de flujo de estado o carta ASM (Algorithmic State Machine)
Multivibradores Biestables (Flip Flops).
Los circuitos secuenciales básicos que funcionan también como unidades de memoria elementales se denominan multivibradores biestables (por tener dos estados estables –alto y bajo-), también conocidos como Flip Flops.
Al definir cada una de las herramientas mencionadas en la lista anterior consideraremos un circuito lógico secuencial asíncrono fundamental llamado Flip Flop Set Reset (FF-SR) el cual se describe a continuación con ayuda de las herramientas mencionadas.
El Flip Flop Set Reset FF-SR
El FF-SR es un dispositivo con dos entradas (Set y Reset) y una variable de estado o salida (Q) capaz de “guardar” un bit de información y funciona como sigue:
• Si su entrada Set se activa su estado Q se pone en Alto
• Si su entrada Reset se activa su estado Q se pone en Bajo
• Si no se activa ni Set ni Reset su estado no cambia
• Por supuesto, no se permite activar Set y Reset simultáneamente.
Diagrama de Bloques
Aunque el FF-SR posee dos entradas (S y R) y sólo una salida (Q), es común la implementación que provee además de Q su versión complementada Ǭ, como se muestra en la figura siguiente

Tabla de Funcionamiento
Los fabricantes de los circuitos integrados usan una tabla de funcionamiento para describir la operación de un circuito de una manera compacta, dicha tabla de funcionamiento no es otra cosa que una tabla de verdad como la usada para circuitos combinacionales, en la cual se ha introducido la información del tiempo que en el caso de circuitos secuenciales se vuelve esencial. Enseguida se ilustrará el uso de esta tabla para describir de manera compacta el funcionamiento del FF-SR.

En donde se ha utilizado la siguiente notación:
Tn = instante en el cual se aplican las entradas.
Tn+1 = instante después que el circuito responde.
Qo = salida Q en el instante tn.
Q+ = salida en el instante tn+1.
Nota: No es difícil notar que la tabla de funcionamiento es una tabla de verdad con la variable introducida Qo.
Diagrama de Estado Clásico
La misma información especificada por la tabla de funcionamiento puede ser representada de varias maneras diferentes, por ejemplo, el siguiente diagrama es una alternativa gráfica que tiene la particularidad de enfatizar el número y nombre de los estados del circuito, por ello se le llama diagrama de estado o de estado clásico. Así, para el FF-SR:

Obsérvese que el diagrama de estado clásico incluye información separada de la siguiente manera:
- Nombres simbólicos dados a los estados (opcional)
- Nombres y valores que las variables de estado toman en cada estado.
- Nombres y valores de las variables de entrada
- Transiciones posibles de un estado a otro y condiciones (sobre las variables de entrada) para producir dicha transición.
- En algunas variantes de diagrama de estado se incluye también información sobre las variables de salida que no se muestran en el ejemplo, dado que para el FF-SR la variable de estado Q coincide con la variable de salida.
Tabla de Excitación
La información que guarda el diagrama de estado clásico se puede representar en forma de tabla colocando todas las transiciones posibles de un estado a otro como variables independientes de la tabla y las entradas como variables dependientes, es decir, se genera un renglón de la tabla por cada transición y anotando los valores necesarios de las entradas para producir dicha transición. Así, para el ejemplo del FF-SR se obtiene:

Tabla de Estado o Tabla Característica
Esta es otra manera de organizar en forma de tabla el comportamiento del circuito secuencial, Se trata básicamente de la misma tabla de funcionamiento ya descrita, salvo que ahora no se introduce ninguna variable de manera que el estado presente (Qo) se trata como si fuera otra entrada.
Para el ejemplo del FF-SR tendremos:

Diagramas de tiempo
Los diagramas de tiempo son representaciones gráficas de la evolución de los valores que toman las variables de interés en un circuito digital, de la manera como se podrían ver en la pantalla de un osciloscopio.
Los diagramas de tiempo no son una herramienta propia de los circuitos secuenciales, ya que estos también son útiles para circuitos combinacionales como se ilustró en los capítulos anteriores, sin embargo, en el caso de los circuitos secuenciales, la información de tiempo es más crucial por esto los diagramas de tiempo cobran una mayor importancia que en el caso combinacional.
Es importante mencionar que estos diagramas no son únicos para un circuito dado, de hecho, pueden poseer información incompleta o en ocasiones redundante. Así, para el ejemplo del FF-SR un posible diagrama de tiempo sería como en la siguiente figura:

Diseño de un circuito secuencial
De acuerdo a las estructuras planteadas para los circuitos secuenciales se puede ver que éstos se pueden diseñar con las herramientas descritas para los circuitos combinacionales, pero tomando en cuenta la retroalimentación del estado presente.
Diseño del Flip Flop Set Reset.
Como ejemplo introductorio, consideraremos el problema de diseñar el Flip Flop-SR. En este caso la salida Q+ depende del estado anterior Qo y de las entradas S y R, es decir,
Q+ = f(Qo, S, R)
Es decir, el diseño lo plantearemos como si se tratara de un circuito combinacionale, pero considerando Qo como si fuera una entrada más. Esta función la podemos plantear por medio de la siguiente tabla de verdad, obtenida de la tabla de estado descrita anteriormente:

El Mapa de Karnaugh correspondiente es el siguiente:

De donde podemos obtener la expresión siguiente. (Aunque no es un procedimiento común, la experiencia a demostrado que se puede obtener una implementación más sencilla despreciando las condiciones sin cuidado), entonces

Para implementar con sólo compuertas NOR negamos dos veces la expresión para obtener

Con lo cual podemos implementar el FF-SR con sólo dos compuertas NOR, como sigue

Esta implementación además tiene la ventaja de que también produce la función negada Q a la salida de la primera compuerta NOR, de manera que una mejor manera de dibujar este circuito es como se muestra en la siguiente figura

Diagramas de Flujo de Estado
Una herramienta alternativa para la representación, análisis y diseño de circuitos secuenciales son los
Diagramas de Flujo de Estado, también conocidos como diagramas ASM (Algorithmic State Machine), los cuales no son más que una manera diferente de dibujar un diagrama de estado clásico, con símbolos muy similares a los usados en los Diagramas de Flujo usados para especificar programas de computadora como los que se describen a continuación
Símbolos usados en los diagramas ASM
Bloque de Estado.- El diagrama deberá tener un bloque de estado por cada posible estado presente del circuito.
En este bloque se especifica una lista de las salidas que dependen de este estado (Salidas tipo Moore) y los valores que toman en dicho estado. También se deberá especificar a un lado del bloque los valores que toman las variables de estado.

Bloque de decisión.- Los bloques de decisión son los que establecen las condiciones para que ocurra un cambio de estado, es decir, definen las trayectorias posibles y las condiciones para pasar de un estado a otro.
Dentro del bloque se deberá especificar la expresión lógica (en términos de las entradas) que decide cual es la trayectoria a seguir y en cada salida del bloque se deberá especificar el valor de la expresión para seguir por dicha salida.

Bloque de Salida.- Este bloque siempre viene de un bloque de decisión para especificar salidas cuyo valor depende del estado y de las entradas de dicho bloque de decisión (Salidas tipo Mealy).
Se especifica dentro de este bloque la lista de salidas que dependen del estado y de las entradas así como los valores que toman dichas salidas.

Ejemplo
Para dibujar el diagrama de flujo de estado de un circuito secuencial es importante hacer una lista preliminar que contenga la siguiente información. (Los valores se especifican entre paréntesis para el caso del FF-SR).
- Número de Estados (2)
- Número de variables de estado (1)
- Nombres de las variables de Estado (Q), Entradas (S,R) y Salidas (Q) y tipo (Moore).
Obsérvese que en el caso del FF-SR la única salida corresponde a la única variable de estado, por lo tanto es de tipo Moore.
El número de estados indica directamente el número de bloques de estado, de manera que el diagrama queda como sigue
Eliazar Monserrat
Adrian Segovia
Salvador Morales
Adrian Segovia
Salvador Morales
No hay comentarios:
Publicar un comentario