12.07.2015 Views

16-Diseño Sincronicos.pdf

16-Diseño Sincronicos.pdf

16-Diseño Sincronicos.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Diseño</strong> de circuitossecuencialesMario Medina C.mariomedina@udec.cl<strong>Diseño</strong> de circuitossecuenciales sincrónicos• Etapas• Construir tabla o diagrama de estados• Interpretar correctamente el enunciado• Definición del tipo de máquina de estadosfinitos• Máquina de Mealy• Máquina de Moore• Reducción de estados equivalentes (a tratar en elsiguiente capítulo)© Mario Medina<strong>Diseño</strong> de circuitossecuenciales sincrónicos• Etapas• Asignación de variables de estado• Reglas heurísticas para reducir complejidad• Escoger flip-flops a utilizar• Determina complejidad del circuito• Construir mapas de excitación• Determinar ecuaciones de excitación• Construir el circuito secuencialDetector de secuencia binaria• Construir un circuito secuencial que recibauna secuencia de 0s y 1s en la entrada X ygenere salida Z=1 cuando los 3 últimos bitsde la secuencia sean 101• El circuito no se reinicializaX = 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0Z = 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0• Mostraremos todas las etapas del diseñoDiagrama de estados (Máquinade Moore)• Estado inicial es S 0 • Desde S 1• Si X = 0, seguimos en S 0 • Si X = 0, vamos a S 2 concon salida 0salida 0• Si X = 1, estado • Desde S 2siguiente es S 1 • Si X = 1, vamos a S 3Completando el diagrama deestados• Desde S 2• EntradaX = 0 regresaa S 0 ygenera salida Z = 0• Entrada X = 1 va a S 3 ygenera salida Z = 1• Desde S3• Entrada X = 1 va a S 1 ygenera salida Z = 0• Entrada X = 0 va a S 2 ygenera salida Z = 0©Mario Medina C. 1


Tablas de estado y transición• Tabla de transiciónes la tabla deexcitación para flipflopsD• Qué pasa si seescoge S 2 =10 y S 3 =11?• Tabla de estado es lamisma, tabla detransición cambiaRealización con flip-flops D• D A = A’BX’ + ABX + AB’X’• D B = A’B + AB’ + A’X• Z = AB’Construcción de diagramas deestado• Resumen el comportamiento deseado• Alternativamente, se puede usar un diagrama detiempo• Representa todos los posibles estados del circuito• Máquinas de Mealy o Moore• Repetir ejercicio anterior, ahora como máquinade MealyDiagrama de estados paramáquina de Mealy• Estado inicial es S 0 • Desde S 1• Si X = 0, seguimos en S 0 • Si X = 0, siguiente estado• Si X = 1, vamos ales S 2siguiente estado S 1 • Desde S 2• Si X = 1, volvemos a S 1Completando el diagrama deestadosTabla de estados• Desde S 1• Entrada X = 1 genera salidaZ = 0• Siguiente estado es S 1• Desde S 2• Entrada X = 0 genera salidaZ = 0• Re-rotulando los estados• Siguiente estado es S 0©Mario Medina C. 2


Tablas de excitación flip-flops D<strong>Diseño</strong> de circuito sincrónico(Máquina de Mealy)Máquina de Mealy o Moore?• Generalmente una máquina de Mealy sepuede implementar con menos estados• Se debe usar una máquina de Mealy si la salidadebe cambiar de inmediato frente a un cambioen la entrada• Toda máquina de Mealy se puede convertiren una máquina de Moore equivalenteEjemplo: detector de secuencia(Máquina de Mealy)• Construir un circuito secuencial que recibacomo entrada X una secuencia de 0s y 1s ygenere salida Z=1 si la secuencia de entradaes 010 ó 1001• El circuito no se reinicializaX = 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0Z = 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0Construyendo un diagrama deestados (Máquina de Mealy)• Generar primero lassecuencias de estadosque lleva a salida 1• Primero, trabajar consecuencia 010• S 0 : Inicialización• S 1 : Se recibió 0• S 2 : Se recibió 01• S 3 : Se recibió 010Completando diagrama deestados• Agregar detección de 1001• S 0 : Inicialización• S 1 : Se recibió 0 (pero no 10)• S 2 : Se recibió 01• S 3 : Se recibió 10• S 4 : Se recibió 1 (pero no 01)• S 5 : Se recibió 100©Mario Medina C. 3


