Sunteți pe pagina 1din 38

1

Captulo 12

Equivalencia y Asignacin de Estados.


12.1. Estados equivalentes.
Dos mquinas secuenciales son equivalentes si la relacin entre la entrada y la salida son idnticas para todas las posibles secuencias de entrada. Un diseo en particular puede ser representado por varios diagramas de estado equivalentes. Los costos de implementacin pueden ser diferentes; en general los diagramas que tengan ms estados requieren ms elementos de memoria y por lo tanto tambin necesitan mas redes combinacionales para determinar el prximo estado. Dos estados son equivalentes si no puede distinguirse entre ellos. Esto implica que si se aplica cualquier secuencia de entrada, a partir de esos estados, se observan iguales secuencias de salida. Puede determinarse, por inspeccin, que dos estados son equivalentes si tienen iguales renglones en la matriz de transiciones. Es decir, para iguales entradas van a iguales estados prximos o futuros, con salidas iguales. Uno de estos estados puede removerse sin alterar la conducta de la mquina. Esto se logra modificando la tabla de modo que no se invoque el estado eliminado sino a su equivalente. La reduccin de estados puede disminuir el nmero de flip-flops necesarios y a la vez puede introducir ms estado superfluos, lo cual simplifica el diseo combinacional para determinar el prximo estado. Una lgica ms simple implica, en general, menor complejidad de conexiones y menores tiempos de propagacin. Veremos algunos algoritmos para determinar estados equivalentes cuando la matriz de transiciones est completamente especificada.

12.2 Mtodo de Reduccin de Estados por Inspeccin.


Ejemplo: Se tiene la siguiente matriz de transiciones: Estado/Entrada A B C D 0 1 B/0 C/1 C/0 A/1 D/1 B/0 C/0 A/1

Figura 12.1. Matriz de transiciones


Profesor Leopoldo Silva Bijit 19-01-2010

Sistemas Digitales

Se observa que los renglones asociados a B y D son iguales. Iguales estados prximos e iguales salidas. Por lo tanto B y D son equivalentes. Si se considera a D redundante se tendr: Estado/Entrada A B C 0 B/0 C/0 B/1 1 C/1 A/1 B/0

Figura 12.2. Matriz de transiciones reducida. Donde se elimina el rengln asociado al estado D y se reemplaza la ocurrencia de D por B. El mtodo slo puede aplicarse a casos sencillos.

12.3. Reduccin de estados en mquinas completamente especificadas.


12.3.1. Mtodo de Reduccin de Moore. Mtodo de las Particiones. Se aplican secuencias de entrada de diverso largo. Se ir aplicando el mtodo al ejemplo propuesto en el mtodo anterior. Se define una particin o conjunto de estados equivalentes P0, formada por todos los estados del diagrama. Esto refleja la ignorancia del prximo estado cuando an no se ha aplicado una entrada. Se tiene entonces: P0 = {A, B, C, D} Se agrupan los estados con igual salida para iguales entradas: Se tiene que A, B y D para entrada 0 y 1, tienen salida 0 y 1 respectivamente. Se tiene que C para entrada 0 y 1, tiene salida 1 y 0 respectivamente. La formacin de P1 tiene que ver con las salidas. Entonces se forma la particin P1, segn: P1 = {A, B, D}, { C } Las partes de P1 tienen igual salida para una secuencia de largo 1. Es decir, si se aplica cualquier secuencia de largo 1 (hay dos) los estados de las partes no pueden distinguirse. Se dice que son 1equivalentes. Luego para cada parte se definen los sucesores 0 y 1, que son los estados que siguen para entrada 0 y 1 respectivamente. En el ejemplo: Sucesores 0 de (ABD) son (BCC) Sucesores 1 de (ABD) son (CAA). Si los sucesores de un grupo no pertenecen a un grupo de equivalencia previo, debe efectuarse una particin que deje sucesores en grupos de equivalencia. En el ejemplo debe partirse {A, B, D}, ya que el sucesor 0 de A, y los sucesores 0 de B y D, no pertenecen al mismo grupo de
Profesor Leopoldo Silva Bijit 19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

equivalencia en P1. Lo mismo puede observarse en los sucesores 1 de A y los sucesores 1 de B y D. Entonces A no puede ser 2-equivalente con B y D, se tiene: P2 = {A}, {B, D}, { C } Ahora: sucesores 0 de (BD) son (CC) y sucesores 1 de (BD) son (AA). En ambos casos los sucesores pertenecen a una de las clases anteriores. Los estados sucesores 0 y 1, pertenecen a un mismo grupo en P2, por lo tanto: P3 = P2 Como no pueden generarse nuevas particiones se tendr que B y D son equivalentes. La razn por la cual P2 est formado por conjuntos de estados equivalentes, es que partiendo de cualquier estado, de un conjunto determinado y para cualquier entrada de largo 2, se llega siempre a un mismo conjunto. Y como los estados de un mismo conjunto generan igual salida para igual entrada, se deduce que dichos estados son equivalentes. Ejemplo 12.1 El siguiente ejemplo, ilustra con ms detalle el mtodo de reduccin. La siguiente tabla muestra la salida z0 para una entrada x0 de una secuencia de un bit, partiendo de cada uno de los estados. Por ejemplo, estando en C, si llega un 0, la salida es 1. 1/1 0/0

B 0/0 1/0 x0 A B C D 0 0 0 1 0 1 1 1 0 1 z0

1/1 D

1/1

0/1

0/0 Figura 12.3. Diagrama de estados Ejemplo 12.1 Las secuencia de salida, respecto a la de entrada, para los estados A, B y D, son iguales; no as para el estado C. Lo cual muestra que C no puede ser equivalente con A, B o D. Esto justifica la formacin de la particin P1. Entonces C no es 1-equivalente con A, B o D. La siguiente tabla muestra la secuencia de salida (z0z1) para una entrada de una secuencia de dos bits (x0x1), partiendo de cada uno de los estados. Por ejemplo, estando inicialmente en A, si llega la secuencia de entrada 10, en la salida se tiene la secuencia 11, y se recorren los estados C y D.

Profesor Leopoldo Silva Bijit

19-01-2010

4 x0x1 00 01 10 11 A 00 01 11 10 B C 01 10 00 11 10 00 11 01 z0z1 D 01 00 10 11

Sistemas Digitales

Figura 12.4. Secuencia de salida para entrada de largo dos. Se advierte que no es necesario plantear la columna a partir del estado C, ya que como ilustraba la tabla anterior el primer bit ser diferente. Se observa que las columnas asociadas a los estados B y D son idnticas y diferentes de las secuencias de la columna A. Por lo tanto A, no puede ser equivalente a los estados B y D. Esto implica la particin P2. El estado A no es 2-equivalente con B o D. La siguiente tabla muestra la secuencia de salida (z0z1z2) para una entrada de una secuencia de tres bits (x0x1x2), partiendo de los estados B y D solamente. Por ejemplo, estando inicialmente en B, si llega la secuencia de entrada 110, en la salida se tiene la secuencia 111, y se recorren la secuencia de estados ACD. Esto implica la particin P3. x0x1x2 000 010 100 110 001 011 101 111 B D 010 010 000 000 100 100 111 111 011 011 001 001 101 101 110 110 z0z1z2

Figura 12.5. Secuencia de salida para entrada de largo tres. Puede decirse que los estados B y D son 3-equivalentes, ya que no puede distinguirse entre ellos para secuencias de largo tres de entrada, debido a que tienen iguales secuencias de salida. El procedimiento de Moore permite encontrar los estados n-equivalentes, y cuando no pueden formarse nuevas particiones determina los estados equivalentes. Algoritmo de las particiones de Moore. 1. Colocar todos los estados en un conjunto. 2. La particin inicial (P1) est basada en la conducta de la salida. 3. Las particiones sucesivas estn basadas en las transiciones al prximo estado. 4. Se repite paso (3) hasta que no se produzcan nuevas particiones. Los estados que queden en un mismo conjunto son equivalentes. Puede demostrarse que el algoritmo es de costo polinomial.
Profesor Leopoldo Silva Bijit 19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. Ejemplo 12.2. Se tiene la siguiente matriz de transiciones: Estado/Entrada A B C D E 0 C/1 C/1 B/1 D/0 E/0 1 B/0 E/0 E/0 B/1 A/1

