Está en la página 1de 8

TEMA I: INTRODUCCIN A LOS CIRCUITOS SECUENCIALES

Hasta ahora, nicamente hemos visto circuitos combinacionales, es decir, circuitos en los que las salidas dependen nica y exclusivamente de las combinaciones de entradas, y no de la historia pasada del sistema. Vamos a ver cules seran las formas de onda del siguiente circuito. A B F B A

F F = AB + AF + BF Figura 1.1.- Ejemplo de circuito digital junto con sus formas de ondas.

En las formas de onda podemos comprobar que la seal de salida F cambiar de estado (cuando sea necesario) despus del retraso de la puerta AND y OR. Otra caracterstica de este circuito que tambin podemos observar es que la salida tambin muestra una dependencia de ella misma, adems de las seales de entrada; sta implica que para una misma combinacin de seales de entrada podemos encontrar valores de salida diferentes, como sucede en el caso de AB = 10. Por lo tanto, el valor de la salida tambin depende de los valores pasados del circuito, es decir, de su historia. La dependencia de esta historia puede ser ventajosa e incluso necesaria para algunas aplicaciones en las que es necesario recordar una determinada situacin. Algunos ejemplos de esta ventaja (necesidad) pueden ser: La creacin de un reloj, que se modelada con la armacin la salida ser el valor complementario de su valor anterior, La creacin de un contador, que se modelada con la armacin la salida ser el resultado de sumar uno a su valor anterior,...

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Por lo tanto, se ve cuando menos interesante incluir la dependencia del tiempo en los sistemas y en especial, en los sistemas digitales.

1. Introduccin. Denicin de Sistema Secuencial


Los sistemas digitales que introducen la dependencia temporal son conocidos como sistemas secuenciales. Una denicin ms rigurosa de sistema secuencial puede ser la siguiente: Un circuito de conmutacin secuencial se dene como un circuito bivaluado en el cual, la salida en cualquier instante depende de las entradas en dicho instante y de la historia pasada (o secuencia) de entradas. Esta denicin implica una serie de caractersticas inherentes a estos sistemas. Entre stas podemos destacar las siguientes: Poseen uno o ms caminos de realimentacin, es decir, una o ms seales internas o de salida se vuelven a introducir como seales de entradas. Gracias a esta caracterstica se garantiza la dependencia de la operacin con la secuencia anterior. Como es lgico, existe una dependencia explcita del tiempo. Esta dependencia se produce en los lazos de realimentacin antes mencionados. En estos lazos es necesario distinguir entre las salidas y las entradas realimentadas. Esta distincin se traducir en un retraso de ambas seales (en el caso ms ideal), como se puede ver en la gura 1.2, el cual puede producirse mediante dos elementos: Elementos de retraso, ya sean explcitos o implcitos debido al retraso de la lgica combinacional. Este retraso es jo e independiente de cualquier seal. Elementos de memoria, que son dispositivos que almacena el valor de la entrada en un instante determinado por una seal externa y lo mantiene hasta que dicha seal ordene el almacenamiento de un nuevo valor. La diferencia de comportamiento entre ambos elementos radica en que la salida del elemento de retraso es una copia de la seal de entrada; mientras que el elemento de memoria copia determinados instantes de la entrada (determinados por una seal externa), y no la seal completa, el resto del tiempo la salida no cambia de valor, como podemos apreciar en la gura 1.2.

Entrada Control Retraso Memoria

Figura 1.2.- Formas de onda de salida y entrada de un elemento de retraso y de memoria.

TEMA I: INTRODUCCIN A LOS CIRCUITOS SECUENCIALES

En este caso, podemos observar que la salida del elemento de retraso es una copia de la seal de entrada retraso un determinado tiempo; mientras que la salida del elemento de memoria copia los valores de la entrada cuando la seal de control tiene una transicin de subida, por lo que la copia no es exacta, sino que slo copia lo que interesa. Por lo tanto, el modelo clsico de un sistema secuencial consta de un bloque combinacional, que generar la funcin lgica que queramos realizar, y un grupo de elementos de memoria con una serie de seales realimentadas, como se muestra en la gura 1.3. Entradas
L m gi bi c na a ci on al

Salidas

