You are on page 1of 13

Ing.

Javier Barriga Hoyle 1


Mquinas de estados

1 Introduccin

El diseo de circuitos secuenciales complejos sera una actividad muy complicada si
no hubiese algn mtodo de diseo estudiado paso a paso. Este es el caso de las mquinas de
estados, que consisten en un mtodo de anlisis y sntesis de circuitos secuenciales.

Para el estudio de circuitos secuenciales como mquinas de estados, se han de definir
previamente una serie de conceptos.

1.1 Arquitectura de los circuitos secuenciales

Hay dos tipos de arquitecturas de circuitos secuenciales o mquinas de estados, que
son la arquitectura Mealy y la arquitectura Moore.

En los diagramas de transiciones de estado se representa el estado por un circulo y la
transicin por una flecha como se indica en la figura 1.1.1.


Figura 1.1.1 Representacin de a) estado y b) transicin.

1.1.1 Arquitectura Mealy

En este tipo de arquitectura o mquina de estado las salidas son funcin de las entradas
y del estado interno. En la figura 1.1.1.1 se puede ver el esquema de bloques de una mquina
Mealy.


Figura 1.1.1.1 Diagrama de bloques de una estructura Mealy

Ing. Javier Barriga Hoyle 2
Salidas = f (Entradas, Estado interno)

La representacin de una mquina Mealy mediante diagramas de estados sera de la
forma que se indica en la figura 1.1.1.2.


Figura 1.1.1.2 Representacin Estado-Transicin de una mquina Mealy

1.1.2 Arquitectura Moore

En este tipo de arquitectura o mquina de estado las salidas son funcin nica y
exclusivamente de las entradas. En la figura 1.1.2.1 se puede ver el esquema de bloques de
una mquina Moore.


Figura 1.1.2.1 Diagrama de bloques de una estructura Moore

Salidas = f (Estado interno)

La representacin de una mquina Moore mediante diagramas de estados sera de la
forma que se indica en la figura 1.1.2.2.


Figura 1.1.2.2 Representacin Estado-Transicin de una mquina Moore

Ing. Javier Barriga Hoyle 3
2 Objetivos

Estudio de un mtodo que facilite la resolucin de cualquier circuito secuencial.

Trabajar con este mtodo con algunos ejemplos que han de montarse
prcticamente para ser comprobados.

3 Proceso de sntesis mediante una mquina de estados

En este apartado se proceder a la descripcin del proceso ha seguir para obtener el
esquema de un circuito secuencial, partiendo de las especificaciones del mismo. Para ello se
utilizar un ejemplo de cada tipo de mquina de estados.

3.1 Mquina Moore

Como ejemplo se disear un generador de secuencia. El generador en cuestin ha de
proporcionar a su salida la secuencia 110010.

1
er
Paso. Definicin del tipo de Mquina (Mealy / Moore) y construccin de su
diagrama de estados. En este caso nos encontramos con una mquina Moore, ya que para
pasar de un estado a otro no se depende de ms entrada que la de reloj. Se dibujar el
diagrama de transicin de estados a continuacin en la figura 3.1.1.


Figura 3.1.1. Diagrama de transicin de estados.

2 Paso. Tabla de transicin de estados y tabla de salidas.

La tabla de transicin de estados, es una tabla en la que en las filas se ponen los
estados y en las columnas las entradas. Hay que completar cada cuadro pensando que si la
mquina est en el estado de la fila y con las entradas de la columna, ante el prximo pulso de
reloj, a que estado pasa la mquina?

En este caso, la mquina no tiene entradas, por lo que solo se pone una columna.
Ing. Javier Barriga Hoyle 4
Estado actual Estado siguiente
E0 E1
E1 E2
E2 E3
E3 E4
E4 E5
E5 E0
Tabla 3.1.1 Tabla de transicin de estados

De la misma forma se obtiene la tabla de salidas, pero por tratarse de una mquina
Moore, cada estado tiene asociada una nica salida, por lo que la mencionada tabla se puede
denominar tabla de identificacin de estados, en esta tabla se asigna a cada estado la salida
que se ve en el diagrama de transicin de estados.

