Documentos de Académico
Documentos de Profesional
Documentos de Cultura
8 PDF
8 PDF
Lectura Fundamental
Contenido
Referencias
Inicialmente, se estudiará el diseño de contadores sı́ncronos, en los que el análisis se facilita dado que los contadores
más básicos no requieren el uso de entradas y salidas. Un circuito que funcione mediante FSM puede funcionar
únicamente con sus variables de estado y la lógica combinacional adecuada, que permita cambiar de estado en
cada pulso de reloj. Basados en lo que presenta Floyd (2010), los pasos para el diseño de contadores sı́ncronos son:
Al igual que en los ejemplos anteriores, normalmente se parte de un diagrama de estados que permita comprender
fácilmente los estados existentes y sus transiciones. En la figura 1 se muestra el diagrama para un contador binario
de 2 bits, que sigue la secuencia 00 - 01 - 10 - 11 de manera cı́clica con cada pulso de reloj.
Debido a que en el diagrama no se especifican entradas ni salidas, la tabla de estados (tabla 1) se reduce a la
verificación de las variables de estado de cada uno de las salidas en los flip-flops. La cantidad de flip-flops que
se requerirán para representar este problema está relacionada con la cantidad n estados, siendo log2 (n) el valor
mı́nimo de bits para representarlos (el valor se aproxima a la siguiente cifra). Por esta razón, para representar
POLITÉCNICO GRANCOLOMBIANO 1
4 estados se requerirán 2 flip-flops F F1 y F F0 . Tenga en cuenta que las variables de estado se asumen como las
salidas de cada flip-flop Q1 y Q0
Una vez se tienen los diagramas y tablas, es necesario analizar cómo suceden las transiciones en los flip-flops. En
la tabla 2 se presentan las transiciones en un flip-flop J-K, pasando de un estado presente a un estado futuro. Las
X representan condiciones de “no importa”, es decir, no es necesario tener en cuenta esa variable. Esta situación
será útil más adelante con los mapas de Karnaugh para obtener las ecuaciones del problema. En la tabla 3 se
presentan las transiciones en un flip-flop D, el cual presenta unas condiciones simplificadas para el análisis.
Los mapas de Karnaugh permiten obtener las expresiones para la lógica combinacional de entrada de cada uno de
los flip-flops. El procedimiento consiste en hacer un mapa evaluando las transiciones de las variables de estado Q1
POLITÉCNICO GRANCOLOMBIANO 2
y Q0 , de un estado presente a un estado siguiente, para cada una de las entradas de los flip-flops. Ası́, si se usan
flip-flops J-K, se debe hacer un mapa para cada una de las entradas J1 , K1 , J0 y K0 (figura 2). En cambio, si se
usan flip-flops D, se hará un mapa de Karnaugh para D1 y D0 (figura 3).
Los mapas de las figuras 2 y 3 se obtuvieron a partir de la tabla 1. Por ejemplo, en la primera fila de dicha tabla,
en la columna 2 “Estado presente de Q0 ”, y 4 “Estado siguiente de Q0 ”, el valor de Q0 pasa del estado 0 al estado
1. Si se va a hacer el circuito con flip-flops J-K, se evalúa en la tabla 2 qué se requiere en las entradas del flip-flop
para que esta transición suceda, en este caso la entrada J0 debe estar en 1 y la entrada K0 debe estar en X. Esta
información se consigna en el mapa de Karnaugh en la posición Q1 = 0 y Q0 = 0. Por otro lado, si se va a realizar
el montaje con flip-flops D, la entrada D0 debe estar en 1 (tabla 3).
Continuando, se evalúa en la segunda fila de la tabla 1 la columna 2 “Estado presente de Q0 ” y 4 “Estado siguiente
de Q0 ”. El valor Q0 pasa del estado 1 al estado 0. Para un flip-flop J-K, la entrada J0 debe estar en X y la entrada
K0 debe estar en 1. Esta información se consigna en el mapa de Karnaugh en la posición Q1 = 0 y Q0 = 1. Si se
va a realizar el montaje con flip-flops D, la entrada D0 debe estar en 0.
Una vez se termina el análisis para Q0 , se procede a mirar las transiciones en Q1 de estado presente a estado
siguiente, agregando la información a los mapas de Karnaugh correspondientes. Este procedimiento se sigue para
todos los estados presentes de la tabla 1.
Figura 2: Mapas de Karnaugh y expresiones para flip-flop tipo J-K. Elaboración propia.
Una vez se tienen todos los mapas de Karnaugh, se procede a realizar la obtención de expresiones mı́nimas para
la activación de cada flip-flop (parte inferior de cada una de las figuras 2 y 3)
POLITÉCNICO GRANCOLOMBIANO 3
Cómo mejorar...
Las tablas de verdad se pueden trabajar en la opción “Análisis combinacional” de Logisim. Partiendo de
ahı́, la generación de mapas de Karnaugh y de los diagramas lógicos correspondientes es muy sencilla.
Para finalizar, se procede a generar los circuitos lógicos de control de cada entrada, según los resultados de la
simplificación. En las figuras 4 y 5 se presentan los dos circuitos resultantes, para flip-flops tipo J-K y tipo D. Note
cómo, a pesar de tener un diseño más engorroso, el circuito con flip-flops J-K es menos complejo, pues se vale del
efecto basculante. En el caso del circuito con flip-flops tipo D, la expresión de la entrada D1 = Q1 Q0 + Q1 Q0 es
equivalente a una compuerta XOR, por lo tanto D1 = Q1 ⊕ Q0 .
En este momento lo invito a regresar al escenario donde podrá encontrar una actividad para comprender mejor y
aplicar los conocimientos adquiridos en esta sección de la lectura.
POLITÉCNICO GRANCOLOMBIANO 4
2. Análisis de problemas empleando FSM
Utilizando una metodologı́a similar a la explicada, es posible realizar máquinas de estados para problemas más
generales. Volviendo al ejemplo que se desarrollo en el escenario pasado (encendido y apagado de un LED), a
continuación se muestran los diagramas de las máquinas de Moore y Mealy que se hallaron:
Con el fin de poder implementar estas soluciones sobre las tecnologı́as de circuitos integrados, se hace necesario
seguir una serie de pasos correspondientes en:
• Definición de la arquitectura.
• Diagramas lógicos.
Si bien los nombres descriptivos de los estados que se emplearon hasta ahora ayudan a la comprensión del fun-
cionamiento de la solución, resulta poco eficiente emplearlos en la implementación. Por esta razón, a cada estado
se le asignará un código en binario (Similar a lo realizado en los contadores). Ası́, para representar 3 estados,
se requerirán 2 bits. Este cálculo permite realizar la codificación de los estados en el menor número
posible de bits, dado que de esta forma se logra el menor requerimiento de elementos de memoria (flip-flop).
En la tabla 4 se muestra la propuesta para nombrar cada uno de los estados de la máquina de estados a diseñar.
La implementación requiere entonces tantos flip-flop como sean necesario para codificar en binario, la totalidad de
los estados.
Los diagramas de estados y las tablas de estados se deberán actualizar entonces con la codificación adecuada,
reemplazando los nombres de estados.
POLITÉCNICO GRANCOLOMBIANO 5
Nombre del estado Código del estado
Inicio 00
Encendido 01
Apagado 10
La arquitectura de la solución a implementar tendrá algunas variaciones en función del tipo de máquina que se desee
implementar Moore (figura 7) o Mealy (figura 8). Según funcionalidad, se encuentran 3 grupos de componentes
principales (Tocci, Widmer, y Moss, 2007, p.426):
1. Circuito combinacional de Entrada: Se encarga de calcular el estado siguiente (SS) a partir de las
entradas y el estado presenten (SP).
A partir de la función asociada a cada uno de los componentes principales, se procede a dimensionar cada uno. En
este paso es importante acudir a las tablas de estados, con el fin de verificar qué variables afectan el comportamiento
de las salidas.
POLITÉCNICO GRANCOLOMBIANO 6
Figura 8: Arquitectura de una máquina de Mealy. Elaboración propia.
Teniendo cuenta que el rol funcional de este circuito combinacional es calcular el estado siguiente, en esta sección se
calculan tantas funciones Boolenas (salidas del combinacional) como bits se requieran para codificar la totalidad de
los estados. De igual manera, teniendo en cuenta que el estado siguiente SS se calcula a partir del estado presente
y la entrada, este combinacional tendrá un número de variables igual al número de bits necesarios para codificar
el número de estado más el de bits de entrada que tenga el sistema. Para el caso que se está estudiando:
• SS0 (P, SP1 , SP0 ), esto indica que el bit 0 del estado presente depende de P(Entrada) y los dos bits del estado
pasado.
• SS1 (P, SP1 , SP0 ), esto indica que el bit 1 del estado presente depende de P(Entrada) y los dos bits del estado
pasado.
Con lo anterior establecido puede usarse la tabla de estado (columnas 1, 2 y 3 para calcular la funciones Boolenas
SS0 (P, SP1 , SP0 ) y SS1 (P, SP1 , SP0 ) ası́:
Nótese que las dos últimas filas de la tabla corresponden a condiciones de no importa dado que el estado 11 no se
codifica en la FSM.
POLITÉCNICO GRANCOLOMBIANO 7
2.3.2. Elementos de memoria
Tı́picamente se emplea un flip-flop tipo D por cada bit requerido para codificar el número total de estado. La
elección de este tipo de flip-flop facilita el diseño y disminuye la cantidad de elementos necesarios para el circuito.
En este caso se requerirán entonces 2 flip-flop.
Es en este momento donde se debe tener en cuenta el tipo de arquitectura que se está diseñando. Pueden existir
dos casos, dependiendo de si se diseña una máquina de Moore o una de Mealy.
Moore: Para la maquina tipo Moore el valor de la salida depende únicamente del estado presente, por tanto el
combinacional de salida calculará tanta funciones Booleanas como bits de salida tenga el sistema y estas dependerán
de tantas variables Booleanas como se requieran para codificar el número total de estados: L(SP1 , SP0 ), la tabla
de verdad para esta función Booleana puede leerse en las columnas 1 y 4 de la tabla de estados.
Tabla 6: Tabla de estados, para la máquina de Moore del ejemplo. Elaboración propia.
Tabla 7: Tabla de verdad para el combinacional de salida, de una máquina de Moore. Elaboración propia.
En este caso, la tabla de verdad se completa con las filas necesarias de condiciones de no importa, dado que el
estado 11 no se codifica para este ejemplo.
Mealy: en esta máquina, el valor de la salida depende del estado presente y del valor de la entada, por tanto el
combinacional de salida calculará tanta funciones Booleanas como bits de salida tenga el sistema y estas dependerán
de tantas variables Booleanas como se requieran para codificar el número total de estados más tantas como bits
de entrada tenga el sistema, para el caso: L(P, SP1 , SP0 ), la tabla de verdad para esta función Booleana puede
leerse en las columnas 1, 2 y 4 de la tabla de estados.
Una vez más la tabla de verdad se completa con las filas necesarias de condiciones de no importa.
POLITÉCNICO GRANCOLOMBIANO 8
Estado presente P(Entrada) Estado siguiente L(Salida)
00 0 00 0
00 1 01 1
01 0 01 1
01 1 10 0
10 0 10 0
10 1 01 1
Tabla 8: Tabla de estados, para la máquina de Mealy del ejemplo. Elaboración propia.
Tabla 9: Tabla de verdad para el combinacional de salida, de una máquina de Mealy. Elaboración propia.
Teniendo las diferentes tablas de verdad para cada uno de los componentes a implementar, se procede a realizar
el diseño de los diagramas lógicos. Esta parte del trabajo se puede realizar de manera manual, calculando las
simplificaciones de los circuitos mediante los mapas de Karnaugh, o es posible también ayudarse de las herramientas
de diseño asistido por computador (CAD) vistas hasta ahora.
En este momento lo invito a volver al escenario, donde encontrará una lectura sobre otra metodologı́a de diseño
de máquinas de estados, que podrá resolver algunas dudas acerca de los procedimientos acá realizados. Además
encontrará algunos ejercicios de diseño de máquinas de estados.
POLITÉCNICO GRANCOLOMBIANO 9
Figura 9: Diagrama lógico, combinacional de entrada Elaboración propia.
POLITÉCNICO GRANCOLOMBIANO 10
Índice de figuras
POLITÉCNICO GRANCOLOMBIANO 11
Índice de tablas
7 Tabla de verdad para el combinacional de salida, de una máquina de Moore. Elaboración propia. .
9 Tabla de verdad para el combinacional de salida, de una máquina de Mealy. Elaboración propia. . .
POLITÉCNICO GRANCOLOMBIANO 12
Referencias
Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)
POLITÉCNICO GRANCOLOMBIANO 13
INFORMACIÓN TÉCNICA
POLITÉCNICO GRANCOLOMBIANO 14