Está en la página 1de 8

Diseo de circuitos

Diseo de circuitos secuenciales sincrnicos


Etapas
secuenciales

Construir tabla o diagrama de estados
Interpretar correctamente el enunciado
Mario Medina C. Definicin del tipo de mquina de estados
mariomedina@udec.cl finitos
Mquina de Mealy
Mquina de Moore
Reduccin de estados equivalentes (a tratar en el
siguiente captulo)
Mario Medina

Diseo de circuitos
secuenciales sincrnicos Detector de secuencia binaria
Etapas Construir un circuito secuencial que reciba
Asignacin de variables de estado una secuencia de 0s y 1s en la entrada X y
Reglas heursticas para reducir complejidad genere salida Z=1 cuando los 3 ltimos bits
Escoger flip-flops a utilizar de la secuencia sean 101
Determina complejidad del circuito El circuito no se reinicializa
Construir mapas de excitacin X=0011011001010100
Determinar ecuaciones de excitacin Z=0000010000010100
Construir el circuito secuencial Mostraremos todas las etapas del diseo

Diagrama de estados (Mquina Completando el diagrama de


de Moore) estados
Estado inicial es S0 Desde S1 Desde S2
Si X = 0, seguimos en S0 Si X = 0, vamos a S2 con Entrada X = 0 regresa a S0 y
con salida 0 salida 0 genera salida Z = 0
Si X = 1, estado Desde S2 Entrada X = 1 va a S3 y
siguiente es S1 Si X = 1, vamos a S3 genera salida Z = 1
Desde S3
Entrada X = 1 va a S1 y
genera salida Z = 0
Entrada X = 0 va a S2 y
genera salida Z = 0

2014 Mario Medina C. 1


Tablas de estado y transicin Realizacin con flip-flops D
Tabla de transicin DA = ABX + ABX + ABX
es la tabla de DB = AB + AB + AX
excitacin para flip- Z = AB
flops D
Qu pasa si se
escoge S2=10 y S3 =
11?
Tabla de estado es la
misma, tabla de
transicin cambia

Construccin de diagramas de Diagrama de estados para


estado mquina de Mealy
Resumen el comportamiento deseado Estado inicial es S0 Desde S1
Alternativamente, se puede usar un diagrama de Si X = 0, seguimos en S0 Si X = 0, siguiente estado
tiempo Si X = 1, vamos al es S2
siguiente estado S1 Desde S2
Representa todos los posibles estados del circuito
Si X = 1, volvemos a S1
Mquinas de Mealy o Moore
Repetir ejercicio anterior, ahora como mquina
de Mealy

Completando el diagrama de
estados Tabla de estados
Desde S1
Entrada X = 1 genera salida
Z=0
Siguiente estado es S1
Desde S2
Entrada X = 0 genera salida Re-rotulando los estados
Z=0
Siguiente estado es S0

2014 Mario Medina C. 2


Diseo de circuito sincrnico
Tablas de excitacin flip-flops D (Mquina de Mealy)

Ejemplo: detector de secuencia


Mquina de Mealy o Moore? (Mquina de Mealy)
Generalmente una mquina de Mealy se Construir un circuito secuencial que reciba
puede implementar con menos estados como entrada X una secuencia de 0s y 1s y
Se debe usar una mquina de Mealy si la salida genere salida Z=1 si la secuencia de entrada
debe cambiar de inmediato frente a un cambio es 010 1001
en la entrada El circuito no se reinicializa
Toda mquina de Mealy se puede convertir X=00101001000100110
en una mquina de Moore equivalente Z=00010101100010100

Construyendo un diagrama de Completando diagrama de


estados (Mquina de Mealy) estados
Generar primero las Agregar deteccin de 1001
secuencias de estados S0: Inicializacin
que lleva a salida 1 S1: Se recibi 0 (pero no 10)
Primero, trabajar con S2: Se recibi 01
secuencia 010 S3: Se recibi 10
S0: Inicializacin S4: Se recibi 1 (pero no 01)
S1: Se recibi 0 S5: Se recibi 100
S2: Se recibi 01
S3: Se recibi 010

2014 Mario Medina C. 3