Estado actual Salida
E0 1
E1 1
E2 0
E3 0
E4 1
E5 0
Tabla 3.1.2 Tabla de salidas

3
er
Paso. Determinar el nmero de biestables necesarios. Para ello ha de cumplirse la
ecuacin siguiente, donde n es el nmero de biestables.

2
n-1
< n de estados 2
n


En el caso que nos ocupa se cumple que 2
2
< 6 2
3
, por lo tanto el nmero de
biestables necesarios es 3.

4 Paso. Tabla de codificacin de estados. En esta tabla se asigna a cada estado una
salida binaria de las que se pueden obtener con los tres biestables, lo ms sencillo es que sea
de forma ordenada.

Q2 Q1 Q0 Estado
0 0 0 E0
0 0 1 E1
0 1 0 E2
0 1 1 E3
1 0 0 E4
1 0 1 E5
1 1 0 X
1 1 1 X
Tabla 3.1.3 Tabla de codificacin de estados

5 Paso. Obtencin de las tablas de transicin de estados y de salidas codificadas.
Ing. Javier Barriga Hoyle 5
Estado actual Estado siguiente
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1
1 0 1 0 0 0
1 1 0 X X X
1 1 1 X X X
Tabla 3.1.4 Tabla de transicin de estados

Estado actual Salida
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 X
1 1 1 X
Tabla 3.1.5 Tabla de salidas

6 Paso. Decidir el tipo de biestable a utilizar (J-K o D), y obtener la tabla de
excitacin de cada uno. Se utilizarn biestables D.

Estado actual Estado siguiente D2 D1 D0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 0 0 1 0
0 1 0 0 1 1 0 1 1
0 1 1 1 0 0 1 0 0
1 0 0 1 0 1 1 0 1
1 0 1 0 0 0 0 0 0
1 1 0 X X X X X X
1 1 1 X X X X X X
Tabla 3.1.6 Tabla de excitacin de los biestables

7 Paso. Simplificar las tablas. Partiendo de las tablas de excitacin de biestables y de
la tabla de salidas, mediante la utilizacin de mtodos de simplificacin (Mapas de Karnaugh,
...), se obtienen las expresiones siguientes:

2 0 1 0 1 1 2
0 0
0 1 2 0 1 1
0 1 0 2 2
Q Q Q Q Q Q Q S
Q D
Q Q Q Q Q D
Q Q Q Q D


Ing. Javier Barriga Hoyle 6
8 Paso. Dibujar el circuito.


Salida S
Q2
Q1
Q0
CLOCK
Q0 Q0' Q1' Q1 Q2 Q2'
D Q
Q
CLK
D Q
Q
CLK
D Q
Q
CLK


Figura 3.1.2 Esquema del generador como mquina de estados














Ing. Javier Barriga Hoyle 7
3.2 Mquina Mealy

Como ejemplo de mquina Mealy, se construir un circuito secuencial llamado
sumador serie, que actuar de la siguiente forma:

Dos nmeros A y B de n bits se encuentran almacenados en dos registros de
desplazamiento PISO cuyas salidas serie son las entradas del circuito secuencial que se desea
disear. Adems el circuito posee una entrada de reset que llevar a la mquina al estado
inicial. La salida del circuito se almacenar en un registro de desplazamiento SIPO. En la
figura 3.2.1 se puede ver un esquema de bloques del circuito que se propone.


Figura 3.2.1 Diagrama de bloques

Para disear el circuito secuencial se seguir el proceso de diseo de mquinas de
estados que se ha seguido en el apartado anterior.

1
er
Paso. Definicin del tipo de Mquina (Mealy / Moore) y construccin de su
diagrama de estados. Se parte de dos estados, uno en el cual estar el sistema mientras exista
acarreo en la operacin de suma y otro en el que no habr acarreo. En este caso nos
encontramos con una mquina Mealy, ya que la salida depende del estado anterior de la
misma y de las entradas. A continuacin se dibuja el diagrama de transicin de estados a
continuacin en la figura 3.2.2.