Figura 12.6. Matriz de transiciones ejemplo 12.2. Por inspeccin, puede verse que B y C son equivalentes. Por particiones: Se tienen P0 = {A , B, C, D, E} y P1 = {A, B, C }, {D, E } Ya que A, B y C tienen salidas 1 y 0 para entrada 0 y 1 respectivamente. Y D y E tienen salidas 0 y 1 para entradas 0 y 1 respectivamente. Sucesores 0 de (ABC) son (CCB) Sucesores 1 de (ABC) son (BEE), implica particin. Sucesores 0 de (DE) son (DE) Sucesores 1 de (DE) son (BA). Entonces: P2 = {A } , {B, C } , {D, E } Sucesores 0 de (BC) son (CB) Sucesores 1 de (BC) son (EE) Sucesores 0 de (DE) son (DE) Sucesores 1 de (DE) son (BA). Implica particin. Entonces: P3 = { A }, {B, C} , {D}, {E} Sucesores 0 de (BC) son (CB) Sucesores 1 de (BC) son (EE). Entonces: P4 = P3, y se tiene que B y C son equivalentes. El mtodo puede optimizarse, observando que algunos estados son equivalentes, luego de algunas iteraciones. De este modo, no se requiere seguir obteniendo los sucesores de dichos estados.

Profesor Leopoldo Silva Bijit

19-01-2010

6 Ejemplo 12.3. Estado/Entrada A B C D E F 0 E/0 F/0 E/0 F/0 C/0 B/0 1 D/1 D/0 B/1 B/0 F/1 C/0

Sistemas Digitales

implica partir en: {BD} y {F}

Figura 12.7. Matriz de transiciones ejemplo 12.3. Se procede a determinar la secuencia de particiones: P1 = {ACE} {BDF} S0(ACE) =(EEC) S1(ACE) =(DBF) S0(BDF)= (FFB) S1(BDF)= (DBC) P2 = {ACE} {BD} {F} S0(ACE) =(EEC) S1(ACE) =(DBF) S0(BD )= (FF ) S1(BD )= (DB) P3 = {AC} {E} {BD} {F} S0(AC) =(EE ) S1(AC ) =(DB ) S0(BD )= (FF ) S1(BD )= (DB) P4 = P3 Entonces A y C son equivalentes. B y D son equivalentes. El mtodo por inspeccin no permite ver estas equivalencias con sencillez. Ntese que: Ha medida que se reducen los conjuntos de equivalencia, tambin lo hacen los sucesores. Cuando un estado queda aislado, no se requieren plantear sus sucesores. Cuando los sucesores 0 y 1 son iguales a un mismo estado, el grupo completo es equivalente. Ejemplo 12.4. Reducir el siguiente diagrama de estados de una mquina, que analiza una secuencia de 4 bits de la entrada, y que genera salida uno si el cdigo no es BCD. La salida debe ser cero en el resto de los casos. Ver Verificador BCD en 9.6.1. Estado/Entrada a b c d e f g h i j k l
Profesor Leopoldo Silva Bijit

0 b/0 d/0 f/0 h/0 j/0 l/0 n/0 a/0 a/0 a/0 a/0 a/0

1 c/0 e/0 g/0 i/0 k/0 m/0 o/0 a/0 a/0 a/0 a/0 a/0
19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. m n o a/1 a/1 a/1 a/1 a/1 a/1

Figura 12.8. Matriz de transiciones ejemplo 12.4. La particin P1 resulta de observar las diferentes secuencias de salida: P1 ={a,b,c,d,e,f,g,h,i,j,k,l} {m,n,o} S0(abcdefghijkl)=(bdfhjlnaaaaa) S1(abcdefghijkl)=(cegikmoaaaaa) De S0(abcdefghijkl) f no puede estar en la primera particin; y de S1 f y g no pueden estar en el mismo grupo. S0(mno)=(aaa) S1(mno)=(aaa) Ya en este paso m, n y o son equivalentes. Entonces se logra P2: P2 ={a,b,c,d,e,h,i,j,k,l} {f} {g} {m,n,o} S0(abcdehijkl)=(bdfhjaaaaa) S1(abcdehijkl)=(cegikaaaaa) S0(mno)=(aaa) S1(mno)=(aaa) Debe separarse c. Estos sucesores no requieren considerarse nuevamente.

P3 ={a,b,d,e,h,i,j,k,l}{c} {f} {g} {m,n,o} S0(abdehijkl)=(bdhjaaaaa) S1(abdehijkl)=(ceikaaaaa) Debe separarse a. P4 ={a}{b,d,e,h,i,j,k,l}{c} {f} {g} {m,n,o} S0(bdehijkl)=(dhjaaaaa) S1(bdehijkl)=(eikaaaaa) Debe separarse al grupo: h, i, j, k, l P5 ={a}{b,d,e}{h,i,j,k,l}{c} {f} {g} {m,n,o} S0(bde)=(dhj) S1(bde)=(eik) S0(hijkl)=(aaaaa) S1(hijkl)=(aaaaa) En este paso se determina que h,i,j,k y l son equivalentes. Debe separarse b: P6 ={a}{b}{d,e}{h,i,j,k,l}{c} {f} {g} {m,n,o} S0(de)=(hj) S1(de)=(ik) S0(hijkl)=(aaaaa) S1(hijkl)=(aaaaa) No hay nuevas particiones que puedan generarse. P6 = P7 Entonces el estado e es redundante. i,j,k,l se reemplazan por h; tambin n y o por m. Queda el siguiente diagrama reducido:

Profesor Leopoldo Silva Bijit

19-01-2010

8 Estado/Entrada a b c d f g h m 0 b/0 d/0 f/0 h/0 h/0 m/0 a/0 a/1 1 c/0 d/0 g/0 h/0 m/0 m/0 a/0 a/1

Sistemas Digitales

a 0/ 0 b /0 d c

1/0 c 0/0 f 0/0 1/0 g /0 m h 1/0

/0 /0 /0

h /0

/1

Figura 12.9. Matriz de transiciones reducida y diagrama de estados Ejemplo 12.4. 12.3.2. Mtodo del diagrama de implicacin. Lo veremos a travs de un ejemplo. Determinar estados equivalentes para la siguiente mquina secuencial completamente especificada. Entradas x1 x0 Salida Estado presente 00 01 10 11 z S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 Prximo estado Figura 12.9a. Matriz de transiciones. Se confecciona un diagrama triangular que tenga tantas celdas como posibles pares de estados. Luego se marcan con diagonales cruzadas las casillas de estados que no puedan ser equivalentes debido a que tienen salidas diferentes. Observando la tabla anterior, slo podran ser equivalentes los pares: (S0, S2), (S0, S4), (S2, S4) por tener salida 1; y los pares (S1, S3), (S1, S5), (S3, S5) por tener salida 0. A las casillas que pueden representar estados equivalentes, por tener iguales salidas, se les colocan los pares de estados que deben ser equivalentes; por ejemplo: S0 y S2 son equivalentes si
Profesor Leopoldo Silva Bijit 19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

los siguientes pares son equivalentes: (S0, S1), (S1, S3), (S2, S2) (S3, S4). Esto puede verificarse observando el primer y tercer rengln, para las diferentes combinaciones de las entradas. Ntese que se podran no escribir los pares formados por un solo estado. Luego en las celdas que tienen pares marcados, se descartan aquellas cuyos pares ya estn marcados como no equivalentes. Por ejemplo, la celda de la primera columna y segundo rengln se descarta por tener como condicin el par (S0, S1), que ya se conoce que no pueden ser equivalentes. Observando las casillas no marcadas se concluye que los pares (S3, S5) y (S0, S4) deben ser estados equivalentes.

S1

S2

S0,S1 S1,S3 S2,S2 S3,S4 S0,S1 S3,S0 S1,S4 S4,S5 S0,S0 S1,S1 S2,S2 S3,S5 S0,S1 S3,S4 S1,S0 S4,S5 S0 S1 S2 S1,S0 S3,S1 S2,S2 S4,S5 S1,S1 S0,S4 S4,S0 S5,S5 S3 S4

S3

S4

S5

Figura 12.9b. Tabla de implicaciones. La matriz reducida, eliminando los estados equivalentes, resulta:

Profesor Leopoldo Silva Bijit

19-01-2010

10 Entradas x1 x0 Salida 00 01 10 11 z S0 S1 S2 S3 1 S0 S3 S1 S0 0 S1 S3 S2 S0 1 S1 S0 S0 S3 0 Prximo estado

Sistemas Digitales

Estado presente S0 S1 S2 S3

