Circuitos Secuenciales síncronos Introducción Los sistemas digitales pueden operar en forma asíncrona o síncrona. En los sistemas asíncronos, las salidas de los circuitos lógicos pueden cambiar de estado en cualquier momento en que una o mas de las entradas cambie. En los sistemas síncronos los tiempos exactos en que alguna salida puede cambiar de estado se determinan por medio de una señal denominada reloj o clock. Esta señal de reloj consiste en una serie de pulsos rectangulares o cuadrados como se muestra en la figura. Denominaremos periodo al tiempo entre transiciones sucesivas en la misma dirección, esto es entre dos flancos de subida o entre dos flancos de bajada. La transición de estado en los circuitos secuenciales síncronos se efectúan en el momento en el que el reloj hace una transición entre 0 y 1 (flanco de subida) o entre 1 y 0 (flanco de bajada). Entre pulsos sucesivos de reloj no se efectúan cambios. El inverso del periodo es lo que denominamos la frecuencia del reloj. El ancho del pulso de reloj es el tiempo durante el cual la señal de reloj está en 1. En el análisis anterior sobre el latch SC podemos ver que es un circuito asíncrono, ya que el estado cambia en cualquier momento que cambiemos las entradas y no sincronizado con un pulso de reloj. Para hacerlo síncrono se añade una entrada adicional como se muestra en la figura. El flip-flop sincronizado por reloj consiste del latch básico con compuertas NOR mostrado anteriormente y dos compuertas AND. La salida de las dos compuertas AND quedará en 0 mientras el pulso de reloj esté en 0, sin importar los valores de entrada de S y C. Cuando el pulso de reloj está en 1, la información de las entradas S y C pasa hacia el latch básico. Como puede verse en el diagrama de tiempo, en este tipo de FF ahora los cambios se producen solamente cuando la señal de reloj esté en 1. Pero esto no previene que el FF cambie varias veces durante un ciclo de reloj, y esto no es un comportamiento deseado, por lo tanto de alguna manera este FF sigue siendo de alguna manera asíncrono (por lo menos mientras el pulso de reloj esté en 1). Hay dos maneras de arreglar esto. Una es la de que el estado cambie una vez que termine el ciclo de reloj, y otra es la que el cambio ocurra en los flancos de bajada o de subida del pulso de reloj. Mas adelante se explicará como hacerlo. Nota: Hasta ahora hemos hablado indistintamente de latch o Flip-flop. La literatura es variada en este aspecto, y para efecto de este curso nos referiremos en general a todos estos circuitos como flip-flop(FF). En general se llama latch al circuito que sea asíncrono y transparente, y Flip-Flop a los que sean síncronos y no transparentes. 1. 2. 3. 4. Asíncrono: las salidas cambian independientemente del reloj . Transparente: las salidas cambian inmediatamente en respuesta a un cambio en las entradas. Síncrono: las salidas cambian en los flancos de subida o bajada del pulso de reloj. No transparente: durante la duración del pulso de reloj, los cambios en las entradas no se reflejan en las salidas. En la guía siguiente (Flip-Flop) nos referiremos al tipo de FF que utilizaremos a lo largo del curso: los FF disparados por flanco. Antes de pasar definitivamente a estudiar el comportamiento de los flip flop veamos otras configuraciones. Como vimos anteriormente el FF SC presenta un problema con el estado 11. Existen otras configuraciones que eliminan este estado prohibido. Flip Flop tipo J K Un flip flop JK es un refinamiento del flip flop SC, en el que se elimina el estado indeterminado. Para J=K=1 el estado futuro será igual al estado presente negado: Qn+1 = TABLA CARACTERISTICA S C Qn+1 0 0 Qn 0 1 0 1 0 1 1 1 Flip Flop tipo D El flip-flop tipo D mostrado en la figura es una modificación del FF SC. La entrada D va directamente hacia la entrada S y el complemento de D hacia la entrada C. De esta forma tenemos que el estado futuro será igual al valor de la entrada D. TABLA CARACTERISTICA D Qn+1 0 0 1 1 Flip Flop tipo T Un flip flop tipo T se obtiene uniendo las dos entradas de un flip flop tipo JK. Si T=0 se mantendrá el estado, si T=1 el estado futuro será igual al complemento del estado presente. TABLA CARACTERISTICA T Qn+1 0 Qn 1 Para todos los FF anteriores la tabla característica describe el comportamiento del FF mientras el reloj está en 1. Durante el periodo en el que el reloj está en 0, no hay cambios en las salidas. Se denominan flip flop disparados por nivel. No es objetivo de este curso el análisis detallado del comportamiento interno de los flip flops. Solo se muestra la circuiteria interna como referencia. En lo futuro indicaremos los flip flops con su diagrama simplificado. Entradas asíncronas Los Flip-flops contenidos en los circuitos integrados a menudo proveen unas entradas adicionales para fijar en el estado 1 o en el 0 al FF en cualquier momento de forma asíncrona, sin importar las condiciones presentes en las otras entradas. Esta entradas son normalmente llamadas SET o PRESET (para fijar en 1) o CLEAR (para fijar en 0). Son útiles para colocar los FF en un estado inicial, antes de comenzar con su funcionamiento de forma síncrona, sin la necesidad de utilizar un pulso de reloj. Por ejemplo, después de encender un sistema digital, el estado inicial de los FF es indeterminado. Activando la entrada de clear, se inicializan en cero, y luego se comienza con el funcionamiento normal. La figura muestra un FF con las entradas adicionales mencionadas. Para efecto de este curso y para simplificar los diagramas, a menudo se obviará la inclusión de estas entradas adicionales, si no son necesarias. Estas entradas pueden actuar con un nivel ALTO ( 1 ) o con un nivel BAJO (0) . En las tablas de especificaciones de los circuitos integrados se incluyen tablas que indican en cada caso la forma de funcionamiento. En el caso que se muestra, al aplicar un 0 en la entrada de clear el FF se fijará en 0.