Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Maquinas PDF
Maquinas PDF
Capítulo 9
Sistemas secuenciales
9.1. Definiciones
Evento
Se denomina evento al cambio de valor de una señal en un instante de tiempo. Pasar de nivel
lógico 1 a 0 se denomina canto de bajada. Un canto de subida se produce cuando la señal pasa
de nivel lógico 0 a 1.
A un evento también se lo denomina mensaje; en un caso más general cuando se tienen varias
señales, los valores que toman los eventos suelen interpretarse como símbolos pertenecientes a
un alfabeto.
Máquina abstracta.
Una máquina abstracta es un modelo de computación que establece cómo se generan las
acciones, o eventos de salida, a partir de los mensajes o eventos de entrada.
Mensajes Acciones
Máquina
Existen sistemas o máquinas que pueden cambiar sus atributos en función del tiempo, se
denominan dinámicos.
Estado.
Transición.
Se denomina transición al cambio de estado del sistema, y ésta debe indicar cómo se pasa de un
estado a otro.
Un modelo matemático adecuado para la función de transición es una matriz, en la cual los
renglones y columnas representan los diferentes estados internos y los eventos de entrada,
respectivamente. El contenido de la matriz especifica el próximo estado.
Diagrama de estados.
Es posible generar un autómata de estados finitos determinista que tenga las mismas salidas,
para iguales entradas, que uno no determinista.
Tipos de máquinas.
Existen varios tipos de máquinas. Se denominan de Mealy aquéllas cuyas salidas se producen
en las transiciones entre estados; y Moore a aquéllas en las cuales las salidas están asociadas al
estado. Existen procedimientos para convertir un modelo de Mealy en uno de Moore.
Un diagrama de la estructura interna de la máquina abstracta que se ilustra en la Figura 9.1, se
muestra en la Figura 9.2.
Y = FPE(x, y)
x FPE M FS
Y y z
Las funciones de próximo estado y de salida son funciones combinacionales. La Figura 9.2,
muestra un bloque de memoria M, que sostiene durante un tiempo el valor del estado presente y,
una vez calculado el próximo estado Y, éste se registra como el nuevo estado actual.
Reloj.
Máquinas secuenciales.
Las máquinas de estados finitos suelen denominarse máquinas secuenciales ya que a partir de
un estado inicial y de una secuencia ordenada de eventos de entrada, generan una secuencia de
estados por los que pasa la máquina, y a su vez una secuencia de acciones de salida.
Las máquinas secuenciales son un poderoso modelo para implementar esquemas de control
secuencial (dependientes de la historia pasada), tanto en hardware como en software. El modelo
Si la memoria está formada por un conjunto de flip-flops comandados por el mismo reloj, la
actualización del estado se produce en instantes sincronizados por el reloj. La Figura 9.3
muestra el diagrama general de Moore de una máquina secuencial sincrónica.
Reset’
x FPE M FS
Y y z
D Q
Clk
Si en la Figura 9.2, el bloque de memoria M, está formado por unidades de retardo se tiene un
modelo de representación de máquinas secuenciales asincrónicas.
Síntesis lógica.
Ejemplos de secuencias.
a) Sincrónica de nivel.
0 1 2 3 4 5 6 7 8 9 (valores de k)
t0
...
xn = { 0 1 0 0 1 1 0 1 0 0 ... }
Se dice que la señal xn es una secuencia sincrónica de niveles, con respecto a un reloj, ya que
ésta sólo cambia en cantos de bajada (o de subida) del reloj, y además permanece constante el
nivel de la señal entre cantos de bajada (o de subida) del reloj.
La Figura 9.5, muestra una secuencia sincronizada por los cantos de bajada del reloj.
b) Sincrónica de pulsos
reloj
xp = { 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, ... }
t0 t1 t2 t3 t4 t5
xa = { 0 1 0 1 0 1 ...}
t t t t t t t
0 1 2 3 4 5 6
Los valores que deben registrarse para recordar la situación, debida a los valores de las entradas
pasadas, se almacenan en variables de estado. Podemos considerar que las variables de estado
son salidas de elementos con memoria (flip-flops, registros, latches, retardos).
En cualquier instante, una máquina secuencial está en uno de un número finito de estados; éstos
quedan determinados por el valor de las variables de estado. Por ejemplo, si hay cuatro estados,
se requieren 2 variables de estado para registrar que el sistema se encuentra en uno de los cuatro
estados posibles: 00, 01, 10, 11.
Si se aplica una secuencia de entrada, la máquina generará una secuencia de salida, y pasará por
una secuencia de estados internos.
y j (k 1) = Y j (k )
La memoria debe ser capaz de almacenar los Yj (k) y sostener estos valores durante el intervalo
(k+1). Debe notarse que los valores y j (k 1) son estables, pero los valores Y j (k ) , en el
intervalo anterior, pueden presentar perturbaciones al inicio para estabilizarse hacia el final del
intervalo. En el intervalo k-ésimo, la entrada a la memoria j-ésima es Y j (k ) ; la salida de esa
memoria, en el mismo intervalo, es y j (k ) .
Y(k) y(k+1)
Y(k) y(k)
k k+1
Ecuaciones que indican que tanto la salida como el próximo estado dependen de la entrada y el
estado actual.
Para resolverla, es preciso conocer el valor del estado inicial y la secuencia de entrada a partir
del tiempo inicial.
Gráficamente:
y (0) y (1) y (2) y (3)
....... ..
x (0) x (1) x (2) x (3)
Para conocer y(1) se requiere conocer y(0) y x(0). Para conocer y(2) se requiere conocer y(1) y
x(1). Para conocer y(3) se requiere conocer y(2) y x(2). Y así sucesivamente.
y (k 1) = y (k )
Si el próximo estado es diferente al actual, se dice que habrá una transición o cambio de estado.
Ese estado actual se denomina inestable:
y(k 1) y (k )
Lo anterior implica que una de las variables de estado conmuta, o cambia, su valor lógico.
Los elementos de almacenamiento pueden ser simplemente líneas de realimentación, las que
tienen asociado un retardo entre la entrada y la salida, en este caso se tienen sistemas
secuenciales asincrónicos.
Se entiende por representación la descripción de cómo se pasa de un estado a otro, debido a los
cambios de las entradas. Las representaciones deben describir en forma precisa y completa a la
máquina. Además, deben ser adecuadas para una manipulación formal.
Es un modelo secuencial en el cual la salida está asociada a las transiciones entre estados. Las
salidas cambian instantáneamente con los cambios de las entradas; el cambio de estado, se
produce sincronizadamente con el reloj. El diagrama se muestra en la Figura 9.9.
Reset’
x z
M
FS
Y y
FPE DQ
Clk
i) Diagrama de estados
Un diagrama de estados es un grafo en el cual, los estados se representan mediante círculos, y
por líneas rotuladas y orientadas las transiciones. El rótulo indica la entrada y la salida que
provoca la transición. Se separan con una pequeña barra diagonal (slash, en inglés).
En general:
y2
x/z
y1
El diagrama anterior puede leerse: Estando en el estado y1 , cuando llega la entrada x se pasa al
estado y2 , con salida z.
Esquemáticamente:
x
y Y/z
Las representaciones son equivalentes, puede lograrse una a partir de la otra. Es decir, la matriz
de transiciones y el diagrama de estado suministran la misma información.
y Y y z
Modelo secuencial en el cual la salida sólo está asociada al estado presente. Las salidas y el
estado cambian sólo en los cantos de sincronización del reloj.
x(k) FPE M FS
Clk
i) Diagrama de estados
y2/z2
x
y1/z1
El diagrama anterior, puede leerse: Estando en estado y1 , con salida z1 ; cuando ocurre la entrada
x se pasa al estado y2 , con salida z2 .
La salida no cambia en la transición; por esta razón, las salidas se asocian a los estados.
ii) Tabla de transiciones x
y Y y z
El modelo de Mealy es más general que el de Moore. Este último es un caso particular del
primero.
Ejemplo 9.1
X
0 1
Estado
A D/0 C/1 Secuencia de Entrada ={0,1,1,0,1,0,1,1,0,0,0,...}
B B/1 A/0
Estado inicial = A
C C/1 D/0
D A/0 B/1
Próximo estado/z
Secuencia 0 1 2 3 4 5 6 7 8 9 10
Entrada 0 1 1 0 1 0 1 1 0 0 0
Estado actual A D B A D B B A C C C
Próximo estado D B A D B B A C C C C
Salida 0 1 0 0 1 1 0 1 1 1 1
x z
... ...
0123.. 012...
Se ingresa la secuencia de valores: x0, x1, x2,… y se genera la secuencia de valores de salida: z0,
z1, z2, ...
B D
0/1 1/1
Ejemplo 9.2.
0 1
1 0
B/0
i 0 1 2 3 4 5
Entrada 0 0 0 1 1 1
Estado presente C B A A B C
Estado próximo B A A B C A
Salida 0 0 1 1 0 0
Las máquinas de Moore suelen emplearse como reconocedores de secuencias. Es decir, que
entreguen una salida cuando ocurre una determinada secuencia en la entrada.
Pueden obtenerse la tabla de transiciones y la tabla con la lógica de salida, a partir del diagrama
de estados:
Ejemplo 9.3.
1
reset
0
Moore 0 1 2 3 4 5
Entrada 0 1 1 0 1 1
Estado presente Inicio Inicio Est0 Est1 Est2 Est0
Estado próximo Inicio Est0 Est1 Est2 Est0 Est1
Salida 0 0 0 0 1 0
1/0 1/0
0/0 1/0
0/1
reset
Figura 9.24 Diagrama de Mealy Ejemplo 9.3.
Mealy 0 1 2 3 4 5
Entrada 0 1 1 0 1 1
Estado presente Inicio Inicio Est0 Est1 Inicio Est0
Estado próximo Inicio Est0 Est1 Inicio Est0 Est1
Salida 0 0 0 1 0 0
En general los modelos de Mealy pueden generar las mismas secuencias de salidas que una
máquina de Moore, pero con menos estados. Nótese que las salidas de Mealy ocurren un
intervalo de tiempo antes que las de Moore.
En las máquinas de Mealy, las salidas z pueden cambiar inmediatamente cuando ocurre un
cambio en las entradas, y éstas pueden cambiar entre pulsos del reloj. Si esto no se desea,
pueden sincronizarse las salidas asincrónicas, de una máquina de Mealy, pasándolas por un flip-
flop. Esto se muestra en la Figura 9.24b, donde la salida zr , tiene sus cambios sincronizados por
el reloj. Esto aumenta el número de flip-flops requeridos para la implementación y además se
posterga la salida hasta el próximo canto del reloj. Ver Capítulo 11.9.
Clk
x(k) zr(k)
M
FS
y(k+1) y(k)
FPE DQ
Clk
Ejemplo 9.4.
Los siguientes diagramas ilustran la diferencia entre el número de estados, requeridos para cada
uno de los modelos de máquina, para un detector de la secuencia de dos unos seguidos, cada vez
que ésta se presente.
reset
0 reset
S0/0
0/0
S0
0 1
0/0 1/0
S1/0 0
S1
1
1
S2/1 1/1
Supongamos que disponemos de una lavadora, que externamente tiene tres botones: Encender,
Detener, Lavar; de un indicador luminoso L, y de un interruptor ubicado en la puerta.
La Figura 9.26 ilustra un esquema de los controles e indicadores de la máquina lavadora.
puerta
Estando apagada, el evento encender dispara una transición al estado detenida (o encendida).
Estando en el estado detenida, la ocurrencia del evento lavar produce la transición al estado
lavando.
Si está lavando, la presión del botón detener gatilla la conmutación al estado detenida.
Al producirse el evento abrir la puerta, la lavadora debe pasar al estado apagada.
La luz L debe encenderse cuando hay potencia aplicada a la lavadora. Es decir, desde que se
pasa de apagada a encendida y mantenerse iluminada hasta que se abra la puerta, cuando se pasa
a apagada.
Los eventos producen cambios de estado. Cada transición o cambio de estado, está asociada a
un (y sólo un) evento. Un evento puede desencadenar varias transiciones, en el ejemplo, la
entrada o evento puerta produce dos transiciones, dependiendo del estado en que se encuentra la
lavadora.
La única acción de salida L se ilustra asociada a las transiciones (Mealy). También es posible
asociarla a los estados (Moore): la luz L debe estar encendida mientras la lavadora esté
encendida o lavando; debe apagarse cuando esté en el estado apagada.
Encender/ L Lavar/ L
Puerta/ L’ Detener/ L
Puerta/ L’
Sub-máquinas.
La descripción de la lavadora puede seguir especificándose con mayor detalle, si se define con
mayor precisión el estado lavando. Esto significa observar señales internas de la lavadora.
Si se define el evento rotar, que produce que el motor de una vuelta, y de la señal de salida giro
(G=1 a la izquierda, y G=0 a la derecha) y se define que el proceso de lavar sea dar dos vueltas
a la izquierda seguidas por dos vueltas a la derecha, en el diagrama aparecen cuatro nuevos
estados para describir el estado lavando.
Apagada
Puerta/ L’ Encender/ L
Puerta/ L’
Puerta/ L’
Encendida
Lavar/ L Detener/ L
Rotar
Izquierda/ G Derecha 1/ G’
Puerta/ L’ Puerta/ L’
Rotar Rotar
Izquierda 1/ G Derecha/ G’
Rotar
a) En el diagrama de Mealy deben separarse aquellos estados, para los cuáles existan
transiciones con diferentes valores de salida, para igual entrada:
x/0
x/0 Sa0
Sa
x/1 Sa1
x/1
Figura 9.29. Separación de estados.
Luego cada estado tendrá sólo un valor de salida asociado, y se transforma a representación de
Moore, según:
x Sa0/0
Sa1/1
x
b) Una vez agotado el paso a), para el estado inicial pueden presentarse dos casos:
b1) Estado inicial con salida 0. No requiere modificación.
reset S/0
S/1
reset
En este caso debería haber salida, sin haber aplicado una entrada. Se corrige agregando un
estado adicional:
S/1
Si/0
reset
reset
reset 0/0
S0
0/0
S0
0/0 1/0
reset
0/0
S0
0/0 1/0
S10 0/0
1/1
1/1
S11
reset
0
S0/0
0 1
S10/0 0
1
1
S11/1
0
reset entrada estado próximo salida
actual estado
B/0 1 D/1 1 - A - 0
0 0 A B 0
0 0 1 A C 0
0
reset 0 0 B B 0
A/0 0 1 B D 0
1 0
0 0 C E 0
1 0 1 C C 0
1
0 0 D E 1
C/0 E/1 0 1 D C 1
0
0 0 E B 1
0 1 E D 1
1
0/0
reset entrada Estado próximo salida
B actual estado
0/0 1 - A - -
0 0 A B 0
reset 0 1 A C 0
A 0/1 1/1
0 0 B B 0
0 1 B C 1
1/0
0 0 C B 1
C 0 1 C C 0
1/0
Si bien existen innumerables formas que pueden tomar los diagramas de estados, pueden
describirse algunos tipos que se presentan frecuentemente.
Máquinas que analizan secuencias de largo fijo con un recorrido fijo. Por ejemplo:
adquirir 5 valores de la secuencia y tomar una acción, de acuerdo a los valores.
Máquinas que analizan secuencias de largo fijo con un recorrido fijo, con reintento en
caso de falla. Si una subsecuencia no es correcta, vuelven al estado inicial; o a un estado
previo.
Reconocedores continuos. Se genera una salida cada vez que se detecta una secuencia
dada. En estas máquinas, cada estado recuerda una secuencia previa de la entrada. En
este caso, se habla de estado inicial sólo cuando la máquina comienza a funcionar.
Nuestro lenguaje común suele ser impreciso y a veces redundante. Por esta razón es conveniente
emplear las construcciones estructuradas de los lenguajes de programación. Ver Apéndice 5,
sobre Uso de Verilog.
En general, el paso de una descripción en lenguaje natural a la tabla de estados, se efectúa por
pasos tentativos, hasta asegurar que el modelo formal obtenido cumple las especificaciones
dadas.
x M.S. z
Tenemos que interpretar cuando se genera la salida. Como para cada valor i de la secuencia de
entrada debe existir un valor de la secuencia de salida; debemos decidir qué salida generar
cuando han llegado uno, dos o tres valores de la entrada. En estos casos asumiremos salida cero,
dejando salida uno si los cuatro bits no pertenecen al código BCD. El bit más significativo es el
primero.
Estado Inicial
0/0 1/0
b c
0/0 1/0 0/0 1/0
d e f g
0/0 1/0 0/0 1/0 0/0 1/0 0/0 1/0
h i j k l m n o
0/0 1/0 0/0 1/0 0/0 1/0 0/0 1/0 0/0 1/0 0/1 1/1 0/1 1/1 0/1 1/1
Cada estado representa una subsecuencia previa de la entrada. Por ejemplo, en el estado l se ha
recibido la secuencia 100. En el estado d se ha recibido 00.
Este primer diseño es muy sistemático; se forma un árbol de decisión. De cada estado, se pasa a
dos próximos con entrada cero y uno respectivamente.
Estos problemas no tienen una solución única. Puede encontrarse un diagrama de estados más
simple. Por ejemplo:
a
1/0
0/0
b e 1/0
/0 0/0
c f g
1/0
/0
/0
/0 /0
0/0
d h
/0 /1
Se emplea para indicar que con entrada cero o uno, se pasa al próximo estado. Este segundo
diagrama requiere tres flip-flops para representar los siete estados. El anterior requiere 4 flip-
flops para identificar 15 estados.
Existen procedimientos sistemáticos para encontrar estados equivalentes y removerlos de los
diagramas, esto se desarrolla en el Capítulo 12.
Se desea obtener el diagrama de estados de una máquina secuencial que produzca una salida alta
cada vez que se detecta la secuencia 0101 en la entrada; la salida debe ser cero en el resto de los
casos.
A partir de un estado inicial A, se plantea el diagrama para la secuencia que se desea reconocer:
A B C D
0/0 1/0 0/0
1/1
Luego, lo que resta es completar las transiciones que faltan. Desde cada estado deben salir dos
transiciones; en este caso, sólo hay una entrada, y ésta puede tomar valores 0 y 1.
Observaciones:
0/0
1/0 0/0
A B
B C D
0/0 1/0
1/1
0/0
Figura 9.43 Diagrama de estados completo del reconocedor continuo.
Diseñar máquina secuencial que reconozca con salida uno, cada vez que se presente en la
entrada, la secuencia de exactamente dos ceros, seguida de 10. En caso contrario debe generar
salida cero.
0/1
El diagrama completo:
1/0 0/0
E
1/0 0/0
0/0 1/0
1/0 A B C D
0/0
0/1
1/0
En este ejemplo se ilustra la importancia de darle un nombre simbólico adecuado a cada estado.
Si la entrada presente y las tres anteriores forman un código válido BCD, entonces la salida
permanece en 0; en caso contrario la salida debe ser uno.
Si asignamos el nombre del estado tal que éste sea la secuencia previa de 3 bits de la entrada,
para construir el diagrama basta obtener los estados próximos a cualquier estado.
Por ejemplo, a partir del 001, se llega a los estados 011 y 010, con entradas uno y cero
respectivamente.
001
1 0
011 010
Los dos últimos bits de 001, forman los dos primeros de 011 y 010.
De esta forma es sencillo plantear, el diagrama completo, que se muestra en la Figura 9.47.
000
1 0
1
001 100
0
0
010
1 1 0 0
101
1 1
011 110
0
1 0
111
Para completar el diagrama deben indicarse las salidas asociadas a las transiciones.
Las secuencias: 1010, 1011, 1100, 1101, 1110, 1111 son las que tienen asociada una salida uno.
La función de salida puede describirse por la siguiente tabla de verdad, y con ésta completar el
diagrama.
Estado x
0 1
000 0 0
001 0 0
010 0 0
011 0 0
100 0 0
101 1 1
110 1 1
111 1 1
z
0/0 1/0
1/0 0/0
1/1 B C
1/0 /0
/0
0/0
D E
1/0 /0
0/0
F G
Asumiendo que el estado inicial es el A, y observando cuando se produce la única salida con
valor 1, y que además después de cuatro transiciones se retorna al estado inicial: se obtiene que
analiza secuencias de largo cuatro. Si la secuencia es 1111 genera salida 1; en el resto de las
secuencias la salida es cero.
Problemas resueltos.
Se desea diseñar una máquina secuencial cuyo objetivo es permitir a la hormiga encontrar la
salida del laberinto.
La hormiga dispone de dos sensores en las antenas izquierda y derecha (I y D), que están en 1 si
la antena respectiva entra en contacto con las paredes del laberinto; y se colocan en cero si dejan
de estar en contacto. Son las entradas a la máquina de estados finitos.
La hormiga también dispone de tres señales de actuación, que son las salidas de la máquina, una
señal para avanzar hacia delante A; otra para doblar levemente hacia la izquierda DI; y otra para
doblar levemente hacia la derecha DD.
La estrategia para diseñar el cerebro de la hormiga es mantener la pared a la derecha de la
hormiga.
Para desarrollar el diagrama de estados, se elige emplear el modelo de Moore. Es decir, las
salidas estarán asociadas al estado.
Se definen los estados posibles, y en cada uno de éstos debe observarse los valores de las
entradas que llevan a otros estados. Debe notarse que se tienen cuatro combinaciones posibles
para los valores permitidos a las entradas, esto implica dibujar 4 transiciones a estados
próximos. Sin embargo es posible simplificar el diagrama rotulando las transiciones como una
expresión lógica de las entradas.
Ejemplos:
Si debe pasarse a cierto estado cuando cualesquiera de las antenas tocan una pared, la transición
puede rotularse ( I + D).
Para encontrar los estados debe analizarse las diversas situaciones en que se puede encontrar la
hormiga en su recorrido del laberinto. Observando las entradas, y las acciones que ésta puede
realizar, a continuación se plantean algunas de las situaciones:
C: Se acaba la pared:
Avanzar, doblando levemente a la derecha, hasta llegar a D:
H:Perdido:
Avanzar hasta tocar algo.
I+D I’ D
I’ D’ D
I’ D’ D
I’ D’
B C
(DD, A) (DD, A) D’
D’
Nótese que los estados E y G se tratan como si fuera un solo estado. En ambos se toca con la
antena izquierda, y el objetivo (local, para cumplir la estrategia) es dejar de tocar la pared.
El diagrama muestra que los estados B y C podrían tratarse como uno solo (son equivalentes).
Ya que tienen iguales salidas; y para iguales entradas, se pasa a igual estado próximo (más
adelante, en el Capítulo 12, se verán algoritmos para determinar estados equivalentes).
Si se funden los estados B y C se llega al siguiente diagrama, que representa el cerebro de la
hormiga:
I+D
L’ D’ D
I’ D’
I’ D’
B/C
D’ (DD,
A)
S0 S1 S2 S3 S4 S5 S6 S7
reset 0 0 0 0 0 0 0
[000] [001] [010] [011] [100] [101] [110] [111]
reset S0 0 S1 0 S2 0 S3 0 S4 0 S5 0 S6 0 S7
[000] [001] [010] [011] [100] [101] [110] [111]
1
1 1 1
1
1 1 1
Sean: entrada x y salida z. La salida se activa cada vez que se presenta la secuencia 010, y
mientras que la secuencia 100 no se haya presentado, en cuyo caso la salida se desactiva
permanentemente.
reset E0
[0]
0 1
E1 E4
[0] [0]
1 0
E2 E5
[0] [0]
0 0
E3 E6
0,1
[1] [0]
Si estando en E2 llega un uno, se tendrán dos unos seguidos, entonces debe pasarse al estado
E4.
Si estando en E5 llega un uno, se tendrá hasta ese momento, que los dos últimos de la secuencia
son 01, entonces debe pasarse al estado E2.
reset E0
[0]
0 1
E1 E4
0 1
[0] [0]
...0 ...1
1 0
1
E2 1 E5
...10
[0] [0]
...01
0 1 0
E3 E6
0, 1
[1] [0]
...010 ...100
Problema 9.4. Diseñar el control de una máquina de lavar ropa. Uso de temporizadores.
Entradas Salidas
Descripción Variable Descripción Variable
Botón de Partida SP Dispensador mediano AM
Sensor carga mediana SM Dispensador Grande AG
Sensor carga grande SG Actuador lavado AL
Sensor salida sucia SS Actuador enjuague AE
Sensor descarga salida SD Actuador centrífuga AC
Timeout 60 min O60 Inicio timer 60 min I60
Timeout 10 min O10 Inicio timer 10 min I10
reset
Enjuage Centrífuga
O10’ / AE
O10&SS’ # O60 / I10 1
O10’&SD / AC
Determinar el diagrama de estados de una máquina secuencial (Modelo de Mealy) que produce
una salida alta cada vez que se detecta la secuencia 0101 en la entrada; y salida cero en el resto
de los casos. Determinar la secuencia de salida y de estados para la siguiente secuencia de
entrada: 010110011…
Solución.
1/0
0/0
1/0 0/0
A B
B C D
0/0 1/0
1/1
0/0
Entrada 0 1 0 1 1 0 0 1 1 ....
Salida 0 0 0 1 0 0 0 0 0 ....
Pxo. Estado B C D C A B B C A ….
z1 0 1 1 0 1 0
z2 1 1 1 1 0 1
z1 0 1 1 0 0 1
z2 1 1 0 1 1 1
Solución:
a) Una posible solución es elegir la secuencia de x = 1 para asignar los nombres a los estados y
a partir de esta asignación completar la matriz de transición de tal manera que se cumpla con la
secuencia para x = 0.
En ambas secuencias las salidas pasan por seis estados, teniendo estados con iguales salidas las
soluciones pueden ser combinaciones de elecciones de estos estados, pero deben tenerse los seis
estados
Son posibles otras soluciones de acuerdo a la asignación de los nombres de los estados.
x 0 1 Salida z2z1
Estado Estado
A C B A 10
B A C B 11
C E D C 11
D B E D 10
E F F E 01
F D A F 10
0
A
1 10 1
F B
10 11
0
1
1 0
0
E C
01 11 0
0
1 D 1
10
Entrada Reset 0 0 0 1 1 0 0 1 0 -
Estado Actual - A C E F A B A C D B
Próximo Estado A C E F A B A C D B -
Salida (z2z1) 10 10 11 01 10 10 11 10 11 10 11
Para una máquina secuencial con dos entradas c1 y c0. A es el estado inicial.
Se tienen:
Con c1 = 0 y c0 = 0 el sistema recorre la siguiente secuencia periódica de estados: ABCD.
Con c1 = 1 y c0 = 1 el sistema recorre la siguiente secuencia periódica de estados: ADCB.
Con c1 = 1 y c0 = 0 el sistema recorre la siguiente secuencia periódica de estados: ADBC.
Con c1 = 0 y c0 = 1 el sistema recorre la siguiente secuencia periódica de estados: ABD. Y
si está en estado C, permanece en él.
a) Determinar la tabla o matriz de excitaciones.
b) Determinar la secuencia de estados para la siguiente secuencia de entradas:
c1 0 0 1 0 0 1
c0 0 0 0 1 1 1
Solución:
Se asume que al cambiar las entradas, mientras se genera una secuencia, se continúa con el
próximo estado de acuerdo a las entradas. Es decir no se retorna a un estado inicial.
reset A
0 0
C1C0
1 11
10
D B
10
11
11
00 0
C
01
01
a)
Entradas c1c0
Estado 00 01 11 10
A B B D D
B C D A C
C D C B A
D A A C B
Próximo estado
b)
c1 0 0 1 0 0 1 ..
c0 0 0 0 1 1 1 ..
Estado Actual A B C A B D C
Próximo estado B C A B D C
Se tiene una máquina secuencial de Moore, con una entrada x, y tres salidas: z1, z2 y z3.
Cada vez que se presenta la secuencia 01 en la entrada, las salidas toman valores:
z1=1, z2=0 y z3=0.
Cada vez que se presenta la secuencia 10 en la entrada, las salidas toman valores:
z1=0, z2=1 y z3=0.
Cuando se presenta la secuencia 00 en la entrada, vuelve al estado inicial, con salidas: z1=0,
z2=0 y z3=0; y desde allí reanuda el análisis de las secuencias; es decir, vuelve a comenzar.
Cuando se presenta la secuencia 11 en la entrada, permanece en el estado al cual llegó, con
salidas: z1=0, z2=0 y z3=1.
En el resto de los casos las salidas toman valores: z1=0, z2=0 y z3=0.
Determinar:
a) El diagrama de estados.
b) La tabla de transiciones entre estados.
c) Diseño de ecuaciones para las salidas, mediante un mapa de Karnaugh. Indicar el nombre
elegido para las variables de estado y los nombres binarios elegidos para los estados lógicos.
Solución.
El nombre _0 se usa para el estado al que pasa la máquina cuando ha llegado un cero, estando
en el inicial. Y _1 se usa para el estado al que pasa la máquina cuando ha llegado un uno,
estando en el inicial.
reset
x Estado z1 z2 z3
Estado 0 1 lógico
__
__ _0 _1 __ 0 0 0
0 000
1 _0 __ _1 _0 0 0 0
0 _1 10 11 _1 0 0 0
_0 _1 01 10 11 01 1 0 0
0 10 __ 01 10 0 1 0
000 000
11 11 11 11 0 0 1
1 0
0 Próximo Est.
01 10
100 010
1
1
11
1 001
Resultan:
Observaciones.
Estando en el estado inicial, cuando llega un uno o un cero, no pueden activarse las salidas z1,
z2 y z3. Ya que éstas reconocen las secuencias 01, 10 y 11 respectivamente; y no la presencia de
un cero o de un uno.
La frase: “Cuando se presenta...” es imperativa. Y tiene precedencia sobre las frases: “Cada vez
que se presente...”.
Por ejemplo, si llega la secuencia 001..., después de los dos ceros debe ir al estado inicial, y
volver a analizar. El estado inicial representa la situación en que aún no han llegado entradas, o
después de que llegó la secuencia 00.
Otro ejemplo, si llega la secuencia 1101...., va inmediatamente al estado 11, y no reconoce la
secuencia 01 que la sigue; tampoco debe reconocer la secuencia 10 que está también presente en
1101....
Con las especificaciones dadas, y la designación de los nombres dados antes, el diagrama queda
como sigue.
reset
No ha llegado nada
__
0 000 1
?
?
0
Llegó 00 1 0 Llegó 10
0
01 10
Llegó 01 100 010
1
11
1 001
Llegó 11
Para completar el diagrama hay que agregar estados adicionales, entre el inicial y los estados
denominados 01 y 10. Aparecen los estados _0 y _1.
Si desde el estado inicial, con entrada cero, fuera al estado 10, detectaría la secuencia 10 cuando
sólo ha llegado un cero.
z1 = Q1Q0’x
z2= Q1’Q0 x’
z3= Q1Q0 + Q0 x
Problema 9.9.
Si x es una entrada, se tienen las ecuaciones que programan tres flip-flops Ds.
D2 = Q2’Q1Q0’x, D1= Q2’Q0 + Q1Q0 + Q2’Q1x, D0 = Q2’x + Q1Q0x
Y las siguientes ecuaciones para las salidas: z1 = Q2’Q1Q0, z0 = Q2Q1Q0
En funcionamiento normal, un pulso en la entrada reset, deja al sistema en el estado binario 000.
Determinar:
a) Si la máquina es de Mealy o de Moore. En qué basa su respuesta.
b) Matriz de transiciones.
c) Diagrama de estados. Indicar los estados que no participan en el trabajo normal del sistema
secuencial.
d) Acciones que realiza la máquina de estados, considerando que el estado binario 000 es el
estado inicial.
e) Indicar secuencias de estado y de salida para la secuencia de entrada:
Número 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
secuencia
x 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 .
Estado actual 000
Z1
Z0
Solución:
a) Las salidas sólo dependen del estado. Puede aplicarse el modelo de Moore.
b) Matriz de transiciones.
Q2Q1Q0 x = 0 x = 1 Salidas
000 000 001 00
001 010 011 00
011 010 011 01
010 000 111 00
110 000 000 00
111 010 011 10
101 000 000 00
100 000 000 00
Q2+Q1+Q0+ z0z1
Figura P9.22. Matriz de transiciones Problema 9.9.
c) Diagrama de estados.
En funcionamiento normal no se pasa por los estados 110, 101 y 100.
No se puede llegar a ellos si la máquina parte en el estado inicial. Sin embargo están definidos
sus estados próximos como el estado inicial.
Q2Q1Q0 1 011
01
Z0Z1 1
reset
1 0
0 0
110 101 100
00 00 00
d) Acciones.
Reconoce la secuencia 101 cada vez que se presente, con salida z1=1 y z0 = 0.
Número 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
secuencia
x 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 .
Est. actual 000 001 010 111 011 011 010 111 010 111 011 011 011 010 000 001 011
Z0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0
Z1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1
Se tienen dos sensores i y d (izquierda y derecha) ubicados a cierta distancia sobre el suelo de
un pasillo y cuyo objetivo es detectar la dirección del paso de personas por el pasillo.
Estando la persona ubicada en la zona izquierda, con ambos sensores en cero, si la persona
avanza hacia la derecha y llega a la zona donde nuevamente ambos sensores son cero, debe
indicarse con la señal z1 =1.
Estando la persona ubicada en la zona derecha, con ambos sensores en cero, si la persona
avanza hacia la izquierda y llega a la zona donde nuevamente ambos sensores son cero, debe
indicarse con la señal z0 =1.
En el resto de los casos, las salidas deben ser ceros.
Las personas pueden quedarse detenidas o retroceder, pero sólo deben generarse las salidas
cuando se cumplen las condiciones anteriores.
Se ilustran los valores de los sensores cuando un objeto ocupa total o parcialmente las zonas
indicadas. Hacia la extrema izquierda y derecha los sensores marcan cero.
i d
11
10 01 id
00 00
Determinar el diagrama de estados (modelo de Mealy) que modela el sistema. Indicar el estado
inicial, y la señal de reset.
Solución.
Todas las salidas son cero, excepto las de los estados F y G, con entradas 00.
De cada estado deben especificarse las transiciones que físicamente son permitidas. Por ejemplo
estando en el estado A, no puede presentarse el evento de que ambas entradas estén un uno. Si
por ejemplo la persona está ubicada en la zona con los dos sensores activos, es decir en los
estados D y E, las transiciones que deben especificarse son las correspondientes a las
combinaciones 11, 01 y 10 de las entradas; no puede presentarse, en esta situación, el evento de
que ambas entradas estén en cero.
00
A
10 01
00 00
10 B C 01
10 01
11 11
00/10 00/01
11 D E 11
01 10
11 11
01 F G 10
clk
reset
x
z
y
f) Secuencias de valores de la entrada y las salidas. Debe inspeccionarse los niveles en el canto
de subida del reloj de las señales x, z, y. Existe un valor por cada canto de subida del reloj. Se
logran:
entrada x 0010101001011011010010100
salida z 0001010100000000001000000
salida y 0000000011100000000111111
2. Diagrama de estados. Se activa z cada vez que llega la secuencia 010 en la entrada y mientras
no llegue la secuencia 100. Cuando llega esta última se activa la salida y, y la máquina
permanece en ese estado.
Se forman los reconocedores de 010 y 100. Y se establecen las salidas asociadas al estado 3 y 6,
con z=1 e y=1 respectivamente.
Luego se completan las transiciones para cumplir generar salida z=1 para cada vez que se
presente la secuencia 010.
Luego se completan las transiciones para recocer la secuencia 100, apenas se presente.
Finalmente se completa las transiciones para permanecer en el estado 6 con salida y = 1.
reset
Si/
x= S0/00
1
0 0
/yz
S1/0 S4/00
0 1
1
1 0
S2/00 S5/00
1
1 0 0
S3/01 S6/10
0
Diagrama de Mealy:
reset
Si
S0
x /yz 1/0
0/00 0/00 00
S1 S4
1/00
1/00
1/00 0/0
0
S2 S5
1/00
1/00 0/01 0/10
/10
S3 S6
0/10
S3 y S5 son equivalentes, ya que las transiciones que salen de S5, para iguales valores de las
entradas van con las mismas salidas a iguales estados próximos. Eliminando S5 se logra:
reset
Si
S0
x /yz 1/0
0/00 0/00 00
S1 S4
1/00
1/00
1/00
S2
0/0
0
1/00 0/01
/10
S3 S6
0/10
G. H. Mealy. A method for synthesizing sequential circuits, Bell System Technical Journal 34
(1955), 1045-1079.
Índice general.
CAPÍTULO 9 ..............................................................................................................................................1
SISTEMAS SECUENCIALES ..................................................................................................................1
9.1. DEFINICIONES ....................................................................................................................................1
Evento ..................................................................................................................................................1
Máquina abstracta. ..............................................................................................................................1
Estado. .................................................................................................................................................1
Máquinas de estados. ...........................................................................................................................2
Transición. ...........................................................................................................................................2
Diagrama de estados. ..........................................................................................................................2
Autómata de estados finitos determinista.............................................................................................2
Tipos de máquinas. ..............................................................................................................................2
Reloj. ....................................................................................................................................................3
Máquinas secuenciales. .......................................................................................................................3
Máquinas secuenciales sincrónicas. ....................................................................................................4
Síntesis lógica. .....................................................................................................................................4
9.2. SECUENCIAS. ......................................................................................................................................5
Ejemplos de secuencias. .......................................................................................................................5
a) Sincrónica de nivel. ...................................................................................................................................... 5
b) Sincrónica de pulsos .................................................................................................................................... 6
c) Asincrónica de nivel .................................................................................................................................... 6
d) Asincrónica de pulsos. ................................................................................................................................. 6
9.3. MODELO SECUENCIAL ........................................................................................................................6
9.4. REPRESENTACIÓN DE MÁQUINAS SECUENCIALES ...............................................................................9
9.4.1. Modelo de Mealy ........................................................................................................................9
i) Diagrama de estados ..................................................................................................................................... 9
ii) Tabla de transición de estados ................................................................................................................... 10
9.4.2. Modelo de Moore .....................................................................................................................10
i) Diagrama de estados ............................................................................................................................. 11
ii) Tabla de transiciones ................................................................................................................................. 11
Ejemplo 9.1 ........................................................................................................................................12
Ejemplo 9.2. .......................................................................................................................................13
Ejemplo 9.3. .......................................................................................................................................14
Algunas observaciones sobre las representaciones: ....................................................................................... 15
Ejemplo 9.4. .......................................................................................................................................16
Ejemplo 9.5. Modelado de diagrama de estados. Lavadora. .............................................................17
9.4.3. Transformación de Mealy a Moore. ........................................................................................19
Índice de figuras