Figura 12.9c. Matriz reducida. 12.3.3. Minimizacin de estados en mquinas incompletamente especificadas. Cuando la mquina est completamente especificada la equivalencia de estados es una relacin transitiva: Si a es equivalente con b, y b es equivalente con c, entonces a y c son tambin equivalentes. Esto refleja que la equivalencia de estados es una relacin de equivalencia que particiona los estados en clases de equivalencia disjuntas. Pero esto no se cumple si la matriz de transiciones contiene condiciones superfluas. Estado Salidas E0 -0 E1 1E2 -1 Figura 12.9d. Salidas con condiciones superfluas. En la tabla anterior el estado E1 es compatible con E0 y E2, pero E0 no es compatible con E2. En este caso no se dispone de algoritmos, de complejidad polinomial, que determinen las mejores agrupaciones de estados en conjuntos equivalentes, los cuales permiten reducir el nmero de estados. Existen numerosos programas CAD que realizan la minimizacin en este tipo de mquinas.

12.4. Asignacin de Estados.


12.4.1. Anlisis del problema de asignacin. Dado el nombre lgico de un estado se desea formar un nombre fsico en binario, dado por los estados de los flip-flops. Si se tienen e estados, el nmero mnimo m de flip-flops necesarios para codificarlos, debe cumplir:

2m

2m

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

11

De acuerdo al principio de multiplicacin, si una tarea A puede efectuarse de m formas diferentes, y despus de terminada en cualesquiera de estos modos, la tarea B puede ser realizada de n diferentes modos; entonces la secuencia de tareas A, B puede ser efectuada de m por n modos. Si de n elementos tomamos k de ellos (sin repeticin, slo puede tomarse una vez a cada elemento), el primero puede ser elegido de n formas, el siguiente de (n-1) formas; y el k-simo de (n-k+1) formas. ste es el nmero de permutaciones de n elementos tomando k a un tiempo, lo que puede anotarse: n(n-1)(n-2)....(n-k+1) = n!/(n-k)! Entonces el nmero de asignaciones de estado de e estados con m flip-flops, resulta ser:

ae

2m ! 2m e !