Figura 3.2.2. Diagrama de transicin de estados.
Ing. Javier Barriga Hoyle 8
2 Paso. Tabla de transicin de estados y tabla de salidas.

La tabla de transicin de estados, es una tabla en la que en las filas se ponen los
estados y en las columnas las entradas. Hay que completar cada cuadro pensando que si la
mquina est en el estado de la fila y con las entradas de la columna, ante el prximo pulso de
reloj, a que estado pasa la mquina?

A
B
Estado actual
0
0
0
1
1
1
1
0
E0 E0 E0 E1 E0
E1 E0 E1 E1 E1
Tabla 3.2.1 Tabla de transicin de estados

De la misma forma se obtiene la tabla de salidas.

A
B
Estado actual
0
0
0
1
1
1
1
0
0 0 1 0 1
1 1 0 1 0
Tabla 3.2.2 Tabla de salidas

3
er
Paso. Determinar el nmero de biestables necesarios. Para ello ha de cumplirse la
ecuacin siguiente, donde n es el nmero de biestables.

2
n-1
< n de estados 2
n


En el caso que nos ocupa se cumple que 2
0
< 2 2
1
, por lo tanto el nmero de
biestables necesarios es 1.

4 Paso. Tabla de codificacin de estados. En esta tabla se asigna a cada estado una
salida binaria de las que se pueden obtener con los tres biestables, lo ms sencillo es que sea
de forma ordenada.

Q0 Estado
0 E0
1 E1
Tabla 3.2.3 Tabla de codificacin de estados

5 Paso. Obtencin de las tablas de transicin de estados y de salidas codificadas.

A
B
Estado actual
0
0
0
1
1
1
1
0
0 0 0 1 0
1 0 1 1 1
Tabla 3.2.4 Tabla de transicin de estados
Ing. Javier Barriga Hoyle 9
A
B
Estado actual
0
0
0
1
1
1
1
0
0 0 1 0 1
1 1 0 1 0
Tabla 3.2.5 Tabla de salidas

6 Paso. Decidir el tipo de biestable a utilizar (J-K o D), y obtener la tabla de
excitacin de cada uno. Se utilizar un biestable D.

A
B
Q0
0
0
0
1
1
1
1
0
0 0 0 1 0
1 0 1 1 1
Tabla 3.2.6 Tabla de excitacin del biestable D0.

7 Paso. Simplificar las tablas. Partiendo de las tablas de excitacin de biestables y de
la tabla de salidas, mediante la utilizacin de mtodos de simplificacin (Mapas de Karnaugh,
...), se obtienen las expresiones siguientes:

0
0 0 0
Q B A S
B A B Q A Q D


Antes de pintar el circuito se ha de analizar el tema de la entrada de reset, esta entrada
debe ser sncrona, por lo que la intencin es conseguir que cuando se ponga a uno la entrada
de reset, el circuito ha de introducir un cero en la entrada D0 del biestable que se utiliza en la
prctica.

Para ello, lo mejor ser hacer una operacin AND de cada sumando de la expresin de
D0 con la inversa de la entrada de reset, tal como se puede ver en el circuito de la figura
3.2.3.

8 Paso. Dibujar el circuito.

El circuito correspondiente a esta aplicacin de mquinas de estados, es el que se ve
en la figura 3.2.3.


Como prueba realice la suma de los nmeros binarios A = 00100011 y B = 10010010,
y compruebe que la salida que se obtiene es S = 101110101.






Ing. Javier Barriga Hoyle 10

Salida S
Q0
D Q
Q
CLK
CLOCK RST
A
B


Figura 3.2.3 Esquema del sumador serie como mquina de estados

4 Anlisis de Circuitos Secuenciales

A continuacin se proceder a utilizar el mtodo de la maquinas de estado referido al
anlisis de circuitos secuenciales. De igual forma que se ha hecho en el apartado 3 se utilizar
un ejemplo para explicar el proceso a seguir.

