Está en la página 1de 8

Diseo de circuitos secuenciales

Mario Medina C. mariomedina@udec.cl

Diseo de circuitos secuenciales sincrnicos


Etapas

Construir tabla o diagrama de estados


Interpretar correctamente el enunciado

Definicin del tipo de mquina de estados 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

Asignacin de variables de estado


Reglas heursticas para reducir complejidad Determina complejidad del circuito

Escoger flip-flops a utilizar


Construir un circuito secuencial que reciba una secuencia de 0s y 1s en la entrada X y genere salida Z=1 cuando los 3 ltimos bits de la secuencia sean 101

Construir mapas de excitacin Determinar ecuaciones de excitacin Construir el circuito secuencial

El circuito no se reinicializa
X=0011011001010100 Z=0000010000010100

Mostraremos todas las etapas del diseo

Diagrama de estados (Mquina de Moore)


Completando el diagrama de estados


Estado inicial es S0

Desde S1

Desde S2

Si X = 0, seguimos en S0 con salida 0 Si X = 1, estado siguiente es S1

Si X = 0, vamos a S2 con salida 0 Si X = 1, vamos a S3

Desde S2

Entrada X = 0 regresa a S0 y genera salida Z = 0 Entrada X = 1 va a S3 y genera salida Z = 1 Entrada X = 1 va a S1 y genera salida Z = 0 Entrada X = 0 va a S2 y genera salida Z = 0

Desde S3

Mario Medina C.

Tablas de estado y transicin


Realizacin con flip-flops D


DA = ABX + ABX + ABX DB = AB + AB + AX Z = AB

Tabla de transicin es la tabla de excitacin para flipflops 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 estado


Diagrama de estados para mquina de Mealy


Resumen el comportamiento deseado


Estado inicial es S0

Desde S1

Alternativamente, se puede usar un diagrama de tiempo


Representa todos los posibles estados del circuito

Si X = 0, seguimos en S0 Si X = 1, vamos al siguiente estado S1

Si X = 0, siguiente estado es S2 Si X = 1, volvemos a S1

Desde S2

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 Entrada X = 0 genera salida Z=0 Siguiente estado es S0

Desde S2

Re-rotulando los estados

Mario Medina C.

Tablas de excitacin flip-flops D

Diseo de circuito sincrnico (Mquina de Mealy)

Mquina de Mealy o Moore?


Ejemplo: detector de secuencia (Mquina de Mealy)


Generalmente una mquina de Mealy se puede implementar con menos estados


Se debe usar una mquina de Mealy si la salida debe cambiar de inmediato frente a un cambio en la entrada

Construir un circuito secuencial que reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si la secuencia de entrada es 010 1001

Toda mquina de Mealy se puede convertir en una mquina de Moore equivalente

El circuito no se reinicializa
X=00101001000100110 Z=00010101100010100

Construyendo un diagrama de estados (Mquina de Mealy)


Completando diagrama de estados


Primero, trabajar con secuencia 010


Agregar deteccin de 1001


S0: Inicializacin S1: Se recibi 0 S2: Se recibi 01 S3: Se recibi 010

S0: Inicializacin S1: Se recibi 0 (pero no 10) S2: Se recibi 01 S3: Se recibi 10 S4: Se recibi 1 (pero no 01) S5: Se recibi 100

Mario Medina C.

Diagrama de estados final


Tabla de estados
Est. actual S0 S1 S2 S3 S4 S5 Est. siguiente X=0 S1 S1 S3 S5 S3 S1 Est. siguiente X=1 S4 S2 S4 S2 S4 S2 Salida X=0 0 0 1 0 0 0 Salida X=1 0 0 0 0 0 1

El diagrama completo

S0: Inicializacin S1: Se recibi 0 (pero no 10) S2: Se recibi 01 S3: Se recibi 10 S4: Se recibi 1 (pero no 01) S5: Se recibi 100

Recomendaciones para asignacin de estados


Asignacin de estados

No siempre se puede cumplir con todas ellas


Estados con el mismo estado siguiente para una entrada dada deberan estar adyacentes Estados que sean estados siguientes de un mismo estado deberan estar adyacentes Estados con la misma salida para una entrada dada deberan estar adyacentes

Asignacin usando hipercubo de dimensin 3 (nmero de variables) Se asigna el 000 al estado inicial S0

110

111

S5 S1 010 S2
100 011

Facilita inicializacin con CLR Quedar como superfluos Forzar trnsito a estado inicial
S0 000

Estados no utilizados

101

S3 S4
001

Tabla de transicin
Est. actual 000 001 010 011 100 101 110 111 Est. siguiente X=0 010 101 010 101 XXX 111 XXX 010 Est. siguiente X=1 001 001 001 001 XXX 011 XXX 011 Salida X=0 0 0 0 1 X 0 X 0 Salida X=1 0 0 0 0 X 0 X 1

Circuito diseado con flipflops D

DA = XAB + XAC DC = DA + X

DB = A + XC Z = XABC + XAB

Mario Medina C.

Ejemplo: detector de secuencias (Mquina de Moore)


Diagrama de estados

Construir un circuito secuencial que reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si la secuencia de entrada tiene un nmero impar de 1s y se han recibido al menos 2 0s consecutivos