Si se tienen 4 estados lgicos A, B, C y D, se requieren dos flip-flops. Con dos flip-flops pueden establecerse 4 estados binarios: 00, 01, 10, 11. El nombre binario de A, puede ser escogido de 4 formas, el de B de tres formas, el de C de dos formas y el ltimo de una sola forma. Esto produce 24 formas de asignar estados, empleando dos flip-flops. No todas estas asignaciones implican ecuaciones lgicas diferentes. a) consideremos dos asignaciones binarias que tengan una variable complementada: asignacin 1: 01001001 asignacin 2: 01011001 Cualquier funcin de prximo estado, puede expresarse usando la asignacin 1 segn: f(a,b,c,d,e,f,g,h) entonces la misma funcin, empleando la asignacin 2 se puede expresar segn: f(a,b,c,d',e,f,g,h) Es decir, las funciones tendrn estructura similar, salvo la complementacin de una variable. Y como en los flip-flops y PLDs se dispone de las variables y sus complementos, las dos asignaciones en discusin llevarn a implementaciones de igual costo. Con dos variables a y b, se tienen las siguientes formas: ab, a'b, ab' a'b'. En general m variables pueden ser complementarse de 2m formas. Entonces, aplicando el principio inverso de la multiplicacin de las tareas, el nmero de asignaciones se reduce en el factor 2m. b) consideremos un intercambio de columnas, para una determinada asignacin:

Profesor Leopoldo Silva Bijit

19-01-2010

12

Sistemas Digitales

estado 1 estado 2 estado 3 ... ... ... estado e

... ... ...

... ... ...

... ... ...

...

...

...

Figura 12.10. Intercambio de columnas en asignaciones. Una determinada funcin de prximo estado puede escribirse:

f (..., yi ,..., y j ,...)


Si se escoge la asignacin con el intercambio de columnas, la misma funcin podr representarse por:

f (..., y j ,..., yi ,...)


Nuevamente estas asignaciones llevan a implementaciones de iguales costos. Si se tiene m columnas, la primera puede escogerse de m formas, la segunda de (m-1) formas, y as sucesivamente. Es decir existen m! asignaciones que llevan a iguales implementaciones. Entonces el nmero de asignaciones de estados que llevan a posibles implementaciones diferentes son:

aeu

2m ! 2m e ! 2m m !

Si bien aeu es mucho menor que ae, el crecimiento es importante a medida que aumenta e. La siguiente tabla ilustra lo anterior: e 2 3 4 5 6 7 m 1 2 2 3 3 3 ae 1 24 24 6.720 20.160 40.320 aeu 1 3 3 140 420 840

Figura 12.11. Nmero de asignaciones de estados.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

13

Puede comprobarse que un conjunto de nombres nicos que pueden llevar a implementaciones diferentes son, para e = 4: Nombre lgico A B C D asig. 1 00 01 11 10 asig. 2 00 11 01 10 asig. 3 00 10 01 11

Figura 12.12. Asignaciones de estado nicas para cuatro estados. A continuacin se ilustran las 24 asignaciones posibles que se pueden efectuar con dos flip-flops.
L A B C D 1 00 01 11 10 2 00 10 11 01 3 10 11 01 00 4 01 00 10 11 5 11 10 00 01 6 10 00 01 11 7 01 11 10 00 8 11 01 00 10 9 00 11 01 10 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 00 11 10 01 10 01 11 00 01 10 00 11 11 00 10 01 10 01 00 11 01 10 11 00 11 00 01 10 00 10 01 11 00 01 10 11 10 00 11 01 01 11 00 10 11 01 10 00 10 11 00 01 01 00 11 10 11 10 01 00

Figura 12.13. Asignaciones de estado posibles para cuatro estados. La 2 se genera por intercambio de columnas de la 1. La 3 complementado la primera columna de la 1. La 4 complementando la segunda columna de la uno. La 5 complementado las dos columnas de la uno. La 6, 7 y 8, complementando la primera, la segunda y ambas variables de la 2. La 9 es la segunda asignacin nica. La 10 se genera por intercambio de columnas de la 9. La 11, 12 y 13, complementando la primera, la segunda y ambas variables de la 9. La 14, 15 y 16, complementando la primera, la segunda y ambas variables de la 10. La 17 es la tercera asignacin nica. La 18 se genera por intercambio de columnas de la 17. La 19, 20 y 21, complementando la primera, la segunda y ambas variables de la 17. La 22, 23 y 24, complementando la primera, la segunda y ambas variables de la 18. Debe notarse que cualquiera de las 8 primeras columnas puede ser elegida como asignacin nica 1. Tambin cualquiera entre las columnas 9 a 16, puede ser la asignacin nica 2. La eleccin de la asignacin nica 3 puede ser cualquier columna entre la 17 y 24. Se han elegido tres que establezcan el estado A con nombre 00. La siguiente tabla genera las 24 permutaciones posibles que se pueden efectuar con dos flip-flops para colocar nombre binario a 4 estados. Se han mantenido los nombres de las columnas de la Figura 12.13.

Profesor Leopoldo Silva Bijit

19-01-2010

14
L A B C D 18 1 00 01 10 11 00 01 11 10 17 2 00 10 01 11 00 10 11 01 9 00 11 01 10 10 4 00 11 10 01 01 00 10 11 23 12 15 7 01 00 11 10 01 10 00 11 01 10 11 00 01 11 10 00 20 6 01 11 00 10 10 00 01 11 19 14 11 22 3 10 00 11 01 10 01 00 11 10 01 11 00 10 11 00 01 10 11 01 00

Sistemas Digitales
16 13 8 11 00 01 10 11 00 10 01 11 01 00 10 21 5 11 01 10 00 11 10 00 01 24 11 10 01 00

Figura 12.13a. Asignaciones de estado generadas por permutaciones. No es posible, debido al rpido crecimiento de aeu, intentar buscar la solucin ptima para la asignacin de estados. Esto debido a que se requeriran realizar aeu diseos y seleccionar el de costo menor. En lugar de esto se desarrollan mtodos que guen a encontrar una asignacin de estados razonablemente buena. Ejemplo 12.5. Asignaciones diferentes conducen a implementaciones diferentes. Por ejemplo considere la siguiente matriz de transiciones: Estado/Entrada A B C D E F G 0 B/0 C/0 D/0 A/1 G/0 A/0 F/0 1 E/0 G/0 F/0 A/0 C/0 A/1 D/0

Figura 12.14. Matriz de transiciones ejemplo 12.5. Se estudian las siguientes dos asignaciones de las 40.320 posibles: Estado Lgico Estado Fsico 1 Estado Fsico 2 y1y2y3 y1y2y3 A 000 000 B 001 001 C 011 010 D 010 011 E 101 100 F 110 101 G 111 110 Figura 12.15. Comparacin entre dos asignaciones. Para la asignacin 1, por un diseo convencional y usando JK, se logran: J1 = xy2' + xy3; K1 = x + y3' ; J2 = y3 ; K2 = y3' ; J3 = y2' ; K3 = y2 z = y3'y2y1'x' + y3'y1'x
Profesor Leopoldo Silva Bijit 19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

15

Considerando un inversor para formar x'. Pueden contarse 18 entradas a compuertas. Y 8 chips convencionales SSI. Para la asignacin 2, se obtienen: J1 = xy3' + xy2' ; K1 = x + y3 ; J2 = y1y3' + y1'y3 ; K2 = x'y1 + xy1' +y3 J3 = x'y1' + y2; K3 = 1; z = xy1y3 + x'y2y3 Se tienen 34 entradas y se requieren 16 chips SSI. El ejemplo ilustra que no todas las asignaciones conducen a redes combinacionales de bajo costo. La asignacin 2 resulta bastante ms costosa que la asignacin 1. 12.4.2. Estrategias de asignacin. Si la codificacin conduce a un mnimo nmero de flip-flops las funciones combinacionales de prximo estado resultan complejas. Esta asignacin resulta adecuada cuando la implementacin se realiza mediante CPLD. La codificacin one-hot emplea un flip-flop por estado, de este modo el diseo de las funciones combinacionales de prximo estado resultan ms sencillas. Esta forma de codificacin presenta ventajas cuando se implementa en FPGA, dispositivos que tienen bastantes flip-flops y generadores de funciones de ancho limitado. Por ejemplo para tres estados, los cdigos binarios seran: 001, 010, 100. En la codificacin de contadores, pueden asociarse los estados a las salidas del dispositivo, haciendo innecesarias las redes combinacionales de salida. Debido a que no existen algoritmos polinomiales para enfrentar este problema se han desarrollado algunas heursticas.

12.5 Reglas para la asignacin de Estados.


La forma tradicional de enfrentar el problema de la codificacin binaria de estados es la aplicacin de reglas para efectuar la asignacin. Estas reglas o heursticas son las siguientes: Regla de Alta prioridad: Estados que tienen iguales estados prximos, para una entrada dada, se los debe asignar como lgicamente adyacentes.

Profesor Leopoldo Silva Bijit

19-01-2010

16

Sistemas Digitales

Estado/Entradas Si .... Sj

xi S S

xj

Si

Sj

xi Est. Prximo S

xi

Figura 12.16. Regla de Alta prioridad. Fundamentacin de la regla: Las funciones de Estado Prximo pueden simplificarse al disminuir la distancia entre Si y Sj. De este modo aumentan las adyacencias de los mintrminos de los unos de S. Regla de Prioridad Media: Estados prximos de un estado presente, bajo entradas lgicamente adyacentes (a distancia unitaria), se los debe asignar como lgicamente adyacentes. Estado/Entradas S .... xi Si xj Sj xi Est. Prximo Si Sj S

xj

Figura 12.17. Regla de prioridad media. Fundamentacin de la regla: Las funciones de Estado Prximo pueden simplificarse al disminuir la distancia entre Si y Sj. De este modo aumentan las adyacencias de los mintrminos de los unos de Si y Sj. Regla de Baja Prioridad: Estados con la misma salida para una entrada dada, se los debe asignar como lgicamente adyacentes.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. Estado/Entradas Si .... Sj xi S1/z xj

17

S2/z Est. Prximo/Salidas

Si

Sj

xi/z

xi/z

S1

S2

Figura 12.18. Regla de prioridad baja. Fundamentacin de la regla: Las funciones de Salida pueden simplificarse al disminuir la distancia entre Si y Sj. De este modo aumentan las adyacencias de los mintrminos de los unos de la salida. Anlisis de las reglas. En la siguiente matriz de transiciones, segn la primera regla, debemos asignar los estados S1 y S2 como adyacentes. Esto debido a que tienen estados prximos iguales para la misma entrada. Si asignamos S1= 010 y S2= 011, tendremos, asumiendo que el prximo estado tiene nombre binario 101: Q2Q1Q0 S1=010 S2=011 x1x0=01 101/0 101/0 Q2+,Q1+,Q0+/z Figura 12.18a. Regla de prioridad alta. Con lo cual se logra, agrupando solamente los unos que se indican en el diagrama, para las funciones de prximo estado: Q2+= x1x0(Q2Q1Q0+Q2Q1Q0) = x1x0(Q2Q1) Q0+= x1x0(Q2Q1Q0+Q2Q1Q0) = x1x0(Q2Q1)

Profesor Leopoldo Silva Bijit

19-01-2010

18

Sistemas Digitales

Observamos que siempre se cancelar una de las variables de estado en las expresiones para los estados prximos. Q0 en el caso del ejemplo. En la siguiente matriz de transiciones, segn la segunda regla, debemos asignar los estados S1 y S2 como adyacentes. Esto debido a que son estados prximos de un mismo estado S, para entradas adyacentes. Si asignamos S1= 101 y S2= 100, tendremos, asumiendo que S tiene cdigo binario 010: Q2Q1Q0 S=010 x1x0=01 S1=101/0 x1x0=11 S2=100/1

Q2+,Q1+,Q0+/z Figura 12.18b. Regla de prioridad media. Con lo cual se logra, agrupando solamente los unos que se indican en el diagrama, para las funciones de prximo estado: Q2+= Q2Q1Q0(x1x0+x1x0) = Q2Q1Q0(x0) Q0+= Q2Q1Q0(x1x0) Observamos que en todos los casos, menos uno, se cancelar una variable de entrada en las expresiones para los estados prximos. En el caso del ejemplo, la expresin para Q0+ contendr las dos variables de entrada; la expresin de Q2+ no contendr a la variable x1. De los dos casos particulares anteriores, puede concluirse que la regla de alta prioridad producir mayor minimizacin que la regla de prioridad media. Razn por la cual se les da estos nombres. Ejemplo 12.6. Asignar estados para la siguiente matriz de transiciones: Estado/Entrada A B C D 0 C/0 C/0 B/0 A/1 1 D/0 A/0 D/0 B/1

Figura 12.19. Matriz de transiciones ejemplo 12.6. Regla de alta prioridad: a) A y B deben ser adyacentes. Van a C con entrada igual a 0. b) A y C deben ser adyacentes. Van a D con entrada igual a 1. Regla de prioridad media.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. c) C y D deben ser adyacentes. Estados prximos de A, con x = 0 y d) C y A deben ser adyacentes. Estados prximos de B, con x = 0 y e) B y D deben ser adyacentes. Estados prximos de C, con x = 0 y f) A y B deben ser adyacentes. Estados prximos de D, con x = 0 y Regla de Prioridad Baja. g) A, B y C deben ser adyacentes. Salida igual a 0 para x = 0. h) A, B y C deben ser adyacentes. Salida igual a 0 para x = 1 x = 1. x = 1. x = 1. x = 1.

19

Si se ubican en un mapa los nombres de los estados que deben ser adyacentes, cumpliendo la primera regla, se tiene:

Q0 Q1

0 A 0 C 0
0 2

1 B 0 D 0
1 3

0 1

Figura 12.20. Asignacin de estados ejemplo 12.6. Del segundo grupo, con la primera regla de asignacin, se cumplen: d) y f). Si se elige la casilla vacante para D, se cumplen: c) y e). Las reglas g) y h) no pueden satisfacerse. Ya que A es adyacente con B, y A es adyacente con C, pero es imposible cumplir B adyacente con C. Reemplazando los estados lgicos por los nombres fsicos, se obtiene: Estado/Entrada A = 00 B = 01 C = 10 D = 11 0 10/0 10/0 01/0 00/1 1 11/0 00/0 11/0 01/1

Figura 12.21. Matriz de transiciones con asignacin de estados. Ordenando, segn cdigo Gray:

Profesor Leopoldo Silva Bijit

19-01-2010

20 Estado Actual Q1Q0 00 01 11 10 x 0 1 10/0 11/0 10/0 00/0 00/1 01/1 01/0 11/0 Q1+Q0+/z

Sistemas Digitales

Figura 12.22. Matriz de transiciones con ordenamiento Gray. Minimizando, y empleando flip-flops Ds: D1 = Q1+ = x'Q1' + xQ0' D0 = Q0+ = Q1Q0' + xQ0' + xQ1 z = Q1Q0 Resultan 15 entradas (en dos niveles). Debido a que existe el producto xQ0' que es comn a ambos flip-flops. Para este caso, puede buscarse la asignacin ptima, efectuando los diseos con todas las asignaciones nicas de estado. Se tienen: Nombre lgico A B C D asig. 1 00 01 10 11 asig. 2 00 11 10 01 asig. 3 00 10 11 01