Diagrama de estados final• El diagrama completo• S 0 : Inicialización• S 1 : Se recibió 0 (pero no 10)• S 2 : Se recibió 01• S 3 : Se recibió 10• S 4 : Se recibió 1 (pero no 01)• S 5 : Se recibió 100Tabla de estadosEst.actualEst. siguienteX = 0S 0S 1S 400S 1 S 1S 200S 2 S 3S 410S 3 S 5S 200S 4 S 3S 400S 5 01S 1Est. siguienteX = 1S 2SalidaX = 0SalidaX = 1Recomendaciones paraasignación de estados• No siempre se puede cumplir con todas ellas• Estados con el mismo estado siguiente para unaentrada dada deberían estar adyacentes• Estados que sean estados siguientes de unmismo estado deberían estar adyacentes• Estados con la misma salida para una entradadada deberían estar adyacentesAsignación de estados• Asignación usandohipercubo de dimensión 3(número de variables)• Se asigna el 000 al estadoinicial S 0• Facilita inicialización con CLR• Estados no utilizados• Quedar como superfluos• Forzar tránsito a estadoinicialS0 000110 111010 011S1S2100001S4S5101S3Tabla de transiciónCircuito diseñado con flipflopsDEst.actualEst. siguienteX = 0Est. siguienteX = 1SalidaX = 0SalidaX = 1000001010011100101110111010101010101XXX111XXX010001001001001XXX011XXX0110001X0X00000X0X1D A = X’AB’ + X’A’CD C = D A + XD B = A + X’C’Z = X’A’BC + XAB©Mario Medina C. 4


Ejemplo: detector de secuencias(Máquina de Moore)• Construir un circuito secuencial que recibacomo entrada X una secuencia de 0s y 1s ygenere salida Z=1 si la secuencia de entradatiene un número impar de 1s y se hanrecibido al menos 2 0s consecutivos• El circuito no se reinicializaX = 1 0 1 1 0 0 1 1Z = (0) 0 0 0 0 0 1 0 1Diagrama de estados• Detectar paridad impar es fácil• Dos estados:• S 0 : se ha recibido un número par de 1s• Consideramos el 0 como número par• S 1 : Se ha recibido un número impar de 1sDiagrama de estados• Agregar estados para contar los0s consecutivos• S 0 : Estado inicial ó número par de1s• S 1 : Número impar de 1s• S 2 : Número par de 1s y termina en0• S 3 : Número par de 1s y se harecibido 00• S 4 : Se ha recibido 00 y númeroimpar de 1sDiagrama de estados• Diagrama final• S 0 : Estado inicial ó 1s par• S 1 : 1s impar• S 2 : 1s par y termina en 0• S 3 : 1s par y se ha recibido 00• S 4 : 1s impar y se ha recibido00• S 5 : 1s impar y termina en 0Tabla de estadosEst.actualEst. siguienteX = 0S 0S 2S 10S 1 S 5S 00S 2 S 3S 10S 3 S 3S 40S 4 S 4S 31S 5 0S 4Est. siguienteX = 1S 0SalidaAsignación de estados• Asignación usandohipercubo de dimensión 3(número de variables)• Se asigna el 000 al estadoinicial S 0• Facilita inicialización con CLRS0 000S3110 111010 011S2100001S1S4101S5©Mario Medina C. 5


