Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Circuitos Secuenciales
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,...
Por lo tanto, se ve cuando menos interesante incluir la dependencia del tiempo en los sistemas y en especial, en los sistemas digitales.
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.
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.
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
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:
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
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.
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