Figura 12.23. Asignaciones ptimas para ejemplo 12.6. La asignacin 1 es la que resulta de aplicar las reglas, y que se vio antes. Se efectuar el diseo para la asignacin 2. Estado/Entrada A = 00 B = 11 C = 10 D = 01 0 10/0 10/0 11/0 00/1 1 01/0 00/0 01/0 11/1

Figura 12.24. Matriz de transiciones con asignacin 2. Que ordenando segn cdigo Gray, puede escribirse:

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. Estado/Entrada 00 01 11 10 0 10/0 00/1 10/0 11/0 1 01/0 11/1 00/0 01/0

21

Figura 12.25. Matriz de transiciones con asignacin 2, ordenada en Gray. Resulta el siguiente diseo, empleando flip-flops Ds: D1 = Q1+ = x'Q1 + x'Q0' + xQ1'Q0 D0 = Q0+ = Q1Q0' + xQ1' z = Q1'Q0 Resultan 18 entradas (en dos niveles). Para la tercera asignacin nica, se tiene: Estado/Entrada A = 00 B = 10 C = 11 D = 01 0 11/0 11/0 10/0 00/1 1 01/0 00/0 01/0 10/1

Figura 12.26. Matriz de transiciones con asignacin 3. Resulta el siguiente diseo, empleando flip-flops Ds: D1 = Q1+ = x'Q0' + x'Q1 + xQ1'Q0 D0 = Q0+ = x'Q0' + Q1'Q0' + xQ1Q0 z = Q1'Q0 Con 20 entradas, considerando el producto comn x'Q0'. Se comprueba entonces que, en este caso, las reglas para la asignacin de estados llevan a una asignacin razonablemente buena. En la situacin planteada es la ptima. A medida que el nmero de estados aumenta, la asignacin de estados requiere el uso de herramientas de apoyo. Existen programas que facilitan la tarea de asignar estados. Asignacin one-hot. Para la matriz de transiciones de la Figura 12.19, puede efectuarse la asignacin de tipo one-hot, en la cual cada estado tiene un nombre binario con un solo 1. Esto se muestra en la Figura 12.26a. Si A es el estado inicial, la operacin de reset, es ahora levemente ms compleja. Las variables de estado son las salidas de los flip-flops: Q3, Q2, Q1, Q0.

Profesor Leopoldo Silva Bijit

19-01-2010

22 x 0 1 0100/0 1000/0 0100/0 0001/0 0010/0 1000/0 0001/1 0010/1 Q3+Q2+Q1+Q0+/z

Sistemas Digitales

Q3Q2Q1Q0 A=0001 B=0010 C=0100 D=1000

Figura 12.26a. Asignacin one-hot para ejemplo 12.6. Deben considerarse superfluas todas las combinaciones que tengan ms de un uno en su nombre binario. En la Figura 12.26b, puede observarse los mapas de Karnaugh de 5 variables, para las variables de prximo estado Q3+ y Q2+.

Q3Q2 00 Q1Q0 00 01 11 10 d 1 d
2 1

01 1 d d d
4

11 d d d d

10
8

Q3Q2 00 Q1Q0 00 01 11 10 d 1 d 1
2 1

01
4

11 d d d d

10
8

d d d

d d d

d d d

Q3+ x=1

Q2+ x=0

Figura 12.26a. Asignacin one-hot para ejemplo 12.6. Minimizando empleando las condiciones superfluas, pero cubriendo slo los mintrminos presentes, se obtienen: Q3+= Q3Q1x Q2+=Q3Q2x La cobertura Q3+=Q2x + Q0x es de mayor costo. La cobertura Q2+=Q1x+Q0x es de mayor costo.

Procediendo en forma similar para el resto de las funciones, se obtienen: Q1+=Q2x+Q3x Q0+=Q3x+Q1x z= Q3 Deben evaluarse los diseos alternativos, basados en producto de sumas. Si se agrupan los ceros de Q3+ se obtiene: (Q3+)=Q2Q0x que equivale a: Q3+=Q2+Q0+x. Existiendo soluciones similares para el resto de las variables.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

23

Con un poco de prctica, pueden escribirse directamente los resultados a partir de la tabla de transiciones de la Figura 12.26a. Ejemplo 12.7. Asignar estados para un reconocedor de secuencias de largo de tres bits, que tenga salida 1 cuando se tienen en la entrada las secuencias: 010 y 110; y salida cero en el resto de los casos. La seal externa reset debe llevar la mquina al estado inicial. Una vez eliminados los estados equivalentes, se obtiene la siguiente matriz de transiciones, con E0 como el estado inicial:

Estado/Entrada E0 E1 E2 E3

0 E1/0 E2/0 E0/0 E0/1

1 E1/0 E3/0 E0/0 E0/0

Figura 12.27. Matriz de transiciones ejemplo 12.7. Estados que tienen iguales estados prximos, para una entrada dada, se los debe asignar como lgicamente adyacentes. En este caso E2 y E3 debe ser adyacentes, tanto para entrada 0, como para entrada 1, desde los estados 2 y 3 se va al estado 0. Estados prximos de un estado presente, bajo entradas lgicamente adyacentes, se los debe asignar como lgicamente adyacentes. Nuevamente implica asignar E2 y E3 como adyacentes, ya que estando en E1 va estado 2 con entradas 0 y a E3 con entrada 1. La regla que intenta minimizar la funcin de salida implica que E0, E1 y E2 deben ser adyacentes ya que hay salida 0 para entrada cero. Adems E0, E1, E2, E3 debe ser adyacentes ya que se tiene salida cero para entrada 1. Para obtener una funcin simple de reset se escoge el estado inicial E0 como 00. La figura 12.28 ilustra tres asignaciones posibles. La asignacin 1 deja E0 como estado inicial, cumple E2 a distancia uno de E3, cumpliendo as las dos primeras reglas en forma completa. De la tercera regla cumple: E0 con E2, E0 con E1, E1 con E3. No pueden cumplirse: E1 con E2 del grupo con salida y entrada 0; tampoco pueden cumplirse: E0 con E3, y E1 con E2 del grupo con entrada 1 y salida cero.

Profesor Leopoldo Silva Bijit

19-01-2010

24

Sistemas Digitales

Q0 Q1

0 E0 0 E1 0
0 2

1 E2 0 E3 0
1 3

Q0 Q1

0
E0 0 E1 0

1
0 2
E3 0 E2 0

Q0 Q1 1 3

0 E0 0 E2 0
0 2

1 E1 0 E3 0
1 3

0 1

0 1

0 1

Asignacin 1

Asignacin 2 Figura 12.28. Asignaciones ejemplo 12.7.

Asignacin 3

La asignacin 2 deja E0 como estado inicial, cumple E2 a distancia uno de E3, cumpliendo as las dos primeras reglas en forma completa. De la tercera regla cumple: E0 con E3, E0 con E1, E1 con E2. No pueden cumplirse: E1 con E3 del grupo con salida y entrada 0; tampoco pueden cumplirse: E0 con E2, y E1 con E3 del grupo con entrada 1 y salida cero. La asignacin 3 deja E0 como estado inicial, cumple E2 a distancia uno de E3, cumpliendo as las dos primeras reglas en forma completa. De la tercera regla cumple: E0 con E1, E0 con E2, E1 con E3. No pueden cumplirse: E1 con E2 del grupo con salida y entrada 0; tampoco pueden cumplirse: E0 con E3, y E1 con E2 del grupo con entrada 1 y salida cero. Adems esta asignacin resulta ser equivalente en costo a la asignacin 1, ya que deviene de sta por intercambio de columnas. Lo mismo ocurre con la asignacin 4 que se obtiene de la asignacin 2 por intercambio de columnas.

Q0 Q1

0 E0 0 E3 0
0 2

1 E1 0 E2 0
1 3

0 1

Asignacin 4 Figura 12.29. Asignacin 2 con intercambio de columna. En resumen cualquiera de las asignaciones 1 a 4 puede ser una eleccin razonable, ya que cumplen con las dos primeras reglas: tener E2 adyacente con E3, y el mximo posible de cumplimiento de la tercera regla.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. Ejemplo 12.8.

25