Detectar paridad impar es fcil Dos estados:


S0: se ha recibido un nmero par de 1s


Consideramos el 0 como nmero par

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 0s consecutivos


Diagrama final

S0: Estado inicial nmero par de 1s S1: Nmero impar de 1s S2: Nmero par de 1s y termina en 0 S3: Nmero par de 1s y se ha recibido 00 S4: Se ha recibido 00 y nmero impar de 1s

S0: Estado inicial 1s par S1: 1s impar S2: 1s par y termina en 0 S3: 1s par y se ha recibido 00 S4: 1s impar y se ha recibido 00 S5: 1s impar y termina en 0

Tabla de estados
Est. actual S0 S1 S2 S3 S4 S5 Est. siguiente X=0 S2 S5 S3 S3 S4 S4 Est. siguiente X=1 S1 S0 S1 S4 S3 S0 Salida 0 0 0 0 1 0

Asignacin de estados

Asignacin usando hipercubo de dimensin 3 (nmero de variables) Se asigna el 000 al estado inicial S0

S3

110

111

S4 S2 010
011

Facilita inicializacin con CLR


S0 000

100

101

S5 S1
001

Mario Medina C.

Tabla de transicin
Est. actual 000 001 010 011 100 101 110 111 Est. siguiente X=0 010 101 110 XXX XXX 111 110 111 Est. siguiente X=1 011 000 001 XXX XXX 000 111 110 Salida 0 0 0 X X 0 0 1

Implementacin con flip-flops T


TA = XAC + XAB + XAB TB = XAC + XAB + BC TC = X Z = BC

Ejemplo: detector de secuencias con reinicializacin


Diagrama de estados (Mquina de Mealy)


Construir un circuito secuencial que reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si la secuencia de entrada es 0101 1001

Agregar estados para las secuencias que producen salida 1


El circuito se reinicializa cada 4 bits


X=0101 0010 1001 0100 Z=0001 0000 0001 0000

S0: Reinicializacin S1: 0 S2: 1 S3: 01 10 S4: 010 100

Diagrama de estados (Mquina de Mealy)


Tabla de estados
Est. actual S0 S1 S2 S3 S4 S5 S6 Est. siguiente X=0 S1 S5 S3 S4 S0 S6 S0 Est. siguiente X=1 S2 S3 S5 S6 S0 S6 S0 Salida X=0 0 0 0 0 0 0 0 Salida X=1 0 0 0 0 1 0 0

Diagrama completo

S0: Reinicializacin S1: 0 S2: 1 S3: 01 10 S4: 010 100 S5: Dos entradas recibidas, salida no puede ser 1 S6: Tres entradas recibidas, salida no puede ser 1

Mario Medina C.

Tabla de transicin
Est. actual 000 001 010 011 100 101 110 111 Est. siguiente X=0 001 101 011 100 000 110 000 XXX Est. siguiente X=1 010 011 101 110 000 110 000 XXX Salida X=0 0 0 0 0 0 0 0 X Salida X=1 0 0 0 0 1 0 0 X

Ejemplo: circuito con 2 salidas


Un circuito secuencial recibe una entrada X y genera salida Z1 = 1 si en la secuencia de entrada aparece 100, siempre que no haya aparecido nunca la secuencia 010. Asimismo, la salida Z2 es 1 cada vez que se completa la secuencia 010
X =1001100101010010110100 Z1 = 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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

An no se ha reconocido la secuencia 010


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

Mario Medina C.

Tabla de estados final


Est. actual S0 S1 S2 S3 S4 S5 S6 S7 Est. siguiente Est. siguiente X=0 X=1 S3 S1 S2 S3 S3 S5 S5 S5 S5 S1 S4 S4 S1 S6 S7 S7 Salida X=0 00 00 10 00 01 00 01 00 Salida X=1 00 00 00 00 00 00 00 00

Ejemplo: dos entradas y salida constante


Un circuito secuencial recibe dos entradas X1 y X2, y genera una salida Z, que tiene nivel constante hasta que se recibe alguna de las siguientes secuencias de entrada:

Si X1X2 = 01, 11, entonces Z es 0 Si X1X2 = 10, 11, entonces Z es 1 Si X1X2 = 01, 10, entonces Z se invierte Realice un diagrama de estados como mquina de Moore

Descripcin de estados

Tabla de estados
Est. Salida Est. Siguiente Est. Siguiente Est. Siguiente Est. Siguiente actual Z X1X2 = 00 X1X2 = 01 X1X2 = 11 X1X2 = 10 S0 S1 S2 S3 S4 S5 0 1 0 1 0 1 S0 S1 S0 S1 S0 S1 S2 S3 S2 S3 S3 S2 S0 S1 S0 S0 S1 S1 S4 S5 S4 S5 S4 S5

Estado depende de entrada anterior


S0: Salida 0 y entrada anterior es 00 11 S1: Salida 1 y entrada anterior es 00 11 S2: Salida 0 y entrada anterior es 01 S3: Salida 1 y entrada anterior es 01 S4: Salida 0 y entrada anterior es 10 S5: Salida 1 y entrada anterior es 10

Diagrama de estados

Mario Medina C.

También podría gustarte