Co

Figura 1.3.- Modelo clsico de un sistema secuencial. En ella podemos distinguir tres tipos de seales: seales de entradas, seales de salida y seales de estado. Las seales de entrada y salida tienen el mismo signicado que en los sistemas combinacionales. En cambio, las seales de estado son aquellas que mantienen la informacin de la historia pasada del sistema. Las seales de estado tienen dos versiones, segn se consideren a la salida o a la entrada del elemento de memoria: Si consideramos las seales de estado a la salida de los elementos de memoria, o lo que es lo mismo, a la entrada del bloque combinacional, se denominan seales de estado presente ya que nos indica el estado en el que se encuentra el sistema para realizar una operacin. Si consideramos las seales de estado a la entrada de los elementos de memoria, o lo que es lo mismo, a la salida del bloque combinacional, se denominan seales del prximo estado ya que nos indican el estado al que llegar despus de que el bloque combinacional haya realizado la operacin.

2. Clasicacin de los Sistemas Secuenciales


Uno de los primeros problemas de los circuitos secuenciales era determinar el momento en el que el prximo estado deba pasar a estado presente, sin capturar situaciones no deseadas como pueden ser los azares. Este problema es lo que se conoce como sincronizacin, cuyas soluciones dieron lugar a una de la principales clasicaciones de los sistemas secuenciales. As podemos dividir los sistemas en dos categoras:

Elemento de Memoria

Estado Presente

Prximo Estado

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Sistemas asncronos.- La sincronizacin depende exclusivamente de los retrasos de la lgica combinacional, sin necesidad de ninguna seal externa al sistema. Sistemas sncronos.- La sincronizacin depende exclusivamente de una seal externa al sistema, conocida generalmente como seal de reloj. Esta seal de reloj controlar el comportamiento de los elementos de memoria.

Las operaciones de un sistema asncrono tienen efecto, es decir, se almacena el prximo estado, en intervalos temporales diferentes. Por lo tanto, su velocidad de operacin ser distinta para cada secuencia de entradas. De esta forma se toma como el parmetro de la velocidad de operacin el valor medio de todas las velocidades. As, la operacin de un sistema asncrono se denomina operacin del caso medio. En cambio, las operaciones de un sistema sncrono tienen efecto en el mismo intervalo temporal, el dictaminado por el periodo de la seal de reloj. Por lo tanto, su velocidad de operacin ser siempre la misma para todas las secuencias de entrada. Esta velocidad debe ser tal que todas las operaciones tengan el tiempo necesario para poder llevarse a cabo. As, la velocidad de un sistema sncrono (y por tanto la frecuencia de la seal de reloj asociada) debe estar limitada por la operacin ms lenta. A este tipo de operaciones se le suele denominar operacin del caso peor. Estos dos tipos de operaciones se muestran esquematizadas en la gura 1.4. Ambos se pueden modelar de la misma forma, es decir, con una lgica combinacional y realimentaciones a travs de elementos de memoria. La diferencia radica en el control de estos elementos: en el caso sncrono, los elementos de memoria son controlados por una seal externa, que por lo general es controlada directamente por el usuario; mientras que en el caso asncrono, esta seal de control no existe (por lo que el elemento de memoria se traduce en un elemento de retraso) o en su defecto dicha seal es generada por el propio circuito, luego el gobierno de las operaciones recaen completamente en el propio circuito. As podemos apreciar que el cambio de las seales de prximo estado a estado presente se llevan a cabo mediante un mayor o menor retraso en el caso asncrono o cuando lo indique una seal externa en el caso sncrno.

3. Representacin de los sistemas secuenciales.


De igual forma que existe una representacin de los sistemas combinacionales (mediante tablas de combinaciones), los sistemas secuenciales tambin tienen sus formas de representacin. stas son algo ms complejas, debido a la dependencia temporal. As, podemos encontrar las siguientes formas equivalentes, mostradas en la gura 1.5: Diagrama de estados, es un grafo orientado en el que cada nudo es un estado y cada transicin indica el cambio, tanto de estado como de salida, respecto a un cambio en alguna de las seales de entradas. Tablas de estado y de salida, es una representacin tabular del grafo anterior. Las entradas se representan como columnas, y los estados presentes como las; y en el interior de cada celda, se indica el prximo estado y el valor que tomar la salida cuando sufra la transicin. Las representaciones del ejemplo de la gura podran describirse verbalmente de la siguiente forma:

