1 Capítulo 10 Memorias primitivas sincrónicas. Se estudiarán algunos dispositivos capaces de almacenar un bit de información, desde un punto de vista lógico. Es decir, qué hace la componente; sin explicar cómo lo realiza internamente. Esto último se verá más adelante, en el Capítulo 14. Este tipo de memoria se denomina flip-flop, y se tienen tres tipos, denominados: JK, T y D. Todos ellos operan con una señal periódica, denominada reloj. 10.1. Reloj Los cambios de estado ocurren solamente en determinados instantes de tiempo; esos instantes están sincronizados con el reloj. t Figura 10.1. Señal periódica de reloj. En algunos casos se emplea el canto de subida del reloj para marcar los instantes de cambio; en otros, se emplea el canto de bajada. El canto que define el instante de tiempo es el evento sincronizante. En los flip-flops disparados por cantos, se requiere una determinada pendiente para el reloj; no importando el ancho. En general, el tiempo que la señal está en cero es mucho mayor que el intervalo en que el reloj está alto. Se define el ciclo de trabajo de la señal periódica de un reloj, como el porcentaje del tiempo que la señal está alta entre cantos de sincronización. Si la señal es cuadrada el ciclo de trabajo es igual al 50%. Para cambios con canto de bajada: Durante el tiempo que el reloj está en uno se habilitan las entradas hacia el interior del flip-flop. Y se requiere que las entradas no cambien durante cierto período previo y posterior al instante en que ocurren los cambios de las salidas, esto se muestra en la Figura 10.2. Profesor Leopoldo Silva Bijit 19-01-2010 2 Sistemas Digitales tsu th Figura 10.2. Entrada estable en el momento de sincronización. Con: tsu : tiempo de set-up, y th: tiempo de hold. En el siguiente diagrama, donde el evento sincronizante es el canto de subida, se ilustra la forma de indicar una variación de las señales de entrada, en caso de ser éstas un conjunto de señales. La Figura 10.3, muestra que las señales pueden cambiar, tomar valores 0 ó 1, desde el instante en que ocurren las líneas inclinadas, que representan cantos. La figura se interpreta: tsu segundos antes del canto de subida, las señales de entrada deben estar estables, y deben mantenerse estables th segundos después del canto de subida. Debe existir una ventana alrededor del evento sincronizante, durante la cual las entradas deben permanecer estables, sin cambios, para ser correctamente reconocidas por el flip-flop. tsu tsu : tiempo de set-up. th entrada th: tiempo de hold. clock Figura 10.3. Entradas estables en el momento de sincronización. Los fabricantes especifican el valor promedio y de peor caso para los tiempos de preparación (set-up) y de sostenimiento (hold), durante los cuales las entradas no pueden cambiar. Desde un punto de vista lógico, podemos pensar que el reloj es un tren de impulsos. t t t 0 1 2 ... Figura 10.4. Instantes de sincronización. Considerando un intervalo constante, entre cantos de sincronización, puede asociarse los instantes de tiempos con números enteros, según: Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 3 tk = t k Las variables en el tiempo, se consideran discretas; es decir, asumen valores sólo en determinados valores de t. Se define: v(tk) = v(kt) = v(k) v(k-1) v(k) k t v(k+1) (k+1)t t Figura 10.5. Instantes de sincronización. Entonces: v(k) define una secuencia de valores sincrónicos con el reloj. Existe una correspondencia biunívoca, entre { 0, 1, 2, 3, ...., k, ....} y { vo, v1, v2, ...., vk, .... }. 10.2. Secuencias sincrónicas. Existen dos tipos de señales sincrónicas. Las de niveles sincrónicos se caracterizan porque los valores de la secuencia permanecen constantes entre pulsos del reloj, y sólo cambian con los cantos de subida o bajada del reloj. En secuencias sincrónicas de pulsos, solamente hay valores de la secuencia, durante los pulsos del reloj. Reloj Sincrónica nivel Sincrónica pulsos Figura 10.6. Secuencias sincrónicas. En ambos casos, la secuencia de valores lógicos es: { 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0 ... } Profesor Leopoldo Silva Bijit 19-01-2010 4 Sistemas Digitales 10.3. Flip-flop JK Es una máquina secuencial de Moore, en la cual, la salida es igual al estado. Se suelen usar los siguientes símbolos lógicos: datos S R J Q S’ R’ salida datos K J Q salida K reloj reloj Figura 10.7. Flip-flop JK disparados por cantos. Las señales S y R son set y reset asincrónicos, y se verán después, en el Capítulo 14. El diagrama de la izquierda ilustra un flip-flop que opera con cantos de bajada del reloj, se utiliza un pequeño triángulo para mostrar que el flip-flop está sincronizado, o es disparado por cantos. Si es disparado por cantos de bajada, se dibuja un pequeño círculo en la base del triángulo. Cuando es sincronizado por un pulso (master slave), en lugar del triángulo se dibuja un pulso, como se muestra en la Figura 10.8. datos J Q salida K reloj Figura 10.8. Flip-flop master slave. Se suele proveer dos salidas complementarias. Esto implica que internamente se almacenan dos bits; como se verá más adelante, esto requiere tener dos variables de estado internas. Desde un punto de vista externo, sólo basta especificar las secuencias de las entradas para tener transiciones del estado Q= 0, al estado Q = 1 y viceversa. En un lenguaje no formal, cuando se pasa de Q = 0 a Q = 1, se dice que se setea el flip-flop; en caso contrario, se resetea. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 5 10.3.1. Diagrama de estados El JK queda definido, de manera formal, por un diagrama de estados: 1 0 0 JK = 11, 10 00, 01 Q=1 set Q=0 reset 01, 11 00, 10 1 Figura 10.9. Diagrama de estados Flip-flop JK. El par de entradas asociada a cada transición puede anotarse empleando notación de bit superfluo ; es decir, su ocurrencia indica que esa posición puede ser 0 ó 1. Ejemplo de esto es el par: {01, 11} que se puede anotar: 1. Existen diferentes formas alternativas de representar la información anterior, cada una aporta la misma información desde un punto de vista diferente. 10.3.2. Tabla de transiciones Los renglones son los valores que puede tomar el estado presente, las columnas están asociadas a los diferentes valores que pueden tomar las entradas. Las casillas de la matriz muestran los valores del próximo estado. Q(k) JK 00 01 11 10 0 0 0 1 1 1 1 0 0 1 Q(k+1) Figura 10.10. Tabla de transiciones en Flip-flop JK. La primera columna, con J = K = 0, indica que no hay cambio de estado. La segunda, muestra cuando el próximo estado es reset. La tercera, muestra un complemento del estado presente. La cuarta, indica condiciones para quedar en estado set. Profesor Leopoldo Silva Bijit 19-01-2010 6 Sistemas Digitales 10.3.3. Ecuación característica Leyendo la tabla de transiciones, como mapa de Karnaugh, se obtiene: Q(k 1) J (k ) Q(k ) K (k ) Q(k ) que describe el próximo estado, mediante una expresión booleana del estado presente y las entradas. 10.3.4. Tabla característica Para analizar circuitos que empleen flip-flops, se suele emplear la siguiente tabla: J K Q(k+1) 0 0 Q(k) 0 1 0 1 0 1 1 1 _ Q(k) Figura 10.11. Tabla característica Flip-flop JK. La tabla característica puede obtenerse mediante la ecuación característica, dándole valores a las entradas. También puede derivarse a partir de la interpretación de las columnas de la tabla de transiciones. La tabla característica describe cómo deben ser las entradas para tener un determinado estado en la salida. 10.3.5. Tabla de excitaciones Describe las transiciones de la salida, en términos de las entradas. Suele usarse para diseñar circuitos que empleen flip-flops JK. Q(k) => Q(k+1) 0 0 1 1 0 1 0 1 J K 0 1 1 0 Figura 10.12. Tabla de excitaciones Flip-flop JK. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 7 La tabla de excitaciones puede obtenerse, observando las transiciones en el diagrama de estados. 10.3.6. Descripción HDL. En Verilog pueden describirse flip-flops JK, mediante: module flipflopJK(input J, K, clk, reset, output Q); reg Q; always @(posedge clk) if (reset) Q<=0; else Q<=(J&~Q)|(~K&Q); //reset sincrónico endmodule 10.4. Flip-flop D La Figura 10.13 resume la información asociada a un flip-flop D. Q D D=1 D=0 Q=0 Q=1 reset D=1 set D=0 clk D Q(k) 0 1 0 0 1 1 0 1 Ecuación característica Q(k 1) D(k ) Q(k+1) Tabla característica Tabla de excitaciones D Q(k+1) Q(k) 0 0 1 1 0 0 1 1 _ > Q(k+1) 0 1 0 1 D 0 1 0 1 Figura 10.13. Flip-flop D. La D proviene de Datos, ya que la principal función de este flip-flop, es capturar la información que está en el cable conectado a la entrada. También la D se interpreta como Delay, ya que la salida está un pulso de reloj retrasada respecto a la entrada. En Verilog, puede describirse un flip-flop D, según: Profesor Leopoldo Silva Bijit 19-01-2010 8 Sistemas Digitales module flipflopD(input D, clk, reset, output Q); reg Q; always @(posedge clk) if (reset) Q<=0; else Q<=D; //reset sincrónico endmodule El esquema de la Figura 10.14, ilustra el diseño de un flip-flop D en base a un JK. Si en la ecuación característica del JK, se reemplazan J y K en función de D, se obtiene: Q(k 1) J (k )Q '(k ) K '(k ) Q(k ) D(k )Q '(k ) ( D '(k )) ' Q(k ) Aplicando involución y fusión, se obtiene, la ecuación característica de un D: Q(k 1) D(k ) D J Q K Q' clk Figura 10.14. Flip-flop D mediante JK. El esquema de la Figura 10.14.a, ilustra el diseño de un flip-flop JK en base a un D. Si en la ecuación característica del D, se reemplaza D en función de J y K, se obtiene: Q(k 1) D(k ) J (k )Q '(k ) K '(k )Q(k ) La cual es la ecuación característica de un JK. Q J Q D K Q' reloj Figura 10.14.a. Flip-flop JK mediante D. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 9 10.5. Flip-flop T En forma similar a la desarrollada para los flip-flops JK y D, se resume la información para un T. T=1 T T=0 Q Q=0 reset reloj Q=1 T=0 set T=1 T Q(k) 0 1 0 0 1 1 1 0 Q(k 1) T (k )Q(k ) T (k )Q(k ) T (k ) Q(k ) Q(k+1) T Q(k+1) 0 Q(k) 1 Q(k) Q(k) _ > Q(k+1) 0 0 1 1 0 1 0 1 T 0 1 1 0 Figura 10.15. Flip-flop T. La T proviene de Toggle, que describe un tipo de interruptores de presión de una posición (se oprime y queda en un estado; se vuelve a oprimir y cambia de estado). A partir de un flip-flop JK puede obtenerse un T, según se ilustra en la Figura 10.16. Si en la ecuación característica del JK, se reemplazan J y K en función de T, se obtiene: Q(k 1) J (k )Q '(k ) K '(k ) Q(k ) T (k )Q '(k ) T '(k )Q(k ) La cual es la ecuación característica de un flip-flop T. D J Q K Q' clk Figura 10.16. Flip-flop T mediante un JK. Profesor Leopoldo Silva Bijit 19-01-2010 10 Sistemas Digitales El esquema de la Figura 10.16.a, ilustra el diseño de un flip-flop T en base a un D. Si en la ecuación característica del D, se reemplaza D en función de T, se obtiene: Q(k 1) D(k ) T (k )Q '(k ) T '(k )Q(k ) La cual es la ecuación característica de un T. Q Q D T Q' reloj Figura 10.16.a. Flip-flop T mediante D. Un uso típico de un flip-flop T es dividir por dos la frecuencia de entrada. Ya que en cada canto activo cambia el estado del flip-flop T, permaneciendo la salida constante entre dos cantos activos. La Figura 10.17 muestra un flip-flop T, disparado por canto de subida, y alimentado con un uno lógico en la entrada; la salida divide por dos la frecuencia del reloj. clk Q 1 T T=1 Q reloj Figura 10.17. Divisor de frecuencia con Flip-flop T. 10.6 Requerimientos Temporales. La descripción del funcionamiento lógico de un flip-flop real especifica los requerimientos temporales que deben cumplirse para que las funciones del flip-flop operen correctamente. Básicamente son tres: los tiempos de set-up y hold (Tsu y Th); duración mínima del reloj (Tw); tiempos de propagación desde el canto del reloj hasta que se tiene salida estable: Tplh describe cuánto tarda la salida en pasar de low (nivel bajo) a un nivel alto (high); y Tphl es el tiempo de propagación de high a low. Estos tiempos se describen como valores máximos (peor caso) y típicos. Debe notarse que Tplh y Tphl suelen ser distintos. La siguiente gráfica muestra dichos tiempos para un flip-flop disparado por cantos de subida (positive edge triggered); la señal de entrada D, cumple los requerimientos de Tsu y Th. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas D Tsu 20ns CLK 11 Tsu 20ns Th 5ns Th 5ns Tw 25ns Q Tplh 25ns máx. 13ns típico Tphl 40ns máx. 25ns típico Figura 10.18. Especificaciones de tiempos en flip-flops. Todos los tiempos se miden desde el canto activo del reloj (el de subida, en el ejemplo). Las siguientes formas de ondas ilustran relaciones temporales para flip-flops disparados por cantos de subida y de bajada. En flip-flops disparados por canto de subida (positive edge triggered) las entradas se muestrean en el canto de subida (en realidad requiere valor estable tsu segundos antes) y las salidas (Qp y Q’p) cambian un tiempo de propagación después, relativa al canto de subida. Debe notarse que las salidas complementarias (Q y Q') no cambian instantáneamente; esto se justificará después. En flip-flops disparados por canto de bajada, se muestrean las entradas en el canto de bajada, y las salidas (Qn Q’n) cambian después del canto de bajada. D Clk Qp Q'p Qn Q'n Figura 10.19. Flip-flops disparados por cantos de subida y bajada. Profesor Leopoldo Silva Bijit 19-01-2010 12 Sistemas Digitales Comparaciones. En la actualidad el flip-flop más importante es el de tipo D, suele emplearse en registros para almacenar datos y es el flip-flop que se emplea en dispositivos lógicos programables (en su forma de disparo por cantos). Debido a que se puede implementar con un número reducido de interruptores CMOS, suele emplearse en circuitos integrados que requieran flip-flops. El flip-flop JK fue sumamente empleado en los inicios debido a que tiene conducta determinada cuando ambas entradas son unos (a diferencia del flip-flop SR). Es el flip-flop típico de la familia TTL y de circuitos integrados en pequeña escala (SSI), permite construir fácilmente flipflops de tipo D y T. En la actualidad prácticamente no se usa. No está presente en las configuraciones internas de los dispositivos lógicos programables, pero en estos casos se lo puede construir en base a los flip-flops de tipo D, que éstos poseen. El flip-flop de tipo T, prácticamente no está disponible como elemento; sin embargo puede ser fácilmente implementado en base a los existentes (tipo D o JK). En los flip-flops son necesarias entradas que permitan dejar al flip-flop en un estado determinado. Clear o reset deja la salida Q en cero; y preset deja la salida alta. En el caso de flip-flops de integración en pequeña escala estas señales suelen ser de naturaleza asincrónica (como se verá más adelante); es decir, que se permite a estas entradas cambiar en cualquier instante, respecto del reloj. Como se verá estas señales permiten dejar a un sistema secuencial en un estado determinado. Sin embargo en diseños basados en dispositivos programables es preferible dejar a los flip-flops en un determinado estado en forma sincrónica. 10.7. Metodologías de temporización. Se denomina así a las reglas para interconectar compuertas y flip-flops de tal forma de garantizar que el sistema completo funcionará correctamente. Las metodologías dependerán del tipo de elemento que se emplee para implementar la memoria, ya sean flip-flops disparados por cantos (que suelen emplearse en dispositivos lógicos programables) o bien latchs transparentes que suelen emplearse en la confección de registros en procesadores. Las reglas básicas para la correcta temporización son: proporcionar entradas que cumplan los tiempos de set-up y hold relativas al reloj, y que las salidas no cambien su estado más de una vez por evento sincronizante. La figura 10.20 ilustra las formas de ondas de las salidas de un flip-flop D, disparado por canto de subida y un latch transparente de tipo D. Note que en el latch la salida cambia entre pulsos del reloj, copiando los cambios de la entrada hacia la salida apenas ocurren cambios de ésta, estando alto el reloj. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 13 D D Q Clk E QClk Qcanto Qlatch Figura 10.20. Conmutación Flip-flop D y latch transparente. En el latch transparente (o sensible al nivel), estando el reloj en alto, la salida cambia de acuerdo al valor de la entrada (después del tiempo de propagación); el canto de bajada del reloj del latch captura el valor que tenga la entrada en ese tiempo (el latch, también requiere cumplir especificaciones de set-up y hold, alrededor del canto de bajada del reloj). También existe un tiempo de propagación desde un cambio de la entrada o del canto de subida reloj (el evento que ocurra más tarde). La estructura interna de los flip-flops disparados por cantos y el latch se verá más adelante. D CP modo captura Qlatch modo transparente Figura 10.21. Modos de funcionamiento de un latch transparente. Ejemplo de temporización. La Figura 10.22, ilustra los requerimientos de las entradas de dos flip-flops D, disparados por cantos de subida. Profesor Leopoldo Silva Bijit 19-01-2010 14 Sistemas Digitales dato D0 Q0 D1 Q1 clock entrada estable dato clock Figura 10.22. Entradas y reloj en flip-flops D. Las entradas D0 y D1 deben ser estables un tiempo antes y después del canto de subida del reloj. Consideremos ahora la conexión cascada que se ilustra en la gráfica a continuación. La salida del primer flip-flop se conecta a la entrada del segundo. Se asume que D0 cumple los requerimientos. Analizaremos las exigencias de sincronización para D1. a) Si el tiempo de propagación desde el reloj hasta la salida Q0 es mayor que el tiempo de hold del flip-flop 1, éste último cumple con entrada estable durante el tiempo de hold. b) El período del reloj debe ser mayor que la suma de la propagación desde el reloj hasta Q0 con el tiempo de set-up del flip-flop 1, para que la entrada del flip-flop 1 no cambie durante su tiempo de set-up. dato D0 Q0 D1 Q1 clock Figura 10.23. Conexión cascada. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 15 D0 Tsu 4ns Tsu 4ns Q0=D1 Tp 3ns Tp 3ns Q1 CLK Th 2ns Th 2ns Figura 10.23.a. Señales conexión cascada. Si se cumplen las exigencias de temporización, se garantiza la correcta operación de la conexión cascada. De este modo el flip-flop 1 capturará el valor actual del flip-flop Q0. Todos los flip-flops deben determinar su próximo estado en el mismo instante, bajo la condición de las entradas permanezcan estables tsu antes del reloj y thold después. La conexión anterior asume que todos los flip-flops tienen el mismo reloj. Sin embargo, en sistemas que funcionan con relojes de altas frecuencias, el tiempo de retardo de propagación a través del sistema digital es comparable al que requiere el reloj para llegar a los diferentes flipflops. La diferencia entre cantos de reloj, en diferentes flip-flops se denomina desfasamiento (o desplazamiento, skew en inglés). Previo al primer canto de subida se está en estado Q0 = 0 y Q1 = 0. Después el estado será: Q0=1 y Q1 = 0, previo al segundo canto de subida del reloj. D0 Q0 dato clk0 Q1 D1 clk1 reloj Figura 10.24. Consideración del tiempo de desplazamiento del reloj. Profesor Leopoldo Silva Bijit 19-01-2010 16 Sistemas Digitales D0 Tsu 4ns Ts 4ns Q0=D1 Tp 3ns Tp 3ns Q1 Clk0 Clk1 Th 2ns Tsu 4ns Tp 3ns Th 2ns Th 2ns Tsu 4ns Tp 3ns Th 2ns Figura 10.24.a. Consideración del tiempo de desplazamiento del reloj. Se advierte que D1, no cumple la especificación de permanecer estable (Tsu antes y Th después del canto de subida de clk1). Debido a esto la salida Q1 será indeterminada. Asumiendo que conmuta y que se muestrea el valor de la entrada en el canto de subida, se muestra la forma de Q1, Tp segundos después del canto de subida de clk1. Más adelante podrá determinarse que la conexión cascada de los flip-flops se comporta como un registro de desplazamiento. Debido al desfase podría dejar de ser un registro de desplazamiento. Previo al primer canto de subida de clk0, se está en estado Q0 = 0 y Q1 = 0. Después el estado será: Q0 = 1 y Q1 = 1, previo al segundo canto de subida del reloj clk0. Lo cual no da una conducta predecible, ésta depende del tiempo de desfasamiento entre los diferentes relojes aplicados a los flip-flops. Más adelante se desarrollará más sobre este problema y cómo garantizar el funcionamiento de los sistemas digitales sincrónicos, considerando los tiempos de propagación y de desfase entre relojes. Sincronización. El análisis anterior nos lleva a uno más general y es cómo tratar entradas asincrónicas a sistemas sincrónicos. En esta situación las entradas pueden cambiar en cualquier instante y puede que no satisfagan los requerimientos de set-up y hold de los flip-flops del sistema sincrónico. Esta dificultad no puede evitarse en algunas situaciones, como por ejemplo, en caso de una entrada generada por un operador (y también cuando se emplean memorias en forma asincrónica). Debido a lo anterior es preferible diseñar con entradas sincrónicas (si las entradas son salidas de Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 17 otros flip-flops, esto se produce naturalmente) y también muestra que son preferibles los circuitos generados por modelos de Moore, ya que los de Mealy generan salidas asincrónicas. La Figura 10.26, muestra un interruptor manual, a través del cual se introduce un pequeño pulso, de ancho variable y posiblemente con rebotes mecánicos, que finalmente coloca una de las entradas en nivel bajo momentáneamente; esto asume que la entrada, en alta impedancia, está en nivel alto. clk Figura 10.25. Pulsador como entrada de sistema sincrónico. Cuando las entradas a un flip-flop cambian muy cercanas al canto del reloj, éste puede tener inestabilidades internas que no permiten asegurar que se cumplan las ecuaciones del flip-flop. En estos casos puede reducirse la probabilidad de falla aumentando la frecuencia del reloj, relativa a la frecuencia de la entrada, o empleando compuertas más rápidas, o empleando un sincronizador. La mejor solución es agregando un sincronizador, ya que no se depende de la entrada. Un sincronizador es simplemente un flip-flop, cuya salida cambia sólo en los cantos del reloj. D Q clk Figura 10.25. Sincronizador de entrada asincrónica. El empleo de sincronizadores garantiza que el resto del sistema tendrá entradas sincrónicas, pero no se puede garantizar que el sincronizador no tendrá fallas. Normalmente basta agregar un flip-flop adicional para aumentar las probabilidades de lograr la sincronización. D1 Q1 D2 Q2 clk Figura 10.25. Sincronizador con dos flip-flops. Debe asegurarse que las entradas cumplan los requerimientos de set-up y hold de los flip-flops del sistema sincrónico. A través de mediciones puede determinarse el funcionamiento confiable del sincronizador, y de los niveles requeridos. Profesor Leopoldo Silva Bijit 19-01-2010 18 Sistemas Digitales No es recomendable conectar una entrada asincrónica a dos entradas de flip-flops, sin previamente haber sincronizado la entrada, ya que uno de los flip-flops podría no capturar la entrada, por violar ésta los requerimientos de set-up o hold. Vcc D1 Q1 clk Q2 D2 clk Figura 10.26. Entrada asincrónica conectada a dos flip-flops. El siguiente diagrama ilustra que Q1 registra el cambio de la entrada, pero no así Q2. Entrada Q1 Q2 CLK Figura 10.27. Violación de tiempos de hold o setup en D2. Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 10. Memorias primitivas sincrónicas 19 Índice general. CAPÍTULO 10 ........................................................................................................................................... 1 MEMORIAS PRIMITIVAS SINCRÓNICAS. ........................................................................................ 1 10.1. RELOJ .............................................................................................................................................. 1 10.2. SECUENCIAS SINCRÓNICAS. ............................................................................................................. 3 10.3. FLIP-FLOP JK ................................................................................................................................... 4 10.3.1. Diagrama de estados ............................................................................................................... 5 10.3.2. Tabla de transiciones .............................................................................................................. 5 10.3.3. Ecuación característica ........................................................................................................... 6 10.3.4. Tabla característica ................................................................................................................ 6 10.3.5. Tabla de excitaciones .............................................................................................................. 6 10.3.6. Descripción HDL. ................................................................................................................... 7 10.4. FLIP-FLOP D..................................................................................................................................... 7 10.5. FLIP-FLOP T ..................................................................................................................................... 9 10.6 REQUERIMIENTOS TEMPORALES. .................................................................................................... 10 COMPARACIONES. .................................................................................................................................. 12 10.7. METODOLOGÍAS DE TEMPORIZACIÓN............................................................................................. 12 Ejemplo de temporización. ................................................................................................................ 13 Sincronización. .................................................................................................................................. 16 ÍNDICE GENERAL. ................................................................................................................................... 19 ÍNDICE DE FIGURAS................................................................................................................................. 20 Profesor Leopoldo Silva Bijit 19-01-2010 20 Sistemas Digitales Índice de figuras Figura 10.1. Señal periódica de reloj. ............................................................................................ 1 Figura 10.2. Entrada estable en el momento de sincronización. ................................................... 2 Figura 10.3. Entradas estables en el momento de sincronización. ................................................ 2 Figura 10.4. Instantes de sincronización. ...................................................................................... 2 Figura 10.5. Instantes de sincronización. ...................................................................................... 3 Figura 10.6. Secuencias sincrónicas. ............................................................................................. 3 Figura 10.7. Flip-flop JK disparados por cantos. .......................................................................... 4 Figura 10.8. Flip-flop master slave................................................................................................ 4 Figura 10.9. Diagrama de estados Flip-flop JK. ............................................................................ 5 Figura 10.10. Tabla de transiciones en Flip-flop JK. .................................................................... 5 Figura 10.11. Tabla característica Flip-flop JK. ............................................................................ 6 Figura 10.12. Tabla de excitaciones Flip-flop JK.......................................................................... 6 Figura 10.13. Flip-flop D............................................................................................................... 7 Figura 10.14. Flip-flop D mediante JK.......................................................................................... 8 Figura 10.14.a. Flip-flop JK mediante D. ...................................................................................... 8 Figura 10.15. Flip-flop T. .............................................................................................................. 9 Figura 10.16. Flip-flop T mediante un JK. .................................................................................... 9 Figura 10.16.a. Flip-flop T mediante D. ...................................................................................... 10 Figura 10.17. Divisor de frecuencia con Flip-flop T. .................................................................. 10 Figura 10.18. Especificaciones de tiempos en flip-flops. ............................................................ 11 Figura 10.19. Flip-flops disparados por cantos de subida y bajada. ............................................ 11 Figura 10.20. Conmutación Flip-flop D y latch transparente. ..................................................... 13 Figura 10.21. Modos de funcionamiento de un latch transparente. ............................................. 13 Figura 10.22. Entradas y reloj en flip-flops D. ............................................................................ 14 Figura 10.23. Conexión cascada. ................................................................................................. 14 Figura 10.23.a. Señales conexión cascada. .................................................................................. 15 Figura 10.24. Consideración del tiempo de desplazamiento del reloj. ........................................ 15 Figura 10.24.a. Consideración del tiempo de desplazamiento del reloj. ..................................... 16 Figura 10.25. Pulsador como entrada de sistema sincrónico. ...................................................... 17 Figura 10.25. Sincronizador de entrada asincrónica.................................................................... 17 Figura 10.25. Sincronizador con dos flip-flops. .......................................................................... 17 Figura 10.26. Entrada asincrónica conectada a dos flip-flops. .................................................... 18 Figura 10.27. Violación de tiempos de hold o setup en D2. ........................................................ 18 Profesor Leopoldo Silva Bijit 19-01-2010