Diagrama de estados final Tabla de estados
El diagrama completo
S0: Inicializacin Est. Est. siguiente Est. siguiente Salida Salida
S1: Se recibi 0 (pero no 10) actual X=0 X=1 X=0 X=1
S0 S1 S4 0 0
S2: Se recibi 01
S3: Se recibi 10 S1 S1 S2 0 0
S4: Se recibi 1 (pero no 01) S2 S3 S4 1 0
S5: Se recibi 100 S3 S5 S2 0 0
S4 S3 S4 0 0
S5 S1 S2 0 1

Recomendaciones para
asignacin de estados Asignacin de estados
No siempre se puede cumplir con todas ellas Asignacin usando
Estados con el mismo estado siguiente para una hipercubo de dimensin 3
(nmero de variables) 110 111
entrada dada deberan estar adyacentes S5
Se asigna el 000 al estado
Estados que sean estados siguientes de un inicial S0 S1 010 S2
011

mismo estado deberan estar adyacentes Facilita inicializacin con CLR


100 101
Estados con la misma salida para una entrada Estados no utilizados S3
dada deberan estar adyacentes Quedar como superfluos S0 000 S4
001

Forzar trnsito a estado


inicial

Circuito diseado con flip-


Tabla de transicin flops D
Est. Est. siguiente Est. siguiente Salida Salida
actual X=0 X=1 X=0 X=1

000 010 001 0 0


001 101 001 0 0
010 010 001 0 0
011 101 001 1 0
100 XXX XXX X X
101 111 011 0 0
110 XXX XXX X X
111 010 011 0 1
DA = XAB + XAC DB = A + XC
DC = DA + X Z = XABC + XAB

2014 Mario Medina C. 4


Ejemplo: detector de secuencias
(Mquina de Moore) Diagrama de estados
Construir un circuito secuencial que reciba Detectar paridad impar es fcil
como entrada X una secuencia de 0s y 1s y Dos estados:
genere salida Z=1 si la secuencia de entrada S0: se ha recibido un nmero par de 1s
tiene un nmero impar de 1s y se han Consideramos el 0 como nmero par
recibido al menos 2 0s consecutivos S1: Se ha recibido un nmero impar de 1s
El circuito no se reinicializa
X= 10110011
Z = (0) 0 0 0 0 0 1 0 1

Diagrama de estados Diagrama de estados


Agregar estados para contar los Diagrama final
0s consecutivos S0: Estado inicial 1s par
S0: Estado inicial nmero par de S1: 1s impar
1s
S2: 1s par y termina en 0
S1: Nmero impar de 1s
S3: 1s par y se ha recibido 00
S2: Nmero par de 1s y termina en
0 S4: 1s impar y se ha recibido
S3: Nmero par de 1s y se ha 00
recibido 00 S5: 1s impar y termina en 0
S4: Se ha recibido 00 y nmero
impar de 1s

Tabla de estados Asignacin de estados


Asignacin usando
Est. Est. siguiente Est. siguiente Salida
actual X=0 X=1 hipercubo de dimensin 3 S3
110 111

S0 S2 S1 0 (nmero de variables) S4
011
S2 010
S1 S5 S0 0 Se asigna el 000 al estado
S2 S3 S1 0 inicial S0 100 101
S3 S3 S4 0 Facilita inicializacin con CLR S5
S4 S4 S3 1 001
S0 000 S1
S5 S4 S0 0

2014 Mario Medina C. 5


Implementacin con flip-flops
Tabla de transicin T
Est. Est. siguiente Est. siguiente Salida
TA = XAC + XAB + XAB
actual X=0 X=1 TB = XAC + XAB + BC
000 010 011 0 TC = X
001 101 000 0 Z = BC
010 110 001 0
011 XXX XXX X
100 XXX XXX X
101 111 000 0
110 110 111 0
111 111 110 1

Ejemplo: detector de Diagrama de estados (Mquina


secuencias con reinicializacin de Mealy)
Construir un circuito secuencial que reciba Agregar estados para las
como entrada X una secuencia de 0s y 1s y secuencias que producen
genere salida Z=1 si la secuencia de entrada salida 1
S0: Reinicializacin
es 0101 1001
S1: 0
El circuito se reinicializa cada 4 bits S2: 1
X=0101 0010 1001 0100 S3: 01 10
Z=0001 0000 0001 0000 S4: 010 100

