GUIAS ÚNICAS DE LABORATORIO DIAGRAMA DE ESTADOS AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE DDIIAAGGRRAAM MAA DDEE EESSTTAADDOOSS DIAGRAMA DE ESTADOS OBJETIVO El diseño de un circuito secuencial sincrónico comienza a partir de un conjunto de especificaciones y culmina en un diagrama lógico de un circuito o una lista de funciones de Boole a partir de las cuales se puede obtener el diagrama lógico. El primer paso en el diseño consiste en describir en palabras el comportamiento deseado del circuito. Frecuentemente el paso siguiente consiste en construir el diagrama de estados a partir de la descripción en palabras del funcionamiento deseado, para poder, a partir del diagrama de estados elaborado, obtener el diagrama lógico del circuito digital. El presente trabajo tiene como objetivo reforzar los conocimientos adquiridos por el estudiante en el diseño de circuitos digitales secuenciales sincrónicos partiendo de su diagrama de estados. Se utilizan elementos del módulo DIGI BOARD2 de System Technik adquirido recientemente por la Universidad Santiago de Cali. PLANTEAMIENTO DEL PROBLEMA A continuación se muestra el diagrama de estados de cierto sistema digital, el cual se mantiene en el estado T0 hasta que una señal de entrada externa qm le indique a la unidad de control (circuito secuencial) que debe comenzar una operación. Cuando el sistema digital termina de realizar la operación, la señal Pz = 1 le indica a la unidad de control que la operación está terminada, regresando al estado inicial T0. Pz=1 T0 T1 T3 T2 qm=1 qm = 0 Pz=0 DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE DDIIAAGGRRAAM MAA DDEE EESSTTAADDOOSS Las actividades que debe realizar el sistema digital en cada uno de los estados son las siguientes: T0 : nada, la ocurrencia de este estado indica que la operación está completa T1 : A← ←#0, P← ←#3 ←P-1 T2 : P← T3: A← ←A+B A es un registro de 4 bits (el registro SRG4 del laboratorio) y B es un número de 4 bits generado por uno de los teclados. P es un contador binario de cuatro bits (CTRDIV16 del laboratorio) y Pz será una señal que indique cuando P = 0, por lo que Pz debe ser obtenida a la salida de una NOR de los cuatro bits del contador P. Por tanto, si Pz = 0 ⇒ P ≠ 0, de lo contrario, si Pz = 1 ⇒ P=0. Utilice los flip-flops JK del laboratorio convertidos en tipo D para implementar la unidad de control (el circuito secuencial), por el método de 1 flip-flop/estado. Utilice el pulsador (29) para la señal qm, y el generador (27) con el divisor (28) para obtener la señal de los pulsos de reloj del sistema con una frecuencia de 1 Hz. Preguntas: • • ¿Qué operación realiza este sistema digital? Si B = 2, esto es, si usted coloca el #2 en el teclado cuya salida es el número B a.- ¿cuál será el número contenido en el registro A al final del estado T3 siendo P = 2? b.- ¿cuál será el número contenido en el registro A al final del estado T3 siendo P = 1? c.- ¿cuál será el contenido del registro A una vez terminada la operación? d.- Este sistema digital ¿corresponde a un modelo de Moore o de Mealy? Diseñe completamente su sistema digital especificando muy claramente todas las conexiones que efectuará, incluyendo las conexiones de la unidad de control (circuito secuencial) al procesador de datos (registro A, contador P, etc.). Utilice un mínimo de compuertas lógicas. Trabajo en el laboratorio: Montaje y verificación de su sistema digital diseñado. Para lo cual haga los siguientes pasos: • Con las entradas asincrónicas de los flip-flops, coloque el estado inicial T0 • Aplique los pulsos de reloj con una frecuencia de 1 Hz. • Presione el pulsador para sacar al sistema del estado T0. Tan pronto salga de este estado, suelte el pulsador. • Verifique que el sistema digital termina con el resultado esperado. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE DDIIAAGGRRAAM MAA DDEE EESSTTAADDOOSS Observación: El estado del sistema digital debe ser visualizado en los LEDs, y las salidas de los registros A y P deben ser llevadas al display de 7 segmentos para poder ir observando las actividades que va realizando el sistema digital en los distintos estados. SOLUCIÓN En la página siguiente se muestran los circuitos del control y del procesador de datos. Como el sistema tiene 4 estados, se utilizarán cuatro flip-flops JK convertidos en flipflops tipo D conectando un inversor entre la J y la K de los mismos. Las funciones de las entradas de excitación D de los flip-flops serán como se explica a continuación. Flip-flop To: En el diagrama de estados se observa que el circuito debe pasar al estado To cuando ocurra un pulso de reloj si se encuentra en el estado T3 y Pz = 1 ó si se encuentra en el estado To y qm = 0. Por tanto, Do = qm´To + PzT3 Flip-flop T1: Se debe pasar al estado T1 si el circuito se encuentra en el estado To y qm = 1, por tanto D1 = qmTo Flip-flop T2: Al estado T2 se debe pasar si el circuito se encuentra en el estado T1 ó si se encuentra en el estado T3 y Pz = 0, por tanto D2 = T1 + Pz´T3. Flip-flop T3: Se debe pasar al estado T3 en forma incondicional si el sistema se encuentra en el estado T2, por tanto D3 = T2. Pz qm Do = qm´To + PzT3 Q Q 1J qm To reloj: frec = 1Hz . Q 1J 1K Pz Q 1J T1 1K T2 Q 1K T3 Q 1K Unidad de Control D1 = qm To D2 = Pz´T3 + T1 Q 1J D3 = T2 DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE DDIIAAGGRRAAM MAA DDEE EESSTTAADDOOSS Q T3 reloj registro A SRG4 (P) CTRDIV16 0 M0/3 1 C4 reloj 1 R T1 T2 CT=0 2+ G1 1G2 C3 Sumador /2 B 0 1 0 0 0 1 2Q 3 0 1 2 3 CI P T1 0 1 2 3 Pz 1 Observe que en el estado T3, el modo del registro A = 11, por tanto la salida del sumador se cargará en este registro con el flanco positivo del pulso de reloj en este estado, etc. Respuesta: el sistema multiplica el número B por el número 3 que se almacena durante T1 en el registro P. BIBLIOGRAFÍA 1. Víctor P. Nelson, H. Troy Nagle, Bill D. Carroll y J. David Irwin, “Análisis y Diseño de Circuitos Lógicos Digitales”, Prentice-Hall Hispanoamericana S.A., 1996 2. M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial Dossat S.A., 1982 3. System Technik, “DIGI BOARD2 Descripción Técnica “ 4. J.F. Wakerly, “Digital Design Principles and Practices “, 2ª ed., Englewood Cliffs, NJ: Prentice-Hall, 1994. 5. ZVI Kohavi, “Switching and Finite Automata Theory”, McGraw-Hill Book Co., 1970 DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE DDIIAAGGRRAAM MAA DDEE EESSTTAADDOOSS Pz