Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5 - Apunte Maquina de Estadosv2
5 - Apunte Maquina de Estadosv2
Máquinas de Estados
Finitos Sincrónicas
Podemos considerar a una máquina de estados como un circuito digital secuencial que genera
una serie de salidas a partir de la evolución temporal del estado lógico en las entradas. Y si es
sincrónica, las entradas tienen efecto sobre las salidas en cada flanco activo de la señal de reloj
que posee el circuito. El concepto de máquina de estado puede utilizarse para el control o
automatización de la secuencia en un proceso determinado a través de su monitoreo.
La primera parte del presente apunte se orienta al proceso de diseño del contador binario
síncrono (CBS), que según puede apreciarse en la Figura 1, es la parte central de una máquina
de estados finitos síncrona. Para esto se desarrollan una serie de ejemplos cuyo grado de
complejidad va en forma creciente.
La Figura 1 muestra la constitución de una máquina de estados. Los dispositivos externos
asociados a la formación lógica de entrada (FLE) que se indican en la figura, constituyen
sensores y/o detectores que poseen una salida del tipo todo o nada y a través de los cuales la
máquina de estados monitorea el proceso. Los dispositivos externos que están vinculados a las
salidas de la máquina de estados, son actuadores que influyen en el proceso y los cuales están
controlados por las señales del tipo todo o nada que genera la formación lógica de salida
(FLS).
MONITOREO CONTROL
DEL DEL
PROCESO PROCESO
DISP. EXT. R FORMACION DA A FORMACION X DISP. EXT.
LOGICA DE LOGICA DE
DISP. EXT. S DB B
ENTRADA SALIDA W DISP. EXT.
DISP. EXT. T (FLE) DC C (FLS)
Y DISP. EXT.
REGISTRO
Z DISP. EXT.
CLK CLK
RELOJ
MAQUINA DE ESTADOS
Seguidamente se estudiarán los bloques que conforman a la máquina de estados que, si bien en
un principio su definición fue orientada a la aplicación en el control o automatismo de la
secuencia de un proceso determinado, su concepto puede extenderse a cualquier tipo de
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 2 de 17
circuito cuyo funcionamiento sea representado por una secuencia de estados lógicos. Inclusive
el concepto de máquina de estados es aplicable a los sistemas electrónicos programables, donde
la máquina de estados está embebida en el programa que lo gobierna.
Antes de comenzar el desarrollo del tema central de este apunte, veremos cómo se obtienen las
tablas de excitación correspondientes a los flip-flops tipo D, JK y RS, utilizados para la
implementación de las máquinas de estados.
Cada tipo de flip-flop posee una tabla de verdad a partir de la cual puede determinarse la
denominada tabla de excitación del mismo. Esta tabla es de suma importancia para el diseño
de los circuitos secuenciales, ya que suministra la combinación de estados que deben aplicarse
a sus entradas, para que en la salida del dispositivo se produzca la transición de estado deseada.
Teniendo en cuenta la tabla de verdad de los diferentes tipos de flip-flops, la Tabla1 como
excitar a cada flip-flop considerando que son sincronizados por el flanco descendente de una
señal de reloj.
Para interpretar como se obtuvo la tabla de excitación anterior, tomemos como ejemplo la
transición marcada en los tres flip-flops:
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 3 de 17
CONTADOR BINARIO SÍNCRONO
X DA A A
FORMACION
CLK
LOGICA DE
ENTRADA A
(FLE)
W DB B B
CLK
B
Y DC C C
CLK
C
RELOJ
REGISTRO
El registro de almacenamiento que posee el CBS, se encuentra conformado por una serie de
flip-flops que pueden ser del tipo D, JK o RS. El estado lógico de las variables de estado A, B y C
evoluciona temporalmente ante los flancos activos de la señal de reloj y según la excitación que
reciben en sus entradas a partir de la FLE. Los valores presentes en A, B y C son utilizados por
la FLE con el fin de proporcionar la excitación o estímulo de entrada que requiere cada flip-flop
para que en la salida del registro ocurra la transición hacia el estado próximo deseado.
La formación lógica de entrada (FLE) es un conjunto de circuitos combinacionales (uno
asociado a cada flip-flop) cuyas salidas estimulan con un estado lógico a las entradas del
registro. En los CBS, los circuitos de la FLE poseen como entradas a las variables de estado. El
valor presente de estas variables, permite estimular a los flip-flops para que los mismos
alcancen el estado próximo con el siguiente flanco activo de la señal de reloj.
Los valores que toman las variables de estado (A, B y C) a medida que se producen los flancos
activos de la señal de reloj, pueden representarse gráficamente en lo que se denomina
diagrama de transición de estados (DTE). Este diagrama permite representar en forma
gráfica a la secuencia del CBS. Para ilustrar esto veamos un ejemplo.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 4 de 17
EJEMPLO 1: Representar mediante un DTE, la evolución de las variables de estado de un contador
binario sincrónico cuya secuencia es la siguiente: 0 – 4 – 2 – 1 – 0 – 4 -....
Hay varias formas de representar el DTE de una máquina de estados, a lo largo de este apunte
se utilizará la forma mostrada en el ejemplo 1, donde cada estado es representado por una letra
minúscula que se encuentra dentro de una “burbuja” (caja de estado), mientras que el valor
binario correspondiente al estado queda afuera de la misma.
Ahora que tenemos presente algunos conceptos, veremos cómo diseñar un contador binario
síncrono que cumpla con una secuencia deseada.
El objetivo en el diseño del CBS es obtener el circuito digital que genera la secuencia definida.
Como ya sabemos el tipo de flip-flop que debe utilizarse en el circuito, resta por hallar la
formación lógica de entrada (FLE). Es decir, los circuitos combinacionales que estimularán las
entradas de los flip-flops que posee el registro del contador.
Considerando la secuencia definida para el contador, inicialmente debe representarse la misma
a través del DTE. Para el caso del ejemplo 2, este diagrama queda como el indicado en la
Figura 4. En el mismo podemos visualizar mejor los cambios de estados que ocurren a la salida
del contador.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 5 de 17
001 010 011 111 100
PRESET
a b c d e
110 000
f 101 h
g
El diseño del CBS prosigue con la construcción de la tabla de estados del contador, la cual se
obtiene con la información brindada por el DTE y la tabla de excitación de los flip-flops
utilizados. La tabla de estados del contador no es más que la tabla de excitación de todos los
flip-flops que conforman su registro y la misma se obtiene analizando el DTE que describe la
secuencia del contador.
La tabla de estados consta de tres columnas, las cuales se describen a continuación:
Columna de estados presente: En la misma se escriben todos los estados posibles que
pueden obtenerse con las variables de estado que posee el contador. Para el ejemplo serán
ocho estados, ya que el contador posee tres variables de estado (A, B y C).
Columna de estados próximo o futuro: A partir del DTE, en esta columna se escriben
los estados próximos a cada uno de los estados presentes de la columna anterior.
Columna de estímulos: Esta columna se completa con los estados lógicos que permiten
excitar a los flip-flops. Es decir, aquellos valores que deberán presentarse en sus entradas
para obtener a su salida la transición del estado presente al estado próximo
correspondiente. Los estados lógicos de esta columna se obtienen considerando la tabla
de excitación del flip-flop utilizado.
A partir de estos conceptos y analizando el DTE, la tabla de estados para el CBS correspondiente
al ejemplo 2 queda como se indica en la Tabla 2.
Tabla 2. Tabla de excitación del flip-flop D y tabla de estado para el CBS del ejemplo 2.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 6 de 17
Con la tabla de estados anterior y considerando las columnas de estados presente y de
estímulos se obtienen las siguientes ecuaciones de estímulo:
DA ABC ABC
DB ABC ABC ABC (1)
DC ABC ABC ABC ABC ABC ABC
DA BC ; DB AC AB ; DC C AB AB (2)
AB AB AB AB AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4 0 2 6 4
C 0 0 0 0 C 0 1 0 0 C 1 1 1 1
1 3 7 5 1 3 7 5 1 3 7 5
C 0 1 1 0 C 1 1 0 0 C 0 1 0 1
DA DB DC
Figura 5. Mapa K para simplificación de las ecuaciones de estímulo del CBS (ejemplo 2).
Con las ecuaciones indicadas en (2) y el registro conformado por los tres flip-flops tipo D,
estamos en condiciones de realizar el esquema del circuito correspondiente al contador binario
síncrono que cumple con la secuencia preestablecida. Este circuito se muestra en la Figura 6.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 7 de 17
A B C
BC
DA Q DB Q DC Q
AC AB
FF-A FF-B FF-C
Reloj
La resolución de la tabla de estados del contador anterior utilizando los flip-flops tipo D resulta
sencilla debido a la facilidad con que se obtiene la excitación en cada flip-flop.
A continuación, veremos el mismo ejemplo, pero realizando el diseño con flip-flops JK en el
registro del contador.
EJEMPLO 3: Rediseñar el contador binario sincrónico del ejemplo anterior, utilizando flip-flops
del tipo JK.
Considerando el DTE anterior y la tabla de excitación de los flip-flops JK, la tabla de estados
para el CBS ahora resulta como la indicada en la Tabla 3.
Tabla 3. Tabla de excitación del flip-flop D y tabla de estado para el CBS del ejemplo 3.
En la Tabla 3 se puede apreciar que la FLE a diseñar deberá estimular a seis entradas. Es decir,
con esta tabla de estados obtendremos seis ecuaciones de estímulo (dos por cada flip-flop). Para
simplificar el procedimiento de diseño, a partir de las columnas de estado presente y de
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 8 de 17
estímulos directamente pasamos al mapa de Karnaugh, con el cual se obtiene las ecuaciones de
estímulo reducidas para cada entrada de los flip-flops. La Figura 7 muestra los mapas K para
cada estímulo de la Tabla 3.
AB AB AB AB AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4 0 2 6 4
C 0 0 X X C 0 X X 0 C 1 1 1 1
1 3 7 5 1 3 7 5 1 3 7 5
C 0 1 X X C 1 X X 0 C X X X X
JA JB JC
AB AB AB AB AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4 0 2 6 4
C X X 1 1 C X 0 1 X C X X X X
1 3 7 5 1 3 7 5 1 3 7 5
C X X 0 1 C X 0 1 X C 1 0 1 0
KA KB KC
Figura 7. Mapa K para simplificación de las ecuaciones de estímulo del CBS (ejemplo 3).
Como resultado de la simplificación, las ecuaciones de estímulo para la entrada de cada flip-flop
quedan:
JA BC ; JB AC ; JC 1
(3)
KA B C ; KB A ; KC A B A B
A B C
BC AC
JA Q JB Q JC Q
B+C
KA KB KC
Reloj
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 9 de 17
Comparando el resultado del ejemplo 2 con el 3, puede notarse que en el caso del uso de los
flip-flops JK, la formación lógica de entrada resulta en un circuito más sencillo de implementar,
pero con una tabla de estados más difícil de obtener (proceso de diseño más dificultoso). Ambas
particularidades tienen que ver con la cantidad de condiciones “X” que presenta la tabla de
excitación de los flip-flops JK respecto de los flip-flops tipo D. Si se utilizaran los flip-flops RS,
se obtendría una solución intermedia a los dos ejemplos mencionados.
En los contadores de los ejemplos anteriores, el cambio del estado presente al próximo se
producía únicamente con cada transición activa de la señal de reloj, es decir todos los cambios
de estado eran incondicionales y el contador seguía siempre la misma secuencia. Ahora
veremos como a través de entradas externas al contador, podemos modificar la secuencia del
mismo. En este caso aparecerán cambios de estados condicionales, dependientes del valor que
hay presente en las entradas externas.
Para analizar el efecto de las entradas externas, seguidamente veremos dos ejemplos. En el
primero se considera el efecto de una entrada, mientras que en el segundo el efecto de múltiples
entradas.
P=0
00
01 FORMACION DA A
PRESET
P=1 LOGICA DE
a 10 ENTRADA
ENTRADA DB B
d EXTERNA
(FLE)
P=0 b P
P=1 P=1
P=1 REGISTRO
P=0 CLK
c P=0
RELOJ
11
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 10 de 17
El efecto de la entrada externa se incorpora en la tabla de estados a través de una nueva
columna denominada entrada externa. Esta columna se ubica entre las columnas de estados
presente y próximo como lo muestra la Tabla 4. A continuación veremos el diseño del contador
indicado en la Figura 9, utilizando los dos tipos de flip-flops clásicos.
Implementación con FF-D: A partir de lo mencionado y con la ayuda del DTE, la tabla de
estados para este contador queda como lo indica la Tabla 4. En la misma puede notarse que
tanto las variables de estado (A y B) junto con la entrada P, se completan con una secuencia que
cumple con todas las combinaciones posibles (ocho en este caso ya que son tres las variables,
A, B y P). Luego, en cada una de las combinaciones mencionadas se establecen los estados
próximos considerando lo indicado por el DTE.
Tabla 4. Tabla de excitación del flip-flop D y tabla de estado para el CBS del ejemplo 4.
ENT.
EXCITACIÓN FF-D PRES. PRÓX. ESTÍMULOS
ESTADO EXT.
QT QT+1 D A B P A B DA DB
0 0 0 a 0 0 0 1 1 1 1
0 1 1 a 0 0 1 1 0 1 0
1 0 0 d 0 1 0 0 0 0 0
1 1 1 d 0 1 1 0 1 0 1
b 1 0 0 0 0 0 0
b 1 0 1 0 1 0 1
c 1 1 0 0 1 0 1
c 1 1 1 0 0 0 0
Para completar la columna de estímulos se procede de igual forma que en el ejemplo 3, en este
caso considerando la tabla de excitación del flip-flop tipo D.
Una vez obtenida la tabla de estado, debemos reducir las ecuaciones de estímulo. Para esto
utilizamos el mapa K como se muestra en la Figura 10.
AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4
P 1 0 0 0 P 1 0 1 0
1 3 7 5 1 3 7 5
P 1 0 0 0 P 0 1 0 1
DA DB
Figura 10. Mapa K para simplificación de las ecuaciones de estímulo del CBS (ejemplo 4, FF-D).
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 11 de 17
Considerando la Figura 10, las ecuaciones de estímulo simplificada para cada flip-flop quedan:
A partir de las ecuaciones anteriores, el esquema del CBS con entrada externa “P” queda como
lo muestra la Figura 11.
A B
DA Q DB Q
FF-A FF-B
CLK CLK
Q Q
Reloj
Figura 11. Circuito del contador binario del ejemplo 4, implementado con flip-flop D.
Como puede notarse en la Figura 11, la entrada “P” es una variable de entrada de la FLE del
contador, ya que la misma influye en su secuencia.
Implementación con FF-JK: Considerando los mismos criterios anteriores y analizando el DTE
del contador, la tabla de estado para este caso es la mostrada en la Tabla 5.
Tabla 5. Tabla de excitación del flip-flop JK y tabla de estado para el CBS del ejemplo 4.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 12 de 17
Una vez definida la tabla de estados del CBS, a partir de la misma y realizando las
simplificaciones correspondientes con el mapa de Karnaugh como se muestra en la Figura 12,
obtenemos las ecuaciones de estímulo reducidas:
JA B ; JB AP AP = A P
(5)
KA A ; KB AP AP = A P
AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4
P 1 0 X X P 1 X X 0
1 3 7 5 1 3 7 5
P 1 0 X X P 0 X X 1
JA JB
AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4
P X X 1 1 P X 1 0 X
1 3 7 5 1 3 7 5
P X X 1 1 P X 0 1 X
KA KB
Figura 12. Mapa K para simplificación de las ecuaciones de estímulo del CBS (ejemplo 4, FF-JK).
A partir de las ecuaciones indicadas en (5), el circuito del contador queda como lo muestra la
Figura 13.
A B
JA Q JB Q
FF-A FF-B
KA KB
CLK CLK
Q Q
Reloj
Figura 13. Circuito del contador binario del ejemplo 4, implementado con flip-flop JK.
Al igual que en el ejemplo 3, en este caso también puede notarse que al utilizar flip-flops del
tipo JK, el circuito de la FLE resulta mucho más reducido.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 13 de 17
EJEMPLO 5: Diseñar el contador binario sincrónico que posee la secuencia indicada en la
Figura 14. Implementar el diseño con flip-flops tipo D.
RS=00
RS=11
101
PRESET 000
a e
RS=11
En este ejemplo podemos apreciar que son dos las entradas que modifican la secuencia del
contador. También puede notarse en el DTE que el contador posee cinco estados, por cual
existen tres variables de estado (tres flip-flops conformarán el registro del contador). La
cantidad de entradas externas sumada a las variables de estado hace a un total de cinco
variables. Esto implica que, en el proceso de obtención de las ecuaciones de estímulo, deberán
utilizarse mapas K con cinco variables de entrada en la simplificación, resultando esto poco
práctico para hacerlo manualmente. Para salvar esta situación, en el presente ejemplo se
construirá la tabla de estados en forma distinta a los ejemplos anteriores. La tabla de estados
se constituirá de la siguiente forma:
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 14 de 17
aquellas transiciones donde el DTE no indica una dependencia de las entradas. En este
ejemplo el DTE muestra que la transición del estado “d” al estado “e” se produce sólo si
RS=10, entonces para las combinaciones restantes de RS debe forzarse un estado próximo.
Columna de estímulos: En esta columna se escriben los estados lógicos que permiten
excitar a los flip-flops, es decir aquellos valores que deberán presentarse en sus entradas
para obtener a su salida la transición del estado presente al próximo correspondiente. Los
estados lógicos de esta columna se obtienen considerando la tabla de excitación del flip-
flop utilizado. Cuando un estado presente tiene varios estados próximos posibles debido al
estado que toman las entradas, los estímulos podemos dejarlos en función de expresiones
lógicas de las entradas. Esto permite reducir la cantidad de variables de entrada en los
mapas K que serán utilizados para la simplificar las ecuaciones de estímulo.
A partir de los lineamientos anteriores, la Tabla 6 muestra la tabla de estados para el contador
correspondiente al ejemplo5. En azul aparecen los estados próximos que se han forzado (todos
a 000), ya sea porque corresponden a estados presentes que no son parte de la secuencia del
contador o bien corresponden a transiciones en las que el DTE no muestra una dependencia
explícita con las entradas. Para comprender como se han completado los estímulos, veamos
algunos casos de la Tabla 6.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 15 de 17
Tabla 6. Tabla de estados para el CBS del ejemplo 5.
ENT.
PRESENTE PRÓXIMO ESTÍMULOS
ESTADO PRES.
A B C R S A B C DA DB DC
0 0 0 0 0
0 1 0 1 0
a 0 0 0 0 RS RS
1 0 0 0 1
1 1 0 0 0
0 0 0 0 0
0 1 0 0 0
b 0 0 1 0 RS RS
1 0 0 1 0
1 1 0 0 1
0 0 0 0 0
0 1 0 0 0
c 0 1 0 0 R RS
1 0 0 1 1
1 1 0 1 0
0 0 0 0 0
0 1 0 0 0
d 0 1 1 RS 0 RS
1 0 1 0 1
1 1 0 0 0
1 0 0 X X 0 0 0 0 0 0
0 0 0 0 0
0 1 0 0 0
e 1 0 1 0 0 0
1 0 0 0 0
1 1 0 0 0
1 1 0 X X 0 0 0 0 0 0
1 1 1 X X 0 0 0 0 0 0
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 16 de 17
A partir de la tabla de estados y utilizando el mapa de Karnaugh como se muestra en la
Figura 15, las ecuaciones de estímulo simplificadas quedan:
DA ABCRS ;
DB ABCRS ABCRS ABCR CRS CRS B BCR A
(6)
DC A CRS ABRS ABCRS C B S BC AR
AB AB AB AB AB AB AB AB AB AB AB AB
0 2 6 4 0 2 6 4 0 2 6 4
C 0 0 0 0 C RS R 0 0 C RS RS 0 0
1 3 7 5 1 3 7 5 1 3 7 5
C 0 RS 0 0 C RS 0 0 0 C RS RS 0 0
DA DB DC
Figura 15. Mapa K para simplificación de las ecuaciones de estímulo del CBS (ejemplo 5).
A partir de las ecuaciones de estímulo indicadas en (6), se obtiene el siguiente circuito para el
contador del ejemplo 5.
A B C
DA Q DB Q DC Q
Reloj
Figura 15. Circuito del contador binario del ejemplo 5, implementado con flip-flop D.
BIBLIOGRAFÍA:
- John W. Carter; “Digital Designing with Programmable Logic Devices”; Prentice Hall,
- Ronald J. Tocci y Neal S. Widmer; “Sistemas Digitales: Principios y aplicaciones”, 10ª ed.;
Pearson Prentice Hall, 2007.
TÉCNICAS DIGITALES 1 – MAQUINA DE ESTADOS – Autor: Mgter. Ing. Guillermo A. Fernández – Página 17 de 17