Está en la página 1de 29

UNIVERSIDAD PANAMERICANA

ESCUELA DE INGENIERIA

Ingeniería Mecatrónica

SISTEMAS DIGITALES

SERIE SISTEMAS SECUENCIALES

M.I. JUAN CARLOS ROA BEIZA

GOVEA VARGAS ARTURO

MECATRÓNICA 5A

16 OCTUBRE 2008
Indice
2.Tres Bombas

3.Llave Electrónica

4. Jeopardy
5.Tolvas Ensacado
6.Laberinto
7.Circuito Secuencial Síncrono
8.Señal de Alerta
9. Barreras de Seguridad de Vías de Ferrocarril
10. Tanque
Tres Bombas

Paso1.Especificar Sistema
H = 0 tanque vacío , H=1 tanque lleno

E0: estado donde se tiene a la bomba apagada (salida A=0,B=0,C=0)


E1: estado donde se tiene a la bomba A prendida (salida A=1,B=0,C=0)
E2: estado donde se tiene a la bomba B prendida (salida A=0,B=1,C=0)
E3: estado donde se tiene a la bomba C prendida (salida A=0,B=0,C=1)
E4: estado donde se tiene a la bomba apagada (salida A=0,B=0,C=0)
E5: estado donde se tiene a la bomba apagada (salida A=0,B=0,C=0)

Paso2..Determinar Cantidad de FlipFlops


Son 6 estados.
#FF´s = int(log2(6)) = 3

Paso3. Asignar Valores a los estados


EDO Q2 Q1 Q0
E0 0 0 0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
E5 1 0 1

Paso4. Determinar entradas y salidas


Paso5. Tabla de Estados

EDO H Q2 Q1 Q0 Q2* Q1* Q0* D2 D1 D0 A B C


E0 0 0 0 0 0 0 0 0 0 0 0 0 0
E1 0 0 0 1 1 0 0 1 0 0 1 0 0
E2 0 0 1 0 1 0 1 1 0 1 0 1 0
E3 0 0 1 1 0 0 0 0 0 0 0 0 1
E4 0 1 0 0 0 1 0 0 1 0 0 0 0
E5 0 1 0 1 0 1 1 0 1 1 0 0 0
E0 1 0 0 0 0 0 0 0 0 0 0 0 0
E1 1 0 0 1 0 0 1 0 0 1 1 0 0
E2 1 0 1 0 0 1 0 0 1 0 0 1 0
E3 1 0 1 1 0 1 1 0 1 1 0 0 1
E4 1 1 0 0 1 0 0 1 0 0 0 0 0
E5 1 1 0 1 1 0 1 1 0 1 0 0 0

Paso6. Implementar
DECLARATIONS
E0=[0,0,0];
E1=[0,0,1];
E2=[0,1,0];
E3=[0,1,1];
E4=[1,0,0];
E5=[1,0,1];

S=[Q2,Q1,Q0];

STATE_DIAGRAM S

STATE E0:
A=0;B=0;C=0;
IF H THEN E0 ELSE E1;

STATE E1:
A=1;B=0;C=0;
IF H THEN E1 ELSE E4;

STATE E2:
A=0;B=1;C=0;
IF H THEN E2 ELSE E5;

STATE E3:
A=0;B=0;C=1;
IF H THEN E3 ELSE E0;

STATE E4:
A=0;B=0;C=0;
IF H THEN E4 ELSE E2;

STATE E5:
A=0;B=0;C=0;
IF H THEN E5 ELSE E3;

Paso7. WaveForm

Indice
Llave Electrónica

Paso1. Especificación Sistema

E0: estado inicial en donde se puede ingresar código de entrada (salidas AP=0,AL=0,CI=1)
E1: estado en el que se ha introducido A (salidas AP=0,AL=0,CI=X)
E2: estado en el que se ha introducido la secuencia A,C (salidas AP=0,AL=0,CI=X)
E3: estado en el que se ha introducido la secuencia A,C,D (salidas AP=0,AL=0,CI=X)
E4: estado en el que se ha introducido la secuencia A,C,D.B (salidas AP=1,AL=0,CI=0)
E5: estado en el que se ha introducido una secuencia errónea (salidas AP=0,AL=1,CI=0)
E6: estado en el que se ha introducido D (salidas AP=0,AL=1,CI=0)
E7: estado en el que se ha introducido D,B (salidas AP=0,AL=1,CI=0)