Tabla de transiciónImplementación con flip-flopsTEst.actual000001010011100101110111Est. siguienteX = 0010101110XXXXXX111110111Est. siguienteX = 1011000001XXXXXX000111110Salida000XX001T A = X’A’C + XAB’ + X’A’BT B = XA’C’ + X’AB’ + B’C’T C = XZ = BCEjemplo: detector desecuencias con reinicialización• Construir un circuito secuencial que recibacomo entrada X una secuencia de 0s y 1s ygenere salida Z=1 si la secuencia de entradaes 0101 ó 1001• El circuito se reinicializa cada 4 bitsX = 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0Z = 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0Diagrama de estados (Máquinade Mealy)• Agregar estados para lassecuencias que producensalida 1• S 0 : Reinicialización• S 1 : 0• S 2 : 1• S 3 : 01 ó 10• S 4 : 010 ó 100Diagrama de estados (Máquinade Mealy)• Diagrama completo• S 0 : Reinicialización• S 1 : 0• S 2 : 1• S 3 : 01 ó 10• S 4 : 010 ó 100• S 5 : Dos entradas recibidas,salida no puede ser 1• S 6 : Tres entradas recibidas,salida no puede ser 1Tabla de estadosEst.actualEst. siguienteX = 0SalidaX = 0S 0S 1S 200S 1 S 5S 300S 2 S 3S 500S 3 S 4S 600S 4 S 0S 001S 6 00S 5 S 6S 600S 0Est. siguienteX = 1S 0SalidaX = 1©Mario Medina C. 6


Tabla de transiciónEjemplo: circuito con 2 salidasEst.actual000001010011100101110111Est. siguienteX = 0001101011100000110000XXXEst. siguienteX = 1010011101110000110000XXXSalidaX = 00000000XSalidaX = 10000100X• Un circuito secuencial recibe una entrada X ygenera salida Z 1 = 1 si en la secuencia deentrada aparece 100, siempre que no hayaaparecido nunca la secuencia 010. Asimismo,la salida Z 2 es 1 cada vez que se completa lasecuencia 010X = 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0Z 1 = 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Z 2 = 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0Diagramas de estado inicialesDiagramas de estados iniciales• Descripción de estados• S 0 : Estado inicial• S 1 : Reconoce 1 de 100• S 2 : Reconoce 10 de 100 ó 0 de 010• S 3 : Reconoce 0 de 010• S 4 : Reconoce 1 de 100 ó 01 de 010• Aún no se ha reconocido la secuencia 010• Qué pasa si en S 4 se recibe un 0?• Nuevo estado!Diagrama de estados finalDiagrama de estados final• Descripción de estados• S 0 : Estado inicial• S 1 : Reconoce 1 de 100• S 2 : Reconoce 10 de 100 ó 0 de 010• S 3 : Reconoce 0 de 010• S 4 : Reconoce 1 de 100 ó 01 de 010• S 5 : Reconoce 0 de 010 (010 ya reconocido)• S 6 : Reconoce 01 de 010 (010 ya reconocido)• S 7 : Estado inicial reconocimiento 010©Mario Medina C. 7


Tabla de estados finalEst.actualEst. siguienteX = 0S 0S 3S 1 00 00S 1 S 2S 1 00 00S 2 S 3S 4 10 00S 3 S 3S 4 00 00S 4 S 5S 1 01 00S 5 S 5S 6 00 00S 6 S 5S 7 01 00S 7 00 00S 5Est. siguienteX = 1S 7SalidaX = 0SalidaX = 1Ejemplo: dos entradas y salidaconstante• Un circuito secuencial recibe dos entradas X 1y X 2 , y genera una salida Z, que tiene nivelconstante hasta que se recibe alguna de lassiguientes secuencias de entrada:• Si X 1 X 2 = 01, 11, entonces Z es 0• Si X 1 X 2 = 10, 11, entonces Z es 1• Si X 1 X 2 = 01, 10, entonces Z se invierte• Realice un diagrama de estados como máquinade MooreDescripción de estados• Estado depende de entrada anterior• S 0 : Salida 0 y entrada anterior es 00 ó 11• S 1 : Salida 1 y entrada anterior es 00 ó 11• S 2 : Salida 0 y entrada anterior es 01• S 3 : Salida 1 y entrada anterior es 01• S 4 : Salida 0 y entrada anterior es 10• S 5 : Salida 1 y entrada anterior es 10Tabla de estadosEst.actualS 0SalidaZ0Est. SiguienteX 1X 2= 00S 0S 1S 51 S 1S 3S 1S 4S 20 S 0S 2S 0S 4S 31 S 1S 3S 0S 5S 40 S 0S 3S 1S 4S 51S 1Est. SiguienteX 1X 2= 01S 2S 2Est. SiguienteX 1X 2= 11S 0S 1Est. SiguienteX 1X 2= 10S 5Diagrama de estados©Mario Medina C. 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!