LABORATORIO DE SISTEMAS DIGITALES II SECCION 02 Atendida por el Profesor Arturo Huerta Martinez PRACTICA # 5 SENCILLA MAQUINA DE ESTADOS SINCRONICA Se debe presentar una máquina de estados sencilla, conformada por lo menos de dos flip-flop’s sincrónicos y la lógica combinatoria necesaria diseñada para que se comporte de una manera previamente definida, la cual incluya por lo menos una entrada externa de control para determinar el estado siguiente a cada estado de la máquina, el estado nuevo se adquiere con cada pulso de reloj. Se debe considerar que un estado de la máquina es cualquiera de las combinaciones posibles de los estados 0 o 1 de los flip-flop’s que la conforman, de tal manera que lo primero que se debe elegir es cuántos flipflop’s la conformarán. Posteriormente se debe elegir cuantas entradas externas de control tendrá la máquina y así mismo determinar el comportamiento de la misma con cada combinación posible de las entradas de control. Enseguida se deben establecer las entradas de excitación hacia cada uno de los flip-flop’s, necesarias para que con cada pulso de reloj, se adquiera el nuevo estado definido previamente dependiente tanto del estado previo como de las entradas externas. Finalmente, con las entradas de excitación se generarán las funciones lógicas combinacionales que representan los circuitos de control de la máquina de estados, que con la señal de reloj conectada simultáneamente a cada flip-flop seguirá la secuencia de estados definida que se puede controlar con las entradas externas. A continuación se da un ejemplo con dos flip-flop’s Q1 y Q2 y una entrada de control X el cual solo servirá de guía, en la práctica deberá presentarse una de comportamiento diferente según el primer párrafo. Los cuatro estados posibles de la máquina son: A (Q1=0, Q2=0), B(0,1), C(1,1) y D(1,0) Se elige el siguiente comportamiento: Si la máquina se encuentra en el estado 00 y la entrada X es igual a 0 al ocurrir el pulso de reloj pasará al estado 10, pero si la entrada X es igual a 1 el estado después del pulso será 00. Estas dos posibilidades de comportamiento para el estado 00 se muestran en los dos primeros renglones de la siguiente tabla y además se agrega en ella el comportamiento deseado para cada uno de sus estados posibles Estado en Estudio (Actual) Entrada Dada (Actual) Estado Después del Pulso (Q1Q2)n Xn (Q1Q2)n+1 A 00 0 10 A 00 1 00 B 01 1 11 B 01 0 10 D 10 0 01 D 10 1 01 C 11 1 11 C 11 0 00 Si se utilizan FF de tipo JK para implementar esta máquina entonces, para lograr el comportamiento del estado 00 cuando la entrada externa X se encuentre en 0, se requerirá colocar en la entrada J1 un 1 y cualquier nivel (x) en la entrada K1, en tanto que en las entradas J2 y K2 se requerirá un 0 y cualquier nivel (x) respectivamente y todo esto en forma simultánea para que al ocurrir el pulso de reloj ambos FF’s adquieran el estado nuevo al mismo tiempo (sincrónicamente). La siguiente tabla muestra los niveles de excitación que requieren las entradas J1, K1, J2 y K2 de los FF’s para cada caso de la tabla anterior: (Q1Q2)n 00 00 01 01 10 10 11 11 Xn 0 1 1 0 0 1 1 0 (Q1Q2)n+1 10 00 11 10 01 01 11 00 J1 1 0 1 1 x x x x K1 x x x x 1 1 0 1 J2 0 0 x x 1 1 x x K2 x x 0 1 x x 0 1 Si se obtienen las expresiones lógicas para J1, K1, J2 y K2 en función de Q1,Q2 y X a partir de las tablas de verdad anteriores se comprobará que J1(Q1,Q2,X)n = X+ Q2 J2 = Q1 K1=X +Q2 K2 = X las cuales representan los circuitos o conexiones que deberán tener los FF’s en sus entradas J y K respectivas para lograr el comportamiento que se especificó en la primera tabla de este ejemplo. Se debe considerar que X es una entrada externa de control que se puede escoger que esté en 0 o 1, lo que determinará el estado siguiente después de un pulso de reloj; Q1 y Q2 son las salidas de los FF’s que indican el estado previo a partir del cual se obtiene el nuevo estado después del pulso. La demostración consiste en implementar el circuito resultante en un protoboard, visualizando las variables de estado Q1, Q2 ... QN donde N es el número de FF’s escogido para la práctica personal (en este ejemplo N=2). Disponer interruptores que proporcionen los niveles 1 o 0 de las entradas de control (en este ejemplo uno para X). Conectar simultáneamente las entradas de reloj de los FF’s a un generador de pulsos de baja frecuencia (puede ser un interruptor al cual se le hayan eliminado los rebotes). Una vez implementado lo anterior, energizar y comprobar que para cada estado de la máquina se puede obtener un nuevo estado después de cada pulso de reloj de acuerdo a la tabla de comportamiento según la condición de las entradas de control. Podrán utilizarse cualesquiera de los flip-flop´s que se encuentren en circuitos integrados comerciales, o bien podría programarse un GAL de tipo secuencial.que cumpla las especificaciones del diseño previo.