TEMA I: INTRODUCCIN A LOS CIRCUITOS SECUENCIALES

Entradas
g L C ica bi na cio na l

Salidas

Entradas
g L ica bi n io ac na l

Salidas

om

m Co

Elemento de

Elemento de

Memoria

Reloj

Entradas P. estado Estado p.

Entradas P. estado Estado p. Reloj Caso Asncrono Caso Sncrono

Figura 1.4.- Esquematizacin de los casos secuenciales asncronos y sncronos.

0,1 A 0,0 1,0 0,1 1,0 C 1,0 D 1,0 B 0,1

0 A B C D B, 1 B, 1 A, 0 C, 1

Memoria

Estado Presente

Prximo Estado

Estado Presente

Prximo Estado

1 C, 0 D, 0 D, 0 C, 0

Diagrama de estados

Tabla de estados

Figura 1.5.- Representacin de los sistemas secuenciales mediante diagramas de estados y Cuando el sistema est en el estado A y la seal de entrada vale 0, pasaremos al estado B con un valor de salida igual a 1. Cuando el sistema est en el estado A y la seal de entrada vale 1, pasaremos al estado C con un valor de salida igual a 0. Cuando el sistema est en el estado B y la seal de entrada vale 0, no cambiaremos de estado pero el valor de salida ser igual a 1.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Cuando el sistema est en el estado B y la seal de entrada vale 1, pasaremos al estado D con un valor de salida igual a 0. Cuando el sistema est en el estado C y la seal de entrada vale 0, pasaremos al estado A con un valor de salida igual a 0. Cuando el sistema est en el estado C y la seal de entrada vale 1, pasaremos al estado D con un valor de salida igual a 0. Cuando el sistema est en el estado D y la seal de entrada vale 0, pasaremos al estado C con un valor de salida igual a 1. Cuando el sistema est en el estado D y la seal de entrada vale 1, pasaremos al estado C con un valor de salida igual a 0.

En principio, en cualquier sistema secuencial, las seales de salida y del prximo estado van a venir determinadas por una funcin lgica de las seales de entrada y del estado presente, como muestra la siguiente ecuacin.
Q i, F i = f ( q i, I i )

No obstante, la dependencia de las seales de entrada sobre las seales de salida pueden llegar a eliminarse y encontrarlas de forma implcita en las seales de estado presente, es decir, siempre que lleguemos a un mismo estado, las salidas tomarn un nico valor. Por lo tanto, podemos encontrarnos con dos modelos o tipos de sistemas secuenciales en funcin de la dependencia de las seales de salida: Modelo de Mealy.- Las seales de salida son funciones tanto de las seales de entrada como de estado presente, como muestra las siguientes ecuaciones:
F i = f ( q i , I i ), Q i = f ( q i , I i )

Modelo de Moore.- Las seales de salida son funciones nicamente de las seales del estado presente, como muestra las siguientes ecuaciones:
F i = f ( q i ), Q i = f ( q i, I i )

debido a la diferencia de dependencia de las salidas, ambas mquinas las podemos representar de dos formas tabulares diferentes, como podemos ver en la gura 1.6. En ella, el signicado de cada celda es diferente, puesto que un mismo sistema se debe poder representar de ambas formas. En el caso de la representacin de Mealy, el signicado del interior de cada celda es el que vimos anteriormente, es decir, el prximo estado al que llegar con el valor de salida correspondiente. En cambio, en el representacin de Moore, el interior de la celda de las columnas de las entradas es el mismo, es decir, el prximo estado al que llegar el sistema; no obstante, para saber cul ser la salida tenemos que obtenerlo del valor correspondiente al prximo estado al que llegar. Ambos tipos de modelos son equivalentes y existe una transformacin directa entre ellos, segn el signicado de las celdas de cada una de las representaciones. Para pasar de una mquina de Mealy a una de Moore, se siguen los siguientes pasos:

TEMA I: INTRODUCCIN A LOS CIRCUITOS SECUENCIALES