Orden de las entradas ABCD (por ejemplo en el diagrama para ingresae A sería 1000)

Paso2..Determinar Cantidad de FlipFlops


Son 8 estados.
#FF´s = int(log2(8)) = 3

Paso3. Asignar Valores a los estados

EDO Q2 Q1 Q0
E0 0 0 0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
E5 1 0 1
E6 1 1 0
E7 1 1 1
Paso4. Determinar entradas y salidas

Paso5. Tabla de Estados (Algunos Valores de Entrada)

EDO A B C D Q2 Q1 Q0 Q2* Q1* Q0* D2 D1 D0 AP AL CI


E0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1
E1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 X
E2 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 X
E3 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 X
E4 X X X X 1 0 0 0 0 0 0 0 0 1 0 0
E5 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0
E6 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0
E7 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0

Paso6. Implementar
"ASIGNACION DE VALORES A LOS EDOS
DECLARATIONS
E0=[0,0,0];
E1=[0,0,1];
E2=[0,1,0];
E3=[0,1,1];
E4=[1,0,0];
E5=[1,0,1];
E6=[1,1,0];
E7=[1,1,1];
S=[Q2,Q1,Q0];

STATE_DIAGRAM S

STATE E0:
AP=0;AL=0;CI=1;
IF A&!B&!C&!D THEN E1;
IF !(A#B#C#D) THEN E0;
IF !(A&!B&!C&!D)&(A#B#C#D) THEN E5;

STATE E1:
AP=0;AL=0;CI=.X.;
IF !A&!B&C&!D THEN E2;
IF !(A#B#C#D) THEN E1;
IF !(!A&!B&C&!D)&(A#B#C#D) THEN E5;
STATE E2:
AP=0;AL=0;CI=.X.;
IF !A&!B&!C&D THEN E3;
IF !(A#B#C#D) THEN E2;
IF !(!A&!B&!C&D)&(A#B#C#D) THEN E5;

STATE E3:
AP=0;AL=0;CI=.X.;
IF !A&B&!C&!D THEN E4;
IF !(A#B#C#D) THEN E3;
IF !(!A&B&!C&!D)&(A#B#C#D) THEN E5;

STATE E4:
AP=1;AL=0;CI=0;
IF A#B#C#D THEN E0 ELSE E4;

STATE E5:
AP=0;AL=1;CI=0;
IF !A&!B&!C&D THEN E6 ELSE E5;

STATE E6:
AP=0;AL=1;CI=0;
IF !A&B&!C&!D THEN E7;
IF !(A#B#C#D) THEN E6;
IF !(!A&B&!C&!D)&(A#B#C#D) THEN E5;

STATE E7:
AP=0;AL=1;CI=0;
IF !A&!B&C&!D THEN E0;
IF !(A#B#C#D) THEN E7;
IF !(!A&!B&C&!D)&(A#B#C#D) THEN E5;

Paso7. WaveForm

Indice
Jeopardy
Paso1. Especificación Sistema

E0: estado inicial en donde los focos están apagados (salidas FA=0,FB=0,FC=0)
E1: estado en el que se ha prendido el foco A (salidas FA=1,FB=0,FC=0)
E2: estado en el que se ha prendido el foco B (salidas FA=0,FB=1,FC=0)
E3: estado en el que se ha prendido el foco C (salidas FA=0,FB=0,FC=1)

Orden de las entradas ABCR (por ejemplo en el diagrama para ingresae R sería 0001)
ELSE (13) Representa las demás combinaciones de entrada que por simplicidad no se muestran.

Paso2..Determinar Cantidad de FlipFlops


Son 4 estados.
#FF´s = int(log2(4)) = 2

Paso3. Asignar Valores a los estados

EDO Q1 Q0
E0 0 0
E1 0 1
E2 1 0
E3 1 1
Paso4. Determinar entradas y salidas

Paso5. Tabla de Estados (Algunos Valores de Entrada)

EDO A B C R Q1 Q0 Q1* Q0* D1 D0 FA FB FC


E0 1 0 0 0 0 0 0 1 0 1 1 0 0
E1 0 1 0 0 0 1 0 1 0 1 1 0 0
E2 0 0 1 0 1 0 0 1 0 1 1 0 0
E3 0 0 0 1 1 1 0 0 0 0 0 0 0
E0 0 1 0 0 0 0 1 0 1 0 0 1 0
E1 1 0 0 0 0 1 1 0 1 0 0 1 0
E2 0 0 1 0 1 0 1 0 1 0 0 1 0
E3 0 0 0 1 1 1 0 0 0 0 0 0 0
E0 0 0 1 0 0 0 1 1 1 1 0 0 1
E1 1 0 0 0 0 1 1 1 1 1 0 0 1
E2 0 1 0 0 1 0 1 1 1 1 0 0 1
E3 0 0 0 1 1 1 0 0 0 0 0 0 0

Paso6. Implementar
DECLARATIONS
"ASIGNACION DE VALORES A LOS EDOS
E0=[0,0];
E1=[0,1];
E2=[1,0];
E3=[1,1];
S=[Q1,Q0];

STATE_DIAGRAM S

STATE E0:
FA=0;FB=0;FC=0;
IF A&!B&!C&!R THEN E1;
IF !A&B&!C&!R THEN E2;
IF !A&!B&C&!R THEN E3 ELSE E0;

STATE E1:
FA=1;FB=0;FC=0;
IF R THEN E0 ELSE E1;

STATE E2:
FA=0;FB=1;FC=0;
IF R THEN E0 ELSE E2;

STATE E3:
FA=0;FB=0;FC=1;
IF R THEN E0 ELSE E3;

Paso7. WaveForm

Indice
Tolvas Ensacado
Paso1. Especificación Sistema

E0: estado inicial en donde el motor y los desviadores están desconectados (salidas
M=0,XA=0,XB=0)
E1: estado en el que se está llenando la tolva A(salidas M=1,XA=1XB=0)
E2: estado en el que se está llenando la tolva B (salidas M=1,XA=0,XB=1)
E3: estado en el que se están llenando las tolvas A y B (salidas M=1,XA=1,XB=1)

El diagrama muestra las entradas NA,NB en ese orden y las salidas como, M,XA,XB.

Paso2..Determinar Cantidad de FlipFlops


Son 4 estados.
#FF´s = int(log2(4)) = 2

Paso3. Asignar Valores a los estados

EDO Q1 Q0
E0 0 0
E1 0 1
E2 1 0
E3 1 1
Paso4. Determinar entradas y salidas

Paso5. Tabla de Estados (Algunos Valores de Entrada)

EDO NA NB Q1 Q0 Q1* Q0* D1 D0 M NA NB


E0 0 0 0 0 1 1 1 1 1 1 1
E1 0 1 0 1 0 1 0 1 1 1 0
E2 1 0 1 0 1 0 1 0 1 0 1
E3 1 1 1 1 0 0 0 0 0 0 0
E0 0 1 0 0 0 1 0 1 1 1 0
E1 1 0 0 1 1 0 1 0 1 0 1
E2 0 0 1 0 1 1 1 1 1 1 1
E3 1 1 1 1 0 0 0 0 0 0 0
E0 1 0 0 0 1 0 1 0 1 0 1
E1 0 1 0 1 0 1 0 1 1 1 0
E2 0 0 1 0 1 1 1 1 1 1 1
E3 1 1 1 1 0 0 0 0 0 0 0
E0 1 1 0 0 0 0 0 0 0 0 0
E1 0 1 0 1 0 1 0 1 1 1 0
E2 0 0 1 0 1 1 1 1 1 1 1
E3 1 0 1 1 1 0 1 0 1 0 1

Paso6. Implementar
DECLARATIONS
"ASIGNACION DE VALORES A LOS EDOS
E0=[0,0];
E1=[0,1];
E2=[1,0];
E3=[1,1];
S=[Q1,Q0];

STATE_DIAGRAM S

STATE E0:
M=0;XA=0;XB=0;
IF !NA&!NB THEN E3;
IF !NA&NB THEN E1;
IF NA&!NB THEN E2;
IF NA&NB THEN E0;

STATE E1:
M=1;XA=1;XB=0;
IF !NA&!NB THEN E3;
IF !NA&NB THEN E1;
IF NA&!NB THEN E2;
IF NA&NB THEN E0;

STATE E2:
M=1;XA=0;XB=1;
IF !NA&!NB THEN E3;
IF !NA&NB THEN E1;
IF NA&!NB THEN E2;
IF NA&NB THEN E0;

STATE E3:
M=1;XA=1;XB=1;
IF !NA&!NB THEN E3;
IF !NA&NB THEN E1;
IF NA&!NB THEN E2;
IF NA&NB THEN E0;

Paso7. WaveForm

Indice
Laberinto
Paso1. Especificación Sistema

E0: estado inicial en donde el ratón está perdido y camina derecho (salidas ZL=0,ZR=0)
E1: estado en el que el ratón gira a la derecha (salidas ZL=0,ZR=1)
E2: estado en el que el ratón camina derecho después de girar a la derecha(salidas ZL=0,ZR=0)
E3: estado en el que el ratón gira a la izquierda (salidas ZL=1,ZR=0)

El diagrama muestra las salidas en el siguiente orden ZL,ZR.

Paso2..Determinar Cantidad de FlipFlops


Son 4 estados.
#FF´s = int(log2(4)) = 2

Paso3. Asignar Valores a los estados

EDO Q1 Q0
E0 0 0
E1 0 1
E2 1 0
E3 1 1
Paso4. Determinar entradas y salidas

Paso5. Tabla de Estados (Algunos Valores de Entrada)

EDO S Q1 Q0 Q1* Q0* D1 D0 ZL ZR


E0 0 0 0 0 0 0 0 0 0
E1 0 0 1 1 0 1 0 0 1
E2 0 1 0 1 0 1 0 0 0
E3 0 1 1 0 0 0 0 1 0
E0 1 0 0 0 1 0 1 0 0
E1 1 0 1 1 1 1 1 0 1
E2 1 1 0 1 1 1 1 0 0
E3 1 1 1 0 1 0 1 1 0

Paso6. Implementar

DECLARATIONS
"ASIGNACION DE VALORES A LOS EDOS
E0=[0,0];
E1=[0,1];
E2=[1,0];
E3=[1,1];
S=[Q1,Q0];

STATE_DIAGRAM S

STATE E0:
ZL=0;ZR=0;
IF SS THEN E1 ELSE E0;

STATE E1:
ZL=0;ZR=1;
IF SS THEN E3 ELSE E2;

STATE E2:
ZL=0;ZR=0;
IF SS THEN E3 ELSE E2;
STATE E3:
ZL=1;ZR=0;
IF SS THEN E1 ELSE E0;

Paso7. WaveForm

Indice
Circuito Secuencial Síncrono
Paso1. Especificación Sistema
Mealy X(entrada) / Z (salida)
E0: estado inicial, no se ha ingresado nada.
E1: estado en el que se ha ingresado un 0.
E2: estado en el que se han ingresado dos bits y el primero ha sido 0.
E3: estado en el que se han ingresado tres bits y el primero ha sido 0.
E4: estado en el que se ha ingresado un 1.
E5: estado en el que se han ingresado dos bits, el primero ha sido 1 y el segundo 0 .
E6: estado en el que se han ingresado dos bits, el primero ha sido 1 y el segundo 1 .
E7: estado en el que se han ingresado tres bits, el primero ha sido 1,el segundo 1 y el tercero 0 ó 1.

Paso2..Determinar Cantidad de FlipFlops


Son 8 estados.
#FF´s = int(log2(8)) = 3

Paso3.Asignar valores a los estados

EDO Q2 Q1 Q0
E0 0 0 0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
E5 1 0 1
E6 1 1 0
E7 1 1 1
Paso4. Determinar entradas y salidas

Paso5.Tabla de Estados

EDO X Q2 Q1 Q0 Q2* Q1* Q0* D2 D1 D0 Z


E0 0 0 0 0 0 0 1 0 0 1 0
E1 0 0 0 1 0 1 0 0 1 0 0
E2 0 0 1 0 0 1 1 0 1 1 0
E3 0 0 1 1 0 0 1 0 0 1 0
E4 0 1 0 0 1 0 1 1 0 1 0
E5 0 1 0 1 0 1 1 0 1 1 0
E6 0 1 1 0 1 1 1 1 1 1 0
E7 0 1 1 1 0 0 1 0 0 1 1
E0 1 0 0 0 1 0 0 1 0 0 0
E1 1 0 0 1 0 1 0 0 1 0 0
E2 1 0 1 0 0 1 1 0 1 1 0
E3 1 0 1 1 1 0 0 1 0 0 0
E4 1 1 0 0 1 1 0 1 1 0 0
E5 1 1 0 1 1 1 1 1 1 1 0
E6 1 1 1 0 1 1 1 1 1 1 0
E7 1 1 1 1 1 0 0 1 0 0 1

Paso6. Implementar
XQ2\Q1Q0 00 01 11 10
00 1 1 1
01 1 1 1 1
11 1 1
10 1 1

D0 =!X&(Q1#!Q1&!Q0#Q2) # X &(Q1$Q0)

XQ2\Q1Q0 00 01 11 10
00 1 1
01 1 1
11 1 1 1
10 1 1

D1 = X&Q2&!Q1 # Q1$Q0
XQ2\Q1Q0 00 01 11 10
00
01 1 1
11 1 1 1 1
10 1 1

D2 = X&Q2 # Q2&!Q1&!Q0 # Q2&Q1&!Q0 # X&(Q1!$Q0)

XQ2\Q1Q0 00 01 11 10
00
01 1
11 1
10
Z=Q2&Q1&Q0

Paso7. Wave

Indice
Señal de Alerta
Paso1. Especificación Sistema
E0: estado inicial, y todas las luces apagadas .
E1: estado en el que ha iniciado la secuencia uno .
E2: estado en el que la secuencia uno va en el segundo bit.
E3: estado en el que la secuencia uno está en tercer y último bit.
E4: estado en el que ha iniciado la secuencia dos .
E5: estado en el que la secuencia uno va en el segundo bit.
E6: estado en el que la secuencia uno está en tercer y último bit.

Paso2..Determinar Cantidad de FlipFlops


Son 7 estados.
#FF´s = int(log2(8)) = 3

Paso3.Asignar valores a los estados

EDO Q2 Q1 Q0
E0 0 0 0
E1 1 0 0
E2 0 1 0
E3 0 0 1
E4 1 1 0
E5 0 1 1
E6 1 0 1

Paso4. Determinar entradas y salidas


Paso5.Tabla de Estados

EDO S Q2 Q1 Q0 Q2* Q1* Q0* D2 D1 D0 L2 L1 L0


E0 0 0 0 0 1 0 0 1 0 0 0 0 0
E1 0 1 0 0 0 1 0 0 1 0 1 0 0
E2 0 0 1 0 0 0 1 0 0 1 0 1 0
E3 0 0 0 1 1 0 0 1 0 0 0 0 1
E4 0 1 1 0 0 1 1 0 1 1 1 1 0
E5 0 0 1 1 1 0 1 1 0 1 0 1 1
E6 0 1 0 1 0 0 0 0 0 0 1 0 1
E0 1 0 0 0 1 1 0 1 1 0 0 0 0
E1 1 1 0 0 0 1 0 0 1 0 1 0 0
E2 1 0 1 0 0 0 1 0 0 1 0 1 0
E3 1 0 0 1 0 0 0 0 0 0 0 0 1
E4 1 1 1 0 0 1 1 0 1 1 1 1 0
E5 1 0 1 1 1 0 1 1 0 1 0 1 1
E6 1 1 0 1 1 1 0 1 1 0 1 0 1

Paso6. Implementar
"ASIGNACION EDOS
DECLARATIONS
E0 = [0,0,0];
E1 = [1,0,0];
E2 = [0,1,0];
E3 = [0,0,1];
E4 = [1,1,0];
E5 = [0,1,1];
E6 = [1,0,1];

STATE_DIAGRAM SINC
STATE E0:
IF S THEN E4 ELSE E1;
STATE E1:
GOTO E2;
STATE E2:
GOTO E3;
STATE E3:
IF S THEN E0 ELSE E1;
STATE E4:
GOTO E5;
STATE E5:
GOTO E6;
STATE E6:
IF S THEN E4 ELSE E0;
Paso7. Wave

Indice
Barreras de Seguridad de Vías de Ferrocarril
Paso1. Especificación Sistema

E0: estado en el que no ha cruzado tren alguno


E1: estado en el que el tren está cruzadno de izquierda a derecha (X1 a X2)
E2: estado en el que el tren está cruzando de derecha a izquierda (X2 a X1)
E3: estado en el que el tren ha cruzado “medio camino”, pero aún no pasa el último vagón

Las entradas están en el orden X2,X1

Paso2..Determinar Cantidad de FlipFlops


Son 3 estados.
#FF´s = int(log2(4)) = 2

Paso3. Asignar Valores a los estados

EDO Q1 Q0
E0 0 0
E1 0 1
E2 1 0
E3 1 1

Paso4. Determinar entradas y salidas

Paso5. Tabla de Estados (Algunos Valores de Entrada)


EDO X2 X1 Q1 Q0 Q1* Q0* D1 D0 Z
E0 0 0 0 0 0 0 0 0 0
E0 0 1 0 0 0 1 0 1 0
E0 1 0 0 0 1 0 1 0 0
E1 0 0 0 1 0 1 0 1 1
E1 1 1 0 1 0 1 0 1 1
E1 0 1 0 1 1 1 1 1 1
E2 0 0 1 0 1 0 1 0 1
E2 1 1 1 0 1 0 1 0 1
E2 1 0 1 0 1 1 1 1 1
E3 0 0 1 1 0 0 0 0 1
E3 0 1 1 1 1 1 1 1 1
E3 1 0 1 1 1 1 1 1 1

Paso6. Implementar
DECLARATIONS "ASIGNACION DE VALORES A LOS EDOS
E0=[0,0];
E1=[0,1];
E2=[1,0];
E3=[1,1];

S=[Q1,Q0];

STATE_DIAGRAM S

STATE E0:
Z=0;
IF !X2&!X1 THEN E0;
IF !X2&X1 THEN E1;
IF X2&!X1 THEN E2;

STATE E1:
Z=1;
IF !X2&!X1 THEN E1;
IF !X2&X1 THEN E1;
IF X2&X1 THEN E1;
IF X2&!X1 THEN E3;

STATE E2:
Z=1;
IF !X2&!X1 THEN E2;
IF X2&!X1 THEN E2;
IF X2&X1 THEN E2;
IF !X2&X1 THEN E3;

STATE E3:
Z=1;
IF !X2&X1 THEN E3;
IF X2&!X1 THEN E3;
IF !X2&!X1 THEN E0;
Paso7. WaveForm

Indice
Ejemplo 9.3 Tanque

Paso1.Especificar Sistema

E0: edo con el tanque lleno a 1/3 (nivel bajo) y sin llaves abiertas (S2=0 ,S1=0)
E1: edo con el tanque lleno a 2/3 (nivel medio) y con una llave abierta (S2=1 ,S1=0)
E2: edo con el tanque lleno a 1/3 (nivel bajo) y con una llave abierta (S2=1 ,S1=0)
E3: edo con el tanque lleno a 3/3 (alto) y con las llaves abiertas (S2=1 ,S1=1)
E4: edo con el tanque lleno a 2/3 (nivel medio) y con las dos llaves abiertas (S2=1 ,S1=1)

Paso2..Determinar Cantidad de FlipFlops


Son 5 estados.
#FF´s = int(log2(4)) = 3

Paso3. Asignar Valores a los estados

EDO Q2 Q1 Q0
E0 0 0 0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
Paso4. Determinar entradas y salidas

Paso5. Tabla de Estados (Algunos Valores de Entrada)

EDO A M B Q2 Q1 Q0 Q2* Q1* Q0* D2 D1 D0 S2 S1


E0 0 1 1 0 0 0 0 0 1 0 0 1 0 0
E1 0 0 1 0 0 1 0 1 0 0 1 0 1 0
E1 1 1 1 0 0 1 0 1 1 0 1 1 1 0
E2 0 1 1 0 1 0 0 0 1 0 0 1 1 0
E3 0 1 1 0 1 1 1 0 0 1 0 0 1 1
E4 0 0 0 1 0 0 0 0 0 0 0 0 1 1
E4 1 1 1 1 0 0 0 1 1 0 1 1 1 1
E4 0 0 1 1 0 0 0 1 0 0 1 0 1 1
E4 0 1 1 1 0 0 0 0 1 0 0 1 1 1

Paso6. Implementar
DECLARATIONS
E0=[0,0,0];
E1=[0,0,1];
E2=[0,1,0];
E3=[0,1,1];
E4=[1,0,0];

S=[Q2,Q1,Q0];

STATE_DIAGRAM S

STATE E0:
S2=0;S1=0;
IF !A&M&B THEN E1 ELSE E0;

STATE E1:
S2=1;S1=0;
IF !A&!M&B THEN E2;
IF A&M&B THEN E3;

STATE E2:
S2=1;S1=0;
IF !A&M&B THEN E1;
STATE E3:
S2=1;S1=1;
IF !A&M&B THEN E4;

STATE E4:
S2=1;S1=1;
IF !A&M&B THEN E1;
IF !A&!M&!B THEN E0;
IF A&M&B THEN E3;
IF !A&!M&B THEN E2;

Paso7. WaveForm

Indice