Reconocedor de secuencias de largo 4. Salida uno cuando llegan: 0110 y 1010; salida cero en el resto de los casos. El comando externo reset, debe llevar al estado inicial. El diagrama reducido de estados es el siguiente: Estado/Entrada E0 E1 E2 E3 E4 E5 E6 0 E1/0 E3/0 E4/0 E5/0 E5/0 E0/0 E0/1 1 E2/0 E4/0 E3/0 E5/0 E6/0 E0/0 E0/0

Figura 12.30 Matriz de transiciones reducida ejemplo 12.8 Primera regla: E3 adyacente con E4; E5 con E6 Segunda regla: E1 adyacente con E2; E3 con E4; E5 con E6. Tercera regla: Para entrada 0, estados E0, E1, E2, E3, E4, E5 adyacentes entre s. E0, E1, E2, E3, E4, E5, E6 adyacentes entre s para entrada 1.

Q2Q1 Q0

00 0 E0 1 E1

01 E3 E4

11 E6 E5

10

E2

Figura 12.31. Asignacin de estados, aplicando reglas. Primero asignamos E3 adyacente con E4, y E5 con E6, ya que figuran en la primera y segunda regla. Despus E1 con E2. Con la asignacin anterior se obtiene:

Profesor Leopoldo Silva Bijit

19-01-2010

26

Sistemas Digitales

Q2Q1Q0 000 001 101 010 011 111 110 100

x=0 001/0 010/0 011/0 111/0 111/0 000/0 000/1


/

x=1 101/0 011/0 010/0 111/0 110/0 000/0 000/0


/

Q2+,Q1+,Q0+/z Figura 12.32. Matriz de transiciones con asignacin de estados de Figura 12.31. Escribiendo un mapa, se logra:

Q0x

Q2Q1 00
0

01
4

11
12

10
8

00 0010 1110 0001 01 1010


1

1110 0000
7

13

11 0110 1100 10 0100 1110


2

15

11

0000 0100 0000 0110


14 10

Q2+,Q1+,Q0+,z
Figura 12.33. Mapa de Karnaugh de Figura 12.32. Que permite obtener: Q2+ = Q2'Q1+Q2'Q0'x ; Q1+ = Q2'Q1+Q2'Q0+Q1'Q0 ; Q0+ = Q2'Q0' +Q2'Q1'x+Q2'Q1x'+Q2Q1'x'; z = Q2Q0'x'

12.6 Descomposicin de Mquinas Secuenciales.


Debido a la aparicin de componentes programables, puede ocurrir que se requieran demasiadas entradas o salidas, o que no se tenga macroceldas con los productos necesarios. En estos casos puede resultar conveniente descomponer una mquina secuencial en dos o ms sub-mquinas que se comuniquen. Este procedimiento est descrito en el libro de R. Katz cap. 9.5.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

27

Problemas resueltos.
Problema 12.1. Para el siguiente diagrama de estados:

Estado Inicial

a 0/0 b 0/0 d 0/0 1/0 0/0 1/0 e 1/1 0/1 f 1/0 0/0 0/0 1/0 c 1/0 g 1/0

Figura P12.1. Diagrama de estados Problema 12.1. a) Describir la funcin de la mquina secuencial. b) Determinar estados equivalentes aplicando el mtodo de las particiones. Reducir el diagrama eliminando estados equivalentes asociados a letras de mayor orden; por ejemplo, si a y c son equivalente, se elimina c. c) Asignar nombres binarios a los estados, aplicando reglas. El estado inicial (a) debe estar formado por puros ceros. Se deben elegir: b=001, d=010 y e=110, indicando si esta asignacin cumple o no las reglas. d) Disear empleando flip-flops ds y compuertas. No es necesario dibujar el esquemtico. e) Disear empleando un registro de desplazamiento y compuertas. Si es necesario puede agregarse otra componente o subsistema. Solucin. a) Analiza secuencias de largo tres, determinando con salida 1 la llegada de las secuencias: 011 100; para el resto de las posibles secuencias de tres bits la salida es cero. b) P0 = { a, b, c, d, e, f, g} P1 = {e}, {f}, {a, b, c, d, g} P2 = {e}, {f}, {b}, {c}, {a, d, g} P3 = {e}, {f}, {b}, {c}, {a}, {d, g} P4 = P3 Por lo tanto d es equivalente con g. Se elimina g. c) Se tiene la siguiente tabla de transiciones: Por la regla de mayor prioridad:
Profesor Leopoldo Silva Bijit 19-01-2010

28

Sistemas Digitales

Deben ser adyacentes entre s: def. Es decir: d con e, e con f y f con d. Por la regla de mediana prioridad: Deben ser adyacentes: b con c (nueva); d con e, y f con d (ya presentes en la regla de alta prioridad) Por la tercera regla, de menor prioridad, deben ser adyacentes entre s: abcde y abcdf. (La funcin de salida se minimiza agrupando los ceros, como producto de sumas) x=0 b/0 d/0 f/0 a/0 a/0 a/1 x=1 c/0 e/0 d/0 a/0 a/1 a/0

a b c d e f

Q2Q1 00 Q0
0

01
2

11
6

10
4 5

0 1

a b
1

d
3

e
7

Figura P12.2. Asignacin de estados Problema 12.1. Con las asignaciones dadas, que se ilustran en el mapa, se cumplen automticamente que: d es adyacente con e, de la primera regla; y d con a y b con a de la tercera regla; y slo se puede cumplir una de las dos siguientes: e con f o f con d. c1) Si se elige f=011, f adyacente con d, no se puede cumplir que e sea adyacente con f; en este caso a c debe asignarse 101, para cumplir la regla de media prioridad. c2) Si se elige f=111, f es adyacente con e, y no puede cumplirse que f sea adyacente con d. En este caso con c=101 se logra c adyacente con b (segunda regla). Es mejor asignar, en este caso c= 011, ya que adems logra c adyacente con d, de la tercera regla. c3) Si se elige f=100, f es adyacente con e, y no puede cumplirse que f sea adyacente con d; en este caso conviene c=011, ya que logra b con c y adems c con d de la tercera regla. Para c2) quedan dos estados sin asignar, a los cuales pueden colocarse prximo estado y salida superfluos. Resulta la siguiente tabla de transiciones. Q2Q1Q0 000 001 011 010 110 111 100 101 x=0 x=1 001/0 011/0 010/0 110/0 111/0 010/0 000/0 000/0 000/0 000/1 000/1 000/0 / / / / Q2+Q1+Q0+/z

a b c d e f

Figura P12.3. Matriz de transiciones Problema 12.1.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. d) Formando un mapa

29

Q2Q1 00 Q0x 00 01 11 10
001/0

01
0 1
000/0

11
4 5
000/0

10
/

12 13

8 9

011/0

000/0

000/1

110/0

3 2

010/0

7 6

000/0

15

11

010/0

111/0

000/1

14

10
/

Q2+Q1+Q0+/z
Figura P12.4. Mapa de matriz de transiciones Problema 12.1. Se obtienen: Q2+ = D2 = Q1Q0x +Q2Q1Q0x Q1+ = D1 = Q2Q0 + Q1x Q0+ = D0 = Q1Q0+ Q2Q1Q0x z = Q2Q0x + Q2Q0x e) Usando un registro de desplazamiento con dos flip-flops. Es necesario agregar un contador mdulo tres. Se tiene: Secuencia Contador Qa Qb Registro Q1 Q0 Entrada 0 0 0 0 0 0 x0 1 1 1 0 x0 0 x1 2 2 0 1 x1 x0 x2 3 0 0 0 x2 x1 x3 4 1 1 0 x3 x2 x4 5 2 0 1 x4 x3 x5 6 0 0 0 x5 x4 x6 7 1 1 0 x6 x5 x7

Figura P12.5. Secuencias Problema 12.1. En la tabla anterior, el nmero de secuencia indica los cantos de reloj que han ocurrido hasta el momento. Despus del primer canto del reloj, el contador pasa a la cuenta 1 (Qa=1 y Qb =0).

Profesor Leopoldo Silva Bijit

19-01-2010

30

Sistemas Digitales

Despus del primer canto, el valor x0 pasa al primer flip-flop del registro. Cuando la cuenta es dos, en la entrada se tiene x2, en Q1 se tiene x1 y en Q0 se tiene x0. Ms adelante se tiene en la entrada x5, en Q1 se tiene x4 y en Q0 se tiene x3. Entonces: Ha llegado la secuencia 011 se logra con Q0Q1x Ha llegado la secuencia 100 se logra con Q0Q1x Ha llegado la secuencia 011 o la secuencia 100 en la cuenta dos del contador, se logra con: z = (Q0Q1x + Q0Q1x)QbQa El diseo del contador mdulo tres, queda especificado por la siguiente tabla. QbQa 00 01 10 11