0 A B C D B, 1 B, 1 A, 0 B, 1

1 C, 0 D, 0 D, 0 C, 0 A B C D

0 B B A B

1 C D D C

Salida 0 1 0 0

Autmata de Mealy

Autmata de Moore

Figura 1.6.- Representaciones tabulares de los autmatas de Mealy y Moore. Se deja el mismo alfabeto de entradas y salidas El alfabeto de estados es el correspondiente al inicial ms los estados a los que se llega con diferentes valores de salida Para pasar de una mquina de Moore a una de Mealy, se siguen los siguientes pasos Se deja el mismo alfabeto de entradas y salidas En la tabla de estados, se le asigna como salida la correspondiente a la del prximo estado y se eliminan las las idnticas. Ambas transformaciones se muestran en la gura 1.7. En este ejemplo, cuando pasamos de Moore a Mealy, los estados A, B y D permanecen igual ya que siempre se llega con el mismo valor de salida. No obstante al estado C se llega con dos valores de salida diferentes, luego tenemos que aadir tantos estados como valores diferentes de salida presente (en este caso dos). En la conversin contraria, en el interior de la celda se indica tanto el prximo estado como el valor de salida al que llega (indicado por la ltima columna de la mquina de Mealy). Una vez hecho esto, si existiesen las iguales, solamente nos quedaramos con una de ellas eliminando los estados sobrantes. 0 A B, 1 B B, 1 C A, 0 D C, 1 1 C, 0 D, 0 D, 0 C, 0 0 A0 B1 B0 B1 C0 A0 C1 A0 D0 C1
Mealy --> Moore

1 C0 D0 D0 D0 C0

Salida 0 1 0 1 0 A B C D E

0 B B A A D

1 C E E E C

Salida 0 1 0 1 0

0 A B, 1 B B, 1 C A, 0 D A, 0 E D, 1

1 C, 0 E, 0 E, 0 E, 0 C, 0

Moore --> Mealy

Figura 1.7.- Conversiones entre mquinas de Mealy y mquinas de Moore. Por lo tanto, hemos obtenido dos implementaciones que modelan el mismo sistema secuencial. Luego Se dice que dos sistemas secuenciales son equivalentes cuando generan la misma secuencia de salida para la misma secuencia de entrada, con independencia de cmo sea sta.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Si consideramos las mquinas de la gura 1.7, para cualquier secuencia de las seales de entrada, deberamos poder encontrar un estado inicial tal que la secuencia de salida sera la misma. Este hecho lo podemos ver en la gura 1.8, donde se muestran las formas de ondas para ambas mquinas. Debemos destacar que hemos elegido como estados iniciales equivalentes, los estados B (de la mquina de Mealy) y B1 (de la mquina de Moore). Tambin podemos observar que cuando la entrada toma el valor 1, ningn estado se estabiliza sino que existe un cambio continuo entre los estados C y D (C0 y D0); el estado en el que se produce la transicin de entrada depende del retraso de la mquina. Entrada Estado Salida Mquina de Mealy Estado Salida Mquina de Moore Figura 1.8.- Equivalencia entre dos mquinas secuenciales. B1 D0 C0 D0 C0 A0 B1 D0 C0 A0 B1 B D C D C A B D C A B

4. Aplicaciones de sistemas secuenciales.


Como ya hemos comentado, los sistemas secuenciales forman un conjunto de circuitos muy importantes en la vida cotidiana. En cualquier elemento que sea necesario almacenar algn parmetro, es necesario un sistema secuencial. As, cualquier elemento de programacin (o lo que es lo mismo, con ms de una funcin) necesita un sistema secuencial. A modo de ejemplo, expondremos el caso de una mquina de refrescos. En esta mquina iremos introduciendo monedas hasta alcanzar o sobrepasar el valor del refresco que deseamos sacar. Por lo tanto, en este sistema se debe almacenar una serie de datos, como pueden ser: Los precios de los productos ofertados. Estado de existencia de los mismos. Cantidad de dinero que hayamos introducido en la mquina hasta el momento. As, vemos que es necesario almacenar temporalmente una serie de datos, por lo que nos encontramos ante un sistema secuencial.