Está en la página 1de 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

1/1

1/1

0/1

0/0

1/0

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

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

Sistemas Digitales
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

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

Sistemas Digitales

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

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

7
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

Sistemas Digitales

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

1/0

0/
0
b

c
0/0

/0

/0
/0
/0

1/0

d
c

1/0

g
/0

0/0
h
/0

m
h

/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

S3

S4

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

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

S5

S0

S1

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

S3

S4

Figura 12.9b. Tabla de implicaciones.


La matriz reducida, eliminando los estados equivalentes, resulta:

Profesor Leopoldo Silva Bijit

19-01-2010

10

Sistemas Digitales

Estado presente
S0
S1
S2
S3

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

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

Profesor Leopoldo Silva Bijit

2m

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

m
2
3
4
5
6
7

ae
1
2
2
3
3
3

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

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

A
B
C
D

00
01
11
10

00
10
11
01

10
11
01
00

01
00
10
11

11
10
00
01

10
00
01
11

01
11
10
00

11
01
00
10

00
11
01
10

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

Sistemas Digitales

18 1

17 2

10 4

23 12 15 7

20 6

19 14 11 22 3

16 13 8

21 5

24

A
B
C
D

00
01
10
11

00
10
01
11

00
11
01
10

00
11
10
01

01
00
11
10

01
11
00
10

10
00
11
01

11
00
01
10

11
01
10
00

11
10
01
00

00
01
11
10

00
10
11
01

01
00
10
11

01
10
00
11

01
10
11
00

01
11
10
00

10
00
01
11

10
01
00
11

10
01
11
00

10
11
00
01

10
11
01
00

11
00
10
01

11
01
00
10

11
10
00
01

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

xj

Si

Sj

xi

xi

Est. Prximo

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

xj

Est. Prximo
Si

Sj

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

17

xj

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

x1x0=01

S1=010
S2=011

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

x1x0=01

x1x0=11

S=010

S1=101/0

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.

19

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.

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

Q0
Q1

A
0

C
0

1
0
2

B
0
D
0

1
3

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

Sistemas Digitales
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

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

21
0
10/0
00/1
10/0
11/0

1
01/0
11/1
00/0
01/0

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

Sistemas Digitales

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

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

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

01
1
1

11
4

Q3Q2
00
Q1Q0

10
8

00

01

11

10

Q3+ x=1

01

11
4

10
8

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

E0
0

E1
0

Q0
Q1

1
0
2

E2
0
E3
0

E0
0

E1
0

Q0
Q1

1
0

E3
0

E2
0

E0
0

E2
0

Asignacin 2

Asignacin 1

1
0
2

E1
0

E3
0

Asignacin 3

Figura 12.28. Asignaciones ejemplo 12.7.


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

E0
0

E3
0

1
0
2

E1
0
E2
0

1
3

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.

25

Ejemplo 12.8.
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

00

Q0

01

11

0 E0

E3

E6

1 E1

E4

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

01
0

11

10

12

13

15

11

00 0010 1110 0001


1

01 1010

1110 0000

11 0110 1100
2

10 0100 1110

0000 0100
14

10

0000 0110

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.

Estado Inicial

Para el siguiente diagrama de estados:

a
0/0

1/0
c

b
0/0
d
0/0

0/0

1/0
e

1/0

0/0

1/0
g

f
1/1

0/1

1/0

0/0

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)

a
b
c
d
e
f

x=0
b/0
d/0
f/0
a/0
a/0
a/1

Q2Q1
00
Q0

x=1
c/0
e/0
d/0
a/0
a/1
a/0

01
0

11
2

d
1

10
6

e
3

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.

a
b
c
d
e
f

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

Figura P12.3. Matriz de transiciones Problema 12.1.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 12. Equivalencia y Asignacin de Estados.

29

d) Formando un mapa

Q2Q1
00
Q0x
00

001/0

01

011/0

11

110/0

10

010/0

01
0
1

3
2

11

000/0

000/0

010/0

111/0

4
5

7
6

12

000/0

10
8

13

000/1

15

000/0

9
/

11

14

000/1

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.

31

En esta situacin, la salida se genera segn:


z = QbQa(Q0Q1Q2 + Q0Q1Q2)

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

0
1
11 01
01 11
00 10
01 00
Q1+Q0+

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.
Estado
A=0
B=1

0
1
A
B
B
A
Estado +

0
1

1
0

A/0

B/1

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

Q
D

Q
0
1

0
0
1

z
1
1
0

0
1

Q+
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.

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

33

F
F
F
F
F
F
F

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.

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

Sistemas Digitales

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

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.

Q0
Q1

0
0

A
0

B
0

Q0

Q1

D
0
2

A
0

D
0

Asig. 1

Q0

1
0

C
0

35

Q1

B
0
2

A
0

C
0

C
0

Asig. 2

1
0

B
0
2

D
0

Asig. 3

Figura P12.17. Asignaciones Problema 12.4.


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

También podría gustarte