01 10 00 Qb+Qa+

Figura P12.6. Contador mdulo tres Problema 12.1. De la cual se logran: Qb+= Db = Qa y Qa+ = Da = QbQa El registro de desplazamiento, queda:

D1

Q1

D0

Q0

Figura P12.7. Registro desplazamiento Problema 12.1. Otra solucin es mediante un registro de desplazamiento formado por tres flip-flops. Secuencia Contador Qa Qb Registro Q2 Q1 Q0 Entrada 0 0 0 0 0 0 0 x0 1 1 1 0 x0 0 0 x1 2 2 0 1 x1 x0 0 x2 3 0 0 0 x2 x1 x0 x3 4 1 1 0 x3 x2 x1 x4 5 2 0 1 x4 x3 x2 x5 6 0 0 0 x5 x4 x3 x6 7 1 1 0 x6 x5 x4 x7

Figura P12.8. Registro con tres flip-flops Problema 12.1.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados. En esta situacin, la salida se genera segn: z = QbQa(Q0Q1Q2 + Q0Q1Q2)

31

D2

Q2

D1

Q1

D0

Q0

Figura P12.9. Registro desplazamiento con tres flip-flops. Problema 12.1. Problema 12.2. Para el siguiente diagrama: a) Determinar la matriz de transiciones y la ecuacin de salida. b) Reducir estados equivalentes. Dibujando el diagrama de estados resultante. c) Dibujar el esquemtico de la mquina secuencial ms simple que realiza igual funcin que el diagrama dado. x
Q1 D1 Q1

Q0 D0 Q0

Figura P12.10. Esquemtico. Problema 12.2. Solucin. a) Se tienen: D1 = xQ1Q0 + x Q0; D0 = Q1 + x Q0; z = Q1Q0 +Q1Q0 (Moore) De los flip-flops Ds se tienen: Q1+ = D1 y Q0+ = D0 Estado Q1 Q0 0 0 0 1 1 1 1 0 x 0 1 11 01 01 11 00 10 01 00 Q1+Q0+ z 0 1 0 1 x Estado 0 1 A=00 C B B=01 B C C=11 A D D=10 B A Estado + 0 1 0 1 z

Figura P12.11. Matriz de transiciones. Problema 12.2.


Profesor Leopoldo Silva Bijit 19-01-2010

32

Sistemas Digitales b) P1 = {A, C}, {B, D} Sucesores 0 de AC = CA, Sucesores 1 de AC = BD Sucesores 0 de BD = BB, Sucesores 1 de BD = CA Entonces P2 = P1, y se tiene que A es equivalente a C; y que B es equivalente a D. x Estado A=0 B=1 0 1 A B B A Estado + z 0 1 0 A/0 1 1 B/1 0

Figura P12.12. Matriz de transiciones reducida. Problema 12.2. c) Se requiere un flip-flop, sea ste Q. Para tipo D, se tienen Q+ = D = xQ + xQ; z = Q x
D Q Q

x Q 0 1 0 0 1 Q+ 1 1 0

z 0 1

Figura P12.13. Diseo basado en flip-flop D. Problema 12.2. Observacin. La salida genera el bit de paridad de la secuencia de entrada. La salida es uno si en la secuencia se tiene un nmero impar de unos. Con tipo JK: Se tiene xQ +xQ = JQ +KQ con lo que se obtiene: J = x; K = x
J Q K Q

Figura P12.14. Diseo basado en flip-flop JK. Problema 12.2. Problema 12.3. Se tiene la siguiente matriz de transiciones: Determinar si las proposiciones son verdaderas o falsas.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

33

Estado E0 E1 E2 E3 E4 E5 E6

x=0 E1/0 E3/0 E5/0 E0/0 E0/0 E0/0 E0/0

x=1 E2/0 E4/0 E6/0 E0/1 E0/0 E0/1 E0/0

V V V V V V V

E3, E4 y E5 son 1-equivalentes. E3 y E5 son 2-equivalentes E4 y E6 son 3-equivalentes E0, E4 y E6 son equivalentes El conjunto P3 es igual a P5. E1 y E2 son equivalentes El diagrama de estados se puede representar con 4 estados. V F El diagrama de estados se puede representar con 5 estados. Dos estados son n-equivalentes si pertenecen a un grupo o particin de Pn.

F F F F F F F

Figura P12.15. Matriz de transiciones. Problema 12.3. Solucin: P0 = {E0, E1, E2, E3, E4, E5, E6 } P1 = {E0, E1, E2, E4, E6 } { E3, E5 } S0(E0E1E2E4E6)=(E1E3E5E0E0) S0(E3E5)=(E0E0) S1(E0E1E2E4E6)=(E2E4E6E0E0) S1(E3E5)=(E0E0) P2={E0, E4, E6 }{ E1, E2 }{ E3, E5 } S0(E0E4E6)=(E1E0E0) S0(E1E2)=(E3E5) S0(E3E5)=(E0E0) S1(E0E4E6)=(E2E0E0) S1(E1E2)=(E4E6) S1(E3E5)=(E0E0) P3={E0} { E4, E6 }{ E1, E2 }{ E3, E5 } S0(E4E6)=(E0E0) S0(E1E2)=(E3E5) S0(E3E5)=(E0E0) S1(E4E6)=(E0E0) S1(E1E2)=(E4E6) S1(E3E5)=(E0E0) P4 = P3 P5 = P4 y as sucesivamente. Entonces el mnimo nmero de estados (no equivalentes entre s) es 4. E3, E4 y E5 son 1-equivalentes es Falsa ya que E3 y E5 estn en un grupo; y E4 en otro. E3 y E5 son 2-equivalentes es Verdadera ya que E3 y E5 estn en un mismo grupo en P2. E4 y E6 son 3-equivalentes es verdadera, ya que E4 y E6 estn en un mismo grupo en P3. E0, E4 y E6 son equivalentes es Falsa. Ya que E4 es equivalente con E6, E1 con E2 y E3 con E5. El conjunto P3 es igual a P5 es verdadera, ya que P5 = P4 = P3. E1 y E2 son equivalentes es verdad. El diagrama de estados se puede representar con 4 estados. Es verdadera, por ejemplo pueden emplearse E0, E1, E4, E3. El diagrama de estados se puede representar con 5 estados. Es verdadera, pero obviamente no es la mejor solucin. Quedaran dos estados equivalentes.

Profesor Leopoldo Silva Bijit

19-01-2010

34 Problema 12.4. Se tiene el siguiente diagrama de estados y algunas asignaciones de estados. Estado A B C D x=0 A/0 D/1 B/1 A/0 x=1 C/0 B/1 D/1 D/0 Estado A B C D Asig.1 00 10 11 01 Asig.2 00 01 11 10 Asig. 3 00 01 10 11

Sistemas Digitales

Determinar si las proposiciones son verdaderas o falsas. V V V V V V V V F F F F F F F F Asig. 1 y Asig. 2 cumplen todas las reglas y tienen igual costo. Asig. 1 y Asig. 3 cumplen todas las reglas y tienen igual costo. Asig. 1 y Asig. 2 cumplen todas las reglas y tienen diferente costo. Asig. 2 y Asig. 3 no cumplen todas las reglas. A con D y B con C deben estar a distancia uno por regla de mayor prioridad. A con D y B con C deben estar a distancia uno por regla de mediana prioridad. A con D y B con C deben estar a distancia uno por regla de inferior prioridad. A con D deben a estar a distancia uno por las tres reglas. Figura P12.16. Problema 12.4. Mayor Prioridad: Estados con estados prximos iguales para igual entrada. Mediana Prioridad: Prximos Estados para entradas adyacentes Baja Prioridad: Estados con Iguales salidas para igual entrada. Solucin: Mayor prioridad: A adyacente con D, ya que con entrada 0 van al estado A. C adyacente con D, ya que con entrada 1 van al estado D. Mediana prioridad: A adyacente con C, ya que son estados prximos de A, para entrada 0 y 1 respectivamente. D adyacente con B, ya que son estados prximos de B, para entrada 0 y 1 respectivamente. B adyacente con D, ya que son estados prximos de C, para entrada 0 y 1 respectivamente. A adyacente con D, ya que son estados prximos de D, para entrada 0 y 1 respectivamente. Baja Prioridad. B adyacente con C, ya que tienen salida 1 para entrada 0 y 1. A adyacente con D, ya que tienen salida 0 para entrada 0 y 1.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

