Professional Documents
Culture Documents
CONTENIDO
Introduccin................................................................. Mquinas de Estados Finitos........................................... Qu es una MEF?.......................................................... Qu es un ESTADO? ..................................................... Dnde se emplea una MEF y porqu son importantes?........ Cmo es una MEF?....................................................... Cdigo de Entrada (CE )........................................... Cdigo de Estado Actual ( CEA )................................. Cdigo de Estado Siguiente ( CES ) ............................ Cdigo de Salida (CS )............................................ MEF tipo Mealy................................................................ MEF Mealy de forma Asncrona.................................. MEF Mealy de forma Sncrona................................. MEF tipo Moore................................................................ MEF Moore de forma Asncrona.................................. MEF Moore de forma Sncrona.................................. Ejemplo MEF Mealy.................................................. 3 3 4 4 4 5 5 5 5 5 6 6 6 7 7 7 8
Como se representa una MEF a nivel Grfico?..................... 9 Ejemplo de diseo de un D E Moore............................ 11 Ejemplo de diseo de un D E Mealy............................. 12 Equivalencias entre los D E de Mealy y Moore....................... 14 Ejemplo.................................................................. 15 Formas de representar la Tabla de Estados (TEA)................... 21 FORMA 1................................................................... 21 FORMA2................................................................... 22 FORMA 3................................................................... 24 Qu hay de la velocidad a la que puede trabajar una MEF?.... Tiempo de Establecimiento Tset-up............................. Tiempo de Mantenimiento Thold................................. Tiempo de reloj a la salida Tco................................... 29 29 29 29
Introduccin
Algunas veces nos encontramos con dudas sobre tal o cual punto, para solucionar esta duda recurrimos al texto que tenemos pero no encontramos la respuesta y esto es por que no todos los textos cubren completamente todos los temas, ni a veces los mencionan por completo, puesto que son creados con la intencin de llenar los requisitos del curso para el que fueron diseados y no de cubrir todos los temas que se puedan, pero no por que no sean importantes. Esperando que estas breves pginas ayuden a disipar algunas de esas dudas paso aqu a detallar brevemente que es y como se describe una MEF, sus usos y algunos que otros considerndos.
En Control Industrial y robtica, son reas donde son requeridas funciones de control simples, tales como: o Posicionamiento mecnico de un brazo robtico o Clculo de funciones aritmticas y/ o trigonomtricas o Tomas de Decisin Simple En comunicaciones se requieren para procesos de proteccin de los datos a transmitir, tales como la Encriptacin y Des encriptacin de datos, si se emplea una mquina de estados programable con un bit de seguridad es lo ideal por que no permitir que alguien que intercepte la seal acceda a la informacin protegida. Cmo es una MEF? Un diagrama de bloques genrico es el que se presenta en la siguiente figura sin embargo no es muy descriptivo con lo que se relaciona a sus entradas y salidas
CE
CS
CEA EM clk
Donde: CE CEA CES CS EM = Cdigo de Entrada = Cdigo de Estado Actual = Cdigo de Estado Siguiente = Cdigo de Salida = Elemento de Memoria
CES
El Cdigo de Estado Siguiente (CES) es el resultado de la decodificacin de las variables de entrada, es el estado siguiente en que residir la MEF. El Cdigo de Entrada (CE) son las variables externas y de las variables del Cdigo de Estado Actual (CEA) (o estado presente como es conocido en otros textos) permitirn determinar el Cdigo de Estado Siguiente (CES) que como dijimos es el estado en que residir la mquina. El Cdigo de Salida (CS) es el resultado de la decodificacin del CEA y/ o CE dependiendo del tipo de mquina que se trate ya que esta
combinacin determinara el comportamiento y estructura de la mquina. Esto nos lleva a considerar que existen dos tipos de mquinas: Mquinas de estado Finito tipo MEALY Mquinas de estado Finito tipo MOORE MEF tipo Mealy : Las variables de salida, es decir el Cdigo de Salida (CS) de la Mquina depende de dos factores :
CE DES
CES CEA EM DS CS
clk
a) De la historia de la mquina es decir del estado actual en que reside o Cdigo de Estado Actual (CEA), como lo llamaremos en adelante, pero este tambin es conocido como Estado Presente en otros textos b)del cambio de las variables de entrada o del Cdigo de Entrada (CE) As la salida de la Mquina Mealy es una salida que puede variar con cada flanco de subida del reloj o con el cambio de la entrada que llega hasta el DS. Este cambio durara tanto como dure el estado o como dure la variable de entrada que origin el cambio. Esta mquina es tambin conocida como mquina Mealy Asncrona, la otra forma es como se representa en la siguiente figura es la Mquina MEF Mealy Sncrona o Registrada como tambin se le conoce,:
CE
CES
CEA
CS DS Reg
DES
EM
En este caso la salida solo es dependiente del cambio de estado pero la salida no cambia sbitamente con el cambio de la variable de entrada MEF tipo Moore: Las variables de salida, es decir el Cdigo de Salida (CS) de la Mquina Depende solo de la historia de la Mquina, es decir del Cdigo de Estado Actual (CEA),
CE DES
CES EM CEA CS DS
clk
As como en el caso anterior existe una variacion conocida como la mquina MEF Moore de forma Asncrona y es la que se presenta en la figura siguiente:
CE DES
CES EM CEA CS
clk
En este caso se le conoce como mquina MEF Moore modificada en su forma Sncrona, en Europa se le conoce como la Maquina de Medvedev, en este caso la salida el CS es la misma que la del CEA, una forma tpica de este circuito es un contador programable, para terminar una ltima variacin de la Mquina Moore y que en su realizacin mas simple es la que corresponde a un contador sencillo. Dip, Ing. Gustavo Rosell 7
Ejemplo En el siguiente circuito esquemtico, es una MEF donde la puerta AND y OR de la izquierda representa al DES, que proporcionan el CES, La puerta AND recibe al CE y la puerta OR recibe al CEA La puerta AND de la derecha representa al DS, recibe al CEA y al CE y genera al CS Por lo tanto esta es una MEF tipo Mealy en su forma Asncrona
En su diagrama de tiempo podemos observar el comportamiento en el que solo si el estado en que las entradas Ay B son 11, (ver tiempo a los 147.0ns), se permite reconocer la entrada A y despus de eso la salida sigue a la entrada A independiente del reloj, (ver tiempo 203.0ns) hasta que se resetee al FF en este circuito en particular
en otros circuitos Mealy es de esperar que la salida cambie cuando la entrada cambie sin importar el reloj. Para una Moore su diagrama de tiempo es:
para el caso de una Moore modificada o mquina de Medvedev su diagrama de tiempo se presenta a continuacin
Como se representa una MEF a nivel Grfico? Su representacin en forma grfica se da normalmente como un Diagrama de Estado (DE) que es la forma bsica mediante la cual nosotros aprendemos inicialmente a disear las MEF. Representados por un conjunto de CRCULOS y de ARCOS que unen a los Crculos Los crculos representan a los estados en los que la MEF esta estable y los arcos representan a las transiciones entre los estados La siguiente figura nos muestra una representacin del DE para una MEF Mealy donde las entradas y salidas se asignan a los arcos que unen a los crculos, dado que en esta MEF las salidas pueden variar durante las transiciones debido a algn cambio en las entradas
entradas / salidas
Estado A
entradas / salidas
entradas / salidas
Estado B
Estado C
entradas / salidas
Si no existe una variable entrada para ir de un estado a otro entonces se dice que es un control de secuencia directa o que el reloj es quien controla los cambios de estado de la mquina. Si existe una variable entrada o combinacin de estas para ir de un estado a otro entonces se dice que es un control de secuencia condicional por que no es solo el reloj es quien controla los cambios de estado de la mquina, sino que depende de la combinacin de la entrada para ver si se pasa al siguiente estado. Para una MEF Moore el DE se representa con la salida dentro de los crculos junto con la designacin de los estados, por estas salidas son estables y no dependen de las entradas, en tanto las entradas se asignan a los arcos que unen a los crculos que representan a los estados de la Mquina. Tal como se representa en la figura que se muestra en la siguiente pgina:
10
entradas
Estado A / salidas
entradas
entradas
Estado B / salidas
Estado C / salidas
entradas
no necesariamente se tienen que representar las variables (tanto de entrada como de salida) como una combinacin de unos y ceros tal como nos han enseado en los cursos bsicos, tambin pueden ser expresados con mnemnicos y tan solo las variables que nos interesa para que se realice el cambio de estado, y no toda la combinacin de las variables para especificar el paso de un estado a otro.
inic
Estado A / salidas
/inic
x1 /x1 x2 / x1 + /x2
Estado B / salidas
Estado C / salidas
x1 x2
/x1 /x2
11
eso nos lleva a la posibilidad de representar una MEF simplificada es decir con una cantidad reducida de estados, lo cual nos hace mas fcil entender su funcionamiento. Ejemplo de diseo de un D E Moore
Disee una MEF tipo Moore que detecte la secuencia que termina en 101 tal que la salida Z =1, siendo Z coincidente con el ltimo 1 de la secuencia. La siguiente entrada resetea la salida, considere la posibilidad de traslape. Sol: Entendiendo el problema: Realizando una secuencia de entradas para ver como se comportara la salida: X = 01101011 Z = 00001010 Una primera aproximacin del DE es: Sea Sn la designacin de los estados, donde de S0 a S1 se contempla la aparicin de la secuencia 011 y de S0 a S3 se contempla la secuencia exitosa, esto se muestra en la figura que esta en la siguiente pgina:
0
S3 / 1 So / 0
1
S1 / 0
1 0
S2 / 0
1
Dip, Ing. Gustavo Rosell 12
no se regresa de S2 a S1 para que exista una lnea de toda la secuencia, adems por que la salida asociada es diferente Esbozando el resto de posibilidades tendremos que el D E ser final, ser el que se muestra en la figura siguiente:
0
S3 / 1 So / 0
1 1
S1 / 0
0 1 0
S2 / 0
0
Ejemplo de un diseo de un D E Mealy Disee el mismo detector del problema anterior pero para una MEF Mealy Sol:
0/0
So
Si X =0 entonces
0/0
So
1/ 0
S1
Si X= 1 entonces
13
0/0
So
1/ 0
S1
0/ 0
S2
0/ 0
Si X= 001 entonces
0/0
So
1/ 0 1/ 0
S1
1/ 1 0/ 0
S2
0/ 0
14
Problemas 1 Determine el D E de una MEF Moore para un detector de 01 10 cuando se presenten. 2 Determine el D E de una MEF Mealy para un detector de 01 10 cuando se presenten. 3 Determine el D E de una MEF Mealy para un detector de 11 cuando se presente. 4 Determine el D E de una MEF Moore para un detector de 11 cuando se presente.
Conclusiones En las MEF de Moore las salidas son sincrnicas con el reloj, las de Mealy son asincrnicas. Es decir, las salidas se generan en el prximo estado y nunca se generan sin esperar el flanco del reloj. En las MEF de Mealy, las salidas pueden cambiar inmediatamente cuando ocurre un cambio en las entradas. Si no se desea, las salidas asincrnicas, de una MEF Mealy pueden sincronizarse, pasndolas por un FF, a esto se le llama una Mealy Registrada. En general los modelos de Mealy pueden generar las mismas secuencias de salidas que una mquina de Moore, pero con menos estados. En diseos de MEF completamente sincrnicas, debe preferirse el modelo de Moore. As tambin cuando se empleen dispositivos lgico programables (PLD) para su implementacin.
15
Equivalencias entre los D E de Mealy y Moore Ahora que sabemos como es una descripcin de una MEF en cualquiera de las dos posibles versiones podemos intentar buscar la equivalencias entre cada una de ellas. Existe una forma de pasar una MEF Mealy a una MEF Moore a travs de una conversin de diagramas de estados o viceversa. Para determinar como poder convertir los Diagramas de Estados de una MEF Mealy a una MEF Moore o viceversa, aplicaremos las siguientes reglas: a) la salida asociada a un estado en la MEF Moore se puede asociar a las entradas de las transiciones para un estado equivalente de una MEF Mealy, se puede obtener una relacin dada por:
x2 x1
S1/ z
MEF Moore
x2/ z x1/ z =
S1
MEF Mealy
b) Las salidas de todos los arcos a un estado son las mismas esta se convertir en la salida asociada al estado Si es un estado inicial y la salida es 0 no es necesario modificacin alguna
16
paso1
paso2
c) Cuando las salidas de todos los arcos que entran a un estado son diferentes, entonces el estado debe dividirse para que exista un estado Moore equivalente por cada arco que tenga salida diferente y entraban al mismo nodo
paso1
paso2
paso3
17
Ejemplo 2
S3/ Z3
x1/ z1
S1
x2/ z2
x3
x3 = x3/ z3
S1 / Z1
S2 / Z2 S3
x1
x2
MEF Moore
MEF Mealy
Ejemplo Dado el D E de la MEF Mealy encontrada para la secuencia 101, que se reproduce aqu por facilidad, convirtala a su equivalente MEF Moore
0/0
So
1/ 0 1/ 0
S1
1/ 1 0/ 0
S2
0/ 0
Sol:
18
Comenzaremos identificando al estado Mealy que tenga 2 arcos que entren y que tengan salidas diferentes. Del DE vemos que es el estado S1, convirtiendo segn las reglas tendremos en el grfico que se presenta en la siguiente pgina:
1/ 0
S2/ 0
viene de S0 1/ 0
S1
viene de S2 1/1
0 1
S1 / 0
0 =
S3 / 1
estado creado 1
0/ 0
S2
1 viene de S0
viene de S2
0
S3 / 1 So / 0
1 1
S1 / 0
0 1 0
S2 / 0
19
Problemas 1 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
2 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
3 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
20
4 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
5 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
6 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
21
7 Dado el siguiente D E diga a que tipo de MEF describe y convertirlo a su equivalente en el otro tipo de MEF.
22
Formas de representar la Tabla de Estados (TEA) En realidad la encontrar en otros textos como Tabla de Estados Siguiente / Actual (TES/A) pero aqu por comodidad le llamaremos de ambas formas, esta es la manera tabular y textual de expresar el diseo FORMA 1 Esta es la forma de expresarla de manera mas compacta CE CEA CES /CS
o las variables de entrada formaran tantas columnas como combinaciones tengan por Ej. si es x1x2 entonces sern 4 columnas o las variables de CEA formaran tantas filas como Estados describan por Ej. Si son 3 variables formaran 8 filas.
23
En este caso se tiene que: 1. la columna que identifica a los estados en los que est residiendo la MEF en la actualidad (CEA) es Q, cada fila representa un posible estado 2. las columnas 0 y 1 representan las combinaciones de la entrada (CE) 3. en el interior del rectngulo se encuentran: el Estado siguiente(CES)/ (CS)salida para ese estado es decir, esta tabla se leera as : el estado inicial es el estado A en en en en el el el el estado estado estado estado A A B B con con con con la la la la entrada entrada entrada entrada 0, 1, 0, 1, se se se se pasa al estado D con salida 0 pasa al estado C con salida 1 queda en el estado B con salida 1 pasa al estado A con salida 0
CE CEA CES CS
1 A C 1
1 C D 0
0 D A 0
1 A C 1
0 C
24
En este caso se tendrn tantas filas como estados nos proporcionen la columna de CEA La columna CE nos dar tantas sub columnas como combinaciones sean posibles de la cantidad de variables que la conformen, en la que en cada casillero de esas sub columnas se pondrn el estado siguiente CES en que residir la MEF para esa combinacin de entrada y en la fila del CEA respectivo. Ejemplo Represente la TES/A del DE siguiente:
CEA A B C D
X=0 D B C A
CE X=1 C A D B
Z=0 0 1 1 0
CS Z=1 1 0 0 1
25
En En En En
el el el el
A con X=0 iremos al estado D con salida Z=0 D con X=1 iremos al estado B con salida Z=1 B con X=0 iremos al estado B con salida Z=1 B con X=1 iremos al estado A con salida Z=0
CE CEA CES CS
0 C
CEA
CE
CES
CS
VCES
Cada columna tendr las sub columna necesarias acorde con las variables que les correspondan y tendrn tantas filas como estados tenga la MEF El VCES es la columna que existe si solo si se est trabajando con un FF diferente al FFD, pero en la actualidad no se emplea mas que FFD para todo tipo de diseo.
Ejemplo Dado el D E de una MEF Mealy que se presenta en el siguiente grfico, determine la TES/A que corresponde.
26
Sol: Dado el DE, y asignando a los estados las siguientes combinaciones: se obtiene La TES/A: A B CEA A B C D X CE 0 1 0 1 0 1 0 1 DA DB CES C A D A A A B A Z A+B+ CS VCES 0 C 0 A 1 1 1 1 0 0 D A A A B A
27
A B CEA A B C D
X CE 0 1 0 1 0 1 0 1
DA DB CES 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0
Z A+B+ CS VCES 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0
Solucin: Dado el DE, y asignando a los estados las siguientes combinaciones: A B C D Dip, Ing. Gustavo Rosell 00 01 10 11 28
se obtiene La TES/A:
A B CEA A 00 B 01 C 10 D 11
X CE 0 1 0 1 0 1 0 1
DA DB CES 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0
Z CS 0 0 1 0 1 0 0 0
A+B+ VCES 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0
Como se puede apreciar, la columna VCES es idntica a la columna de CES, por lo tanto se puede eliminar para simplificar la tabla. Problemas 1 Para cada una de las figuras a y b. Se dan los siguientes D E, se le solicita que: a) Diga que tipo de MEF describen, b) Desarrolle la TES/A respectiva para cada una de las 3 formas desarrolladas y c) Llene la tabla de la figura c para la secuencia de entradas dada.
fig. a
29
fig. b
CE 0 CEA C CES CS
Fig. c
2 Para cada una de las siguientes figuras a, b y c. a. Diga que tipo de MEF describe cada uno de los D E y b. Desarrolle la TES/A respectiva para la forma 3 desarrollada
fig. a
30
fig. b
fig. c
31
Qu hay de la velocidad a la que puede trabajar una MEF? Por ltimo para que las MEF puedan trabajar correctamente debe estar claro que se deben respetar las restricciones de Establecimiento y Mantenimiento (Set up & Hold),de la seal con respecto al reloj de los Flip Flops Tiempo de Establecimiento Tset-up Esto es que todas las entradas del FF deben permanecer estables por el mnimo de tiempo de establecimiento o como es conocido en el trmino anglosajn de Set up (tset-up) antes de que el flanco de reloj se active, este tiempo est dado por el fabricante. Si una de las entradas cambia antes de este instante, es probable que se obtenga un malfuncionamiento de la MEF al almacenarse un estado errneo. Tiempo de Establecimiento Thold Si una de las entradas cambia inmediatamente despus del flanco del reloj tambin puede ocasionar una transicin errnea de estado, esto es, si no se respeta el tiempo de Mantenimiento (Thold )del FF que es dado por el fabricante. Tiempo de reloj a la salida Tco Para evitar esto es necesario que el tiempo del ciclo del reloj sea mayor que la suma del tiempo (Tset_up ) del FF y del tiempo del reloj a la salida ( tco ) del FF, es decir ( tset-up +tco ) esto determina el mnimo periodo de reloj lo que es lo mismo que decir la mxima frecuencia de reloj, con que la MEF puede trabajar. En el siguiente dibujo se puede apreciar la Clk
32
En la primera variacin de la entrada en que esta a la izquierda se respetan los tiempos de set-up y de hod del FF y la salida es la que se esperaba. En la segunda variacin de la entrada a la derecha se aprecia que no se respeta el tiempo de set-up ni del hold del FF por lo que la salida no es la que se esperaba, mas bien se comporta presentando una salida rara e indeseada que se explica mediante el concepto de Metastabilidad para el cual se debe de revisar las restricciones que da el fabricante del dispositivo.
33
SOLUCIONES
PROBLEMA 1
PROBLEMA
PROBLEMA
34
PROBLEMA
PROBLEMA
CE CEA CES CS 1 A C 1 1 C D 0 0 D A 0 1 A C 1 0 C C 1 1 C D 0 1 D B 1 0 B B 1 0 B B 1 0 B B 1
PROBLEMA
PROBLEMA
35
PROBLEMA Considerando que el sistema tendr un sistema de reseteo inicial en forma automtica que se conoce por Power on reset
Power onreset 1 0 0 0 0 0 0
CEA A A B B C C
CE 0 1 0 1 0 1
CES A B C B C B C
CS 0 0 0 0 1 1 0
PROBLEMA Considerando que el sistema tendr un sistema de reseteo inicial en forma automtica que se conoce por Power on reset
Power onreset 1 0 0 0 0 0 0 0 0 0 0
CEA A A B B C C D D E E
CE 0 1 0 1 0 1 0 1 0 1
CES A B C B D E C E C B D
CS 0 0 0 0 0 0 1 1 1 1
36
Referencias bibliogrficas
1. Rosell, G 2. Rosell, G 3. Hayes, J. 4. McCalla, T 5. Mano, M 6. Mano, Morris 7. Mandado, E. 8. Wakerly, John 9. Nelson, et al 10. Mano & Kime 11. Tocci, R. 12. Gajski 13. Daniels, JJ 14. Floyd, T. L
Tutorial de Lgica Estructurada Tutorial de Mquinas de Estado Algortmico Introduccin al diseo Lgico digital Lgica Digital y Diseo de Computadoras Arquitectura de Computadoras. Diseo digital. Sistemas Electrnicos Digitales. Diseo Digital, Principios y Prcticas Anlisis y Diseo de Circuitos Lgic. Digit. Fundamentos de diseo Lgico y Comput Sistemas Digitales Principios y prcticas Principios de diseo digital Digital design from Zero to One Introduccin a los Sistemas Digitales
1a Edn 2003 URP 1 Edn. 2003 URP 1a Edn. 1996 Ed. A W 1a Edn. 1996 Ed. N/M 3a Edn. 1993 Ed. P H 3a Edn 1993 Ed. P H 8a Edn. 1999 Ed. M 2a Edn 1994 Ed. P H 1a Edn 1996 Ed. P H 1a Edn 2000 Ed. PH 6a Edn 1998 Ed. P H 1aEdn 1997 Ed. P H 1a Edn 1996 Ed. J W 1 Edn 1999 Ed .PH
PH JW AW MGH N/M M
Prentice Hall John Wiley& Son Addisson Wesley Mac Graw Hill Noriega / Megabyte Marcombo
37