Diagrama de estados (Mquina


de Mealy) Tabla de estados
Diagrama completo
Est. Est. siguiente Est. siguiente Salida Salida
S0: Reinicializacin actual X=0 X=1 X=0 X=1
S1: 0
S0 S1 S2 0 0
S2: 1
S1 S5 S3 0 0
S3: 01 10 S2 S3 S5 0 0
S4: 010 100 S3 S4 S6 0 0
S5: Dos entradas recibidas, S4 S0 S0 0 1
salida no puede ser 1 S5 S6 S6 0 0
S6: Tres entradas recibidas, S6 S0 S0 0 0
salida no puede ser 1

2014 Mario Medina C. 6


Tabla de transicin Ejemplo: circuito con 2 salidas
Est. Est. siguiente Est. siguiente Salida Salida Un circuito secuencial recibe una entrada X y
actual X=0 X=1 X=0 X=1 genera salida Z1 = 1 si en la secuencia de
000 001 010 0 0
entrada aparece 100, siempre que no haya
001 101 011 0 0
010 011 101 0 0
aparecido nunca la secuencia 010. Asimismo,
011 100 110 0 0 la salida Z2 es 1 cada vez que se completa la
100 000 000 0 1 secuencia 010
101 110 110 0 0 X =1001100101010010110100
110 000 000 0 0 Z1 = 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
111 XXX XXX X X Z2 = 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0

Diagramas de estado iniciales Diagramas de estados iniciales


Descripcin de estados
S0: Estado inicial
S1: Reconoce 1 de 100
S2: Reconoce 10 de 100 0 de 010
S3: Reconoce 0 de 010
S4: Reconoce 1 de 100 01 de 010
An no se ha reconocido la secuencia 010
Qu pasa si en S4 se recibe un 0?
Nuevo estado!

Diagrama de estados final Diagrama de estados final


Descripcin de estados
S0: Estado inicial
S1: Reconoce 1 de 100
S2: Reconoce 10 de 100 0 de 010
S3: Reconoce 0 de 010
S4: Reconoce 1 de 100 01 de 010
S5: Reconoce 0 de 010 (010 ya reconocido)
S6: Reconoce 01 de 010 (010 ya reconocido)
S7: Estado inicial reconocimiento 010

2014 Mario Medina C. 7


Ejemplo: dos entradas y salida
Tabla de estados final constante
Est. Est. siguiente Est. siguiente Salida Salida Un circuito secuencial recibe dos entradas X1
actual X=0 X=1 X=0 X=1 y X2, y genera una salida Z, que tiene nivel
S0 S3 S1 00 00
constante hasta que se recibe alguna de las
S1 S2 S1 00 00
S2 S3 S4 10 00
siguientes secuencias de entrada:
S3 S3 S4 00 00 Si X1X2 = 01, 11, entonces Z es 0
S4 S5 S1 01 00 Si X1X2 = 10, 11, entonces Z es 1
S5 S5 S6 00 00 Si X1X2 = 01, 10, entonces Z se invierte
S6 S5 S7 01 00 Realice un diagrama de estados como mquina
S7 S5 S7 00 00 de Moore

Descripcin de estados Tabla de estados


Est. Salida Est. Siguiente Est. Siguiente Est. Siguiente Est. Siguiente
Estado depende de entrada anterior actual Z X1X2 = 00 X1X2 = 01 X1X2 = 11 X1X2 = 10
S0: Salida 0 y entrada anterior es 00 11 S0 0 S0 S2 S0 S4
S1: Salida 1 y entrada anterior es 00 11 S1 1 S1 S3 S1 S5
S2: Salida 0 y entrada anterior es 01
S2 0 S0 S2 S0 S4
S3: Salida 1 y entrada anterior es 01
S3 1 S1 S3 S0 S5
S4: Salida 0 y entrada anterior es 10
S5: Salida 1 y entrada anterior es 10 S4 0 S0 S3 S1 S4

S5 1 S1 S2 S1 S5

Diagrama de estados

2014 Mario Medina C. 8