35

Q0 Q1 0 1

0
0

1
1

Q0 Q1 0
3

0
0

1
1

Q0 Q1 0
3

0
0

1
1

A 0
2

D 0 C 0

A 0
2

B 0 C 0

A 0
2

B 0
3

B 0

D 0

C 0

D 0

Asig. 1

Asig. 2
Figura P12.17. Asignaciones Problema 12.4.

Asig. 3

Asig. 1 cumple AD, CD, BC. No cumple AC, DB (mediana prioridad). Asig. 2 cumple AD, CD, BC, AD. No cumple AC, DB (mediana prioridad). Asig. 3 cumple CD, AC, DB. No cumple: AD (alta), AD (mediana prioridad); BC y AD baja prioridad.

Profesor Leopoldo Silva Bijit

19-01-2010

36

Sistemas Digitales

ndice general.
CAPTULO 12 .............................................................................................................................................. 1 EQUIVALENCIA Y ASIGNACIN DE ESTADOS. ............................................................................... 1 12.1. ESTADOS EQUIVALENTES. .................................................................................................................. 1 12.2 MTODO DE REDUCCIN DE ESTADOS POR INSPECCIN. .................................................................... 1 12.3. REDUCCIN DE ESTADOS EN MQUINAS COMPLETAMENTE ESPECIFICADAS. ...................................... 2 12.3.1. Mtodo de Reduccin de Moore. Mtodo de las Particiones. .................................................... 2
Ejemplo 12.1 ....................................................................................................................................................... 3 Algoritmo de las particiones de Moore. .............................................................................................................. 4 Ejemplo 12.2. ...................................................................................................................................................... 5 Ejemplo 12.3. ...................................................................................................................................................... 6 Ejemplo 12.4. ...................................................................................................................................................... 6

12.3.2. Mtodo del diagrama de implicacin......................................................................................... 8 12.3.3. Minimizacin de estados en mquinas incompletamente especificadas. ................................. 10 12.4. ASIGNACIN DE ESTADOS. ............................................................................................................... 10 12.4.1. Anlisis del problema de asignacin. ...................................................................................... 10 Ejemplo 12.5. ....................................................................................................................................... 14 12.4.2. Estrategias de asignacin. ....................................................................................................... 15 12.5 REGLAS PARA LA ASIGNACIN DE ESTADOS...................................................................................... 15 Regla de Alta prioridad: ...................................................................................................................... 15 Regla de Prioridad Media: .................................................................................................................. 16 Regla de Baja Prioridad: ..................................................................................................................... 16 Anlisis de las reglas. .......................................................................................................................... 17 Ejemplo 12.6. ....................................................................................................................................... 18 Asignacin one-hot. ............................................................................................................................. 21 Ejemplo 12.7. ....................................................................................................................................... 23 Ejemplo 12.8. ....................................................................................................................................... 25 12.6 DESCOMPOSICIN DE MQUINAS SECUENCIALES. ............................................................................ 26 PROBLEMAS RESUELTOS. .......................................................................................................................... 27 Problema 12.1. ..................................................................................................................................... 27 Problema 12.2. ..................................................................................................................................... 31 Problema 12.3. ..................................................................................................................................... 32 Problema 12.4. ..................................................................................................................................... 34 NDICE GENERAL. ...................................................................................................................................... 36 NDICE DE FIGURAS ................................................................................................................................... 37

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

37

ndice de figuras
Figura 12.1. Matriz de transiciones.................................................................................................. 1 Figura 12.2. Matriz de transiciones reducida. .................................................................................. 2 Figura 12.3. Diagrama de estados Ejemplo 12.1 ............................................................................. 3 Figura 12.4. Secuencia de salida para entrada de largo dos. ............................................................ 4 Figura 12.5. Secuencia de salida para entrada de largo tres............................................................. 4 Figura 12.6. Matriz de transiciones ejemplo 12.2. ........................................................................... 5 Figura 12.7. Matriz de transiciones ejemplo 12.3. ........................................................................... 6 Figura 12.8. Matriz de transiciones ejemplo 12.4. ........................................................................... 7 Figura 12.9. Matriz de transiciones reducida y diagrama de estados Ejemplo 12.4. ....................... 8 Figura 12.9a. Matriz de transiciones. ............................................................................................... 8 Figura 12.9b. Tabla de implicaciones. ............................................................................................. 9 Figura 12.9c. Matriz reducida. ....................................................................................................... 10 Figura 12.9d. Salidas con condiciones superfluas. ........................................................................ 10 Figura 12.10. Intercambio de columnas en asignaciones. .............................................................. 12 Figura 12.11. Nmero de asignaciones de estados. ....................................................................... 12 Figura 12.12. Asignaciones de estado nicas para cuatro estados. ................................................ 13 Figura 12.13. Asignaciones de estado posibles para cuatro estados. ............................................. 13 Figura 12.13a. Asignaciones de estado generadas por permutaciones. ......................................... 14 Figura 12.14. Matriz de transiciones ejemplo 12.5. ....................................................................... 14 Figura 12.15. Comparacin entre dos asignaciones. ...................................................................... 14 Figura 12.16. Regla de Alta prioridad............................................................................................ 16 Figura 12.17. Regla de prioridad media. ........................................................................................ 16 Figura 12.18. Regla de prioridad baja. ........................................................................................... 17 Figura 12.18a. Regla de prioridad alta. .......................................................................................... 17 Figura 12.18b. Regla de prioridad media....................................................................................... 18 Figura 12.19. Matriz de transiciones ejemplo 12.6. ....................................................................... 18 Figura 12.20. Asignacin de estados ejemplo 12.6........................................................................ 19 Figura 12.21. Matriz de transiciones con asignacin de estados. ................................................. 19 Figura 12.22. Matriz de transiciones con ordenamiento Gray. ...................................................... 20 Figura 12.23. Asignaciones ptimas para ejemplo 12.6. ............................................................... 20 Figura 12.24. Matriz de transiciones con asignacin 2. ................................................................. 20 Figura 12.25. Matriz de transiciones con asignacin 2, ordenada en Gray.................................... 21 Figura 12.26. Matriz de transiciones con asignacin 3. ................................................................. 21 Figura 12.26a. Asignacin one-hot para ejemplo 12.6. ................................................................. 22 Figura 12.26a. Asignacin one-hot para ejemplo 12.6. ................................................................. 22 Figura 12.27. Matriz de transiciones ejemplo 12.7. ....................................................................... 23 Figura 12.28. Asignaciones ejemplo 12.7. ..................................................................................... 24 Figura 12.29. Asignacin 2 con intercambio de columna. ............................................................. 24 Figura 12.30 Matriz de transiciones reducida ejemplo 12.8 .......................................................... 25 Figura 12.31. Asignacin de estados, aplicando reglas. ................................................................ 25 Figura 12.32. Matriz de transiciones con asignacin de estados de Figura 12.31. ........................ 26 Figura 12.33. Mapa de Karnaugh de Figura 12.32. ....................................................................... 26 Figura P12.1. Diagrama de estados Problema 12.1. ...................................................................... 27
Profesor Leopoldo Silva Bijit 19-01-2010

38

Sistemas Digitales

Figura P12.2. Asignacin de estados Problema 12.1......................................................................28 Figura P12.3. Matriz de transiciones Problema 12.1. .....................................................................28 Figura P12.4. Mapa de matriz de transiciones Problema 12.1. ......................................................29 Figura P12.5. Secuencias Problema 12.1. ......................................................................................29 Figura P12.6. Contador mdulo tres Problema 12.1. .....................................................................30 Figura P12.7. Registro desplazamiento Problema 12.1. ................................................................30 Figura P12.8. Registro con tres flip-flops Problema 12.1. .............................................................30 Figura P12.9. Registro desplazamiento con tres flip-flops. Problema 12.1....................................31 Figura P12.10. Esquemtico. Problema 12.2..................................................................................31 Figura P12.11. Matriz de transiciones. Problema 12.2. ..................................................................31 Figura P12.12. Matriz de transiciones reducida. Problema 12.2. ...................................................32 Figura P12.13. Diseo basado en flip-flop D. Problema 12.2. .......................................................32 Figura P12.14. Diseo basado en flip-flop JK. Problema 12.2. .....................................................32 Figura P12.15. Matriz de transiciones. Problema 12.3. .................................................................33 Figura P12.16. Problema 12.4. ......................................................................................................34 Figura P12.17. Asignaciones Problema 12.4. ................................................................................35

Profesor Leopoldo Silva Bijit

19-01-2010

S-ar putea să vă placă și