En la figura 4.1 se muestra el esquema de un circuito secuencial construido con
biestables J-K. Se trata de analizar el circuito con el objetivo de obtener su diagrama de
transicin de estados, y a partir del mismo, conocer la funcionalidad del circuito.


VCC
VCC
VCC
S3 S2 S0 S1
Q3 Q2 Q1 Q0
J
K
Q
Q
CLK
J
K
Q
Q
CLK
J
K
Q
Q
CLK
J
K
Q
Q
CLK
CLOCK


Figura 4.1 Circuito secuencial a analizar.





Ing. Javier Barriga Hoyle 11
1
er
Paso. Obtencin de las ecuaciones de excitacin de los biestables y salida o
salidas.

1 3
2 3
1 2
0 2
3 0 1
0 1
1 0
1 0
K
Q J
K
Q J
Q Q K
Q J
K
J


2 Paso. Obtencin de la tabla de transicin de estados y de salidas. Se trata de obtener
el estado siguiente del contador en funcin de las entradas de los biestables en cada uno de los
estados.

Hay que tener en cuenta que los biestables dos y tres utilizan como entrada de reloj la
salida Q1 y que adems los biestables son disparables por flanco descendente, por lo que el
pulso de reloj en los biestables 2 y 3 se produce cuando Q1 cambia de nivel alto a nivel bajo..

De igual forma se obtendran las salidas, pero en este caso coinciden las salidas del
circuito con las salidas de los biestables. Por esta razn se puede considerar que la tabla de
transicin de estados es la misma que la tabla de salidas.

(t) (t+1)
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1
0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1
0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1
0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1
0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 1
0 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1
0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1
1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1
1 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1
1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1
1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1
1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1
1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1
1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1
Tabla 4.1 Tabla de transicin de estados

Ing. Javier Barriga Hoyle 12
3
er
Paso. Obtencin de la tabla de decodificacin de estados, que consiste en nombrar
cada uno de los estados.

Q3 Q2 Q1 Q0 Estado
0 0 0 0 E0
0 0 0 1 E1
0 0 1 0 E2
0 0 1 1 E3
0 1 0 0 E4
0 1 0 1 E5
0 1 1 0 E6
0 1 1 1 E7
1 0 0 0 E8
1 0 0 1 E9
1 0 1 0 E10
1 0 1 1 E11
1 1 0 0 E12
1 1 0 1 E13
1 1 1 0 E14
1 1 1 1 E15
Tabla 4.2 Tabla de decodificacin de estados

4 Paso. Dibujar el Diagrama de transicin de estados.

Hay que decir que por lo que se ha visto hasta el momento, el circuito de la figura 4.1
corresponde a una mquina Moore, pues no hay ninguna entrada ms que la de reloj que no se
contabiliza como entrada en las mquinas de estados, por lo que las salidas dependen nica y
exclusivamente del estado anterior de las mismas, y no de ninguna entrada.


Figura 4.2 Diagrama de transicin de estados

Ing. Javier Barriga Hoyle 13
5 Paso. Deducir la funcionalidad del circuito.

Como se aprecia es la figura 4.2 correspondiente al diagrama de transicin de estados
del circuito que se est analizando, el funcionamiento del mismo corresponde a un contador
de mdulo 10, pues se ve que el circuito tiene un funcionamiento cclico con diez estados.

Adems, en el mismo diagrama, se puede ver que el circuito analizado no admite
enclavamiento en ninguno de los estados no incluidos en la secuencia de conteo, debido a que
como se aprecia en el diagrama de transicin de estados, si el circuito cae en algn momento
por alguna perturbacin en un estado no incluido en la secuencia, el camino natural, con
pulsos de reloj, que seguira el circuito lleva de nuevo al mismo a entrar en la secuencia de
conteo.

La secuencia seguida por el contador no es una secuencia continua en cdigo binario,
sino que corresponde a una secuencia alterada. Es esta: 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 0, 3... etc,
que se puede ver en la figura 4.2.

You might also like