Electrónica Digital II.
Pág
1. Teoría de Máquinas de Estado (FSM, Finite-state-machine). Finite-state-machine). La teoría de máquinas de estado (también llamadas autómatas de estado) es el nombre con el que se conocen los métodos de Análisis y Diseño de Circuitos Secuenciales. Las máquin máquinas as de estado estado son circui circuitos tos secuen secuencia ciales les que se encuent encuentran ran consti constitui tuidos dos por una etapa etapa combinatoria y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algún propósito especial. La función de un circuito secuencial puede representarse en forma gráfica mediante un diagrama de estados con los siguientes componentes: - Círculos que denotan los estados . - Flechas dirigidas de los estados presentes a los estados siguientes, las cuales indican las transiciones . - Etiquetas que en cada flecha que indican las entradas que producen cada transición transición,, así como otras que indican las salidas generadas. El lugar en donde se colocan las etiquetas para las salidas cambia según se trate de una máquina de estado de Mealy o de Moore , que son los dos tipos de máquinas de estado que existen. Hasta ahora los circuitos secuenciales que se han estudiado son del primer tipo, y en ellos las salidas se indican sobre las flechas. En los circuitos de Moore, las salidas se denotan dentro de los círculos, y a continuación se vera porqué.
Máquinas de Estado de Mealy y Moore. Una máquina de estado de Mealy es aquell aquellaa cuyas cuyas entrad entradas as y salida salidass son un pulso. Como puede observarse observarse en la figura 1.1, este tipo de autómata autómata consta de dos circuitos circuitos combinacionales, combinacionales, el primero maneja maneja las señales de memoria y el segundo las señales señales de salida. salida. De tal forma, las señales de salida dependen, no solamente de los estados presentes , sino también de los pulsos de entrada. Razón por la cual las salidas se indican sobre las flechas que denotan las entradas, y que ligan los estados. La figura 1.1 también ejemplifica un diagrama de estados y una tabla de estados para un autómata de Mealy.
Tabla de estados Entradas Edo. presente x1 x2 A B/0 A/0 B B/0 C/0 C B/0 A/1 estado sig. / salida
Figura 1.1. Autómata de estado de Mealy , y ejemplos de un diagrama y tabla de estados.
Electrónica Digital II.
Pág
Por otra parte, en una máquina de estado de Moore las entradas son pulsos y las señales de salida son de nivel . Para los autómatas de este tipo las señales de salida dependen exclusivamente de los estados presentes , y no resultan de una combinación con las entradas, como se muestra en la figura 1.2, en donde además se muestran ejemplos de una tabla y un diagrama de estados para un autómata de Moore.
Tabla de estados. Entradas Salida Edo. presente x1 x2 x3 z A B A A 0 B B C A 0 C B A D 0 D D A D 1 Edo. sig.
Figura 1.2. Autómata de estado de Moore , y ejemplos de un diagrama y tabla de estados. Es evidente que la diferencia entre un diagrama de estado para uno u otro tipo de autómata deriva en que las tablas de estado sean también un poco distintas (en la manera en que se indican las salidas), pero aparte de este punto los pasos de diseño y análisis para las máquinas de estado de Moore son los mismos que se han usado para los autómatas de Mealy. Ejemplo de diseño de un autómata de Moore. Diseñe un comparador de n-bits, usando un autómata de Moore. Realice el diagrama de estados tanto para un autómata de Mealy como para uno de Moore. El debe tener dos entradas, y tres salidas y funciona de la z1, mayor siguiente forma:
- si el número binario de la primera entrada es mayor que el de la segunda se da un 1 en la primera salida, y 0 en las otras, - si el número binario de la primera entrada es menor que el de la segunda se da un 1 en la segunda salida, y 0 en las otras, - si el número binario de la primera entrada es igual al de la segunda se da un 1 en la tercera salida, y 0 en las otras.
z2, menor
A Comparador
B CLK
z3, igual (n bits)
B CLK
Suponiendo que ambas entradas están en cero originariamente (RESET), el estado inicial es Q0, y corresponde con el resultado IGUAL. - Las combinaciones de entrada 00 y 11 mantienen este resultado, y deben quedarse en el mismo estado.
Electrónica Digital II.
Pág
- Si la combinación de entradas es 10 el resultado será MAYOR y se producirá la transición al estado Q1 que corresponde con ese resultado. - De manera semejante, si la combinación de entradas es 01 se deberá dar el resultado MENOR y producir la transición al estado Q2. Una vez que las entradas presentan bits diferentes, y el resultado es MAYOR que corresponde al estado presente es Q1: - Las combinaciones de entrada 00, 10 y 11 mantienen este resultado, y deben quedarse en el mismo estado. - Si la combinación de entradas es 01 se deberá dar el resultado MENOR y producir la transición al estado Q2. Cuando ya estamos fuera del estado inicial, o sea que las entradas han presentado al menos un bit diferente una de otra, y el estado presente es Q2, que corresponde con el resultado MENOR: - Las combinaciones de entrada 00, 01 y 11 mantienen este resultado, y deben quedarse en el mismo estado. - Si la combinación de entradas es 10 se deberá dar el resultado MAYOR y producir la transición al estado Q1.
Diagrama de estados (Mealy).
Diagrama de estados (Moore)
Para el autómata de Moore, la tabla de estados quedaría: Estado siguiente Estado Salida presente A=0, B=0 A=0, B=1 A=1, B=0 A=1, B=1 IGUAL IGUAL MENOR MAYOR IGUAL 001 MAYOR MAYOR MENOR MAYOR MAYOR 100 MENOR MENOR MENOR MAYOR MENOR 010 Para representar los tres estados resultantes se necesitan 2 FFs. La asignación de estados que se propone será: IGUAL=10, MAYOR=01, MENOR=00 e irrelevante=11. Tabla de excitación del Estado Estado siguiente Q1+Q0+ Salida FF J-K. presente A=0, B=0 A=0, B=1 A=1, B=0 A=1, B=1 z1z2z3 Qt Qt+1 J K Q1Q0 0 0 0 x 10 10 00 01 10 001 0 1 1 x 01 01 00 01 01 100 1 0 x 1 00 00 00 01 00 010 1 1 x 0 11 xx xx xx xx xxx Se utilizarán FFs J-K, cuya tabla de excitación se muestra a continuación, a partir esa tabla junto con la taba de estados se llenan los mapas de Karnaugh para J1, K 1, J0, K 0, z1, z2 y z3.
Electrónica Digital II.
- J1 y K 1 dependen de la transición de Q1 a Q1+ para cada combinación de entrada. - J0 y K 0 dependen de la transición de Q0 a Q0+ para cada combinación de entrada. - z1, z2 y z3 dependen de los estados presentes.
Así las funciones quedan: J0 = A B K 0 = AB J1 = 0 K 1 = A B + AB z1 = Q0 z2 = Q1 Q 0 z3 = Q1 Y el comparador de n-bits queda como sigue (Q=q):
Pág