Técnicas Digitales. Análisis Temporal Juan Alarcón. 1
Circuitos en modo fundamental Los circuitos en modo fundamental son aquellos secuenciales en los cuales los lazos de realimentación mantienen el estado del circuito. Su diseño y análisis se basa en que no pueden variar más de una entrada a la vez para darle tiempo a los lazos de realimentación a estabilizarse. Los secuenciales en modo fundamental más comúnmente usados son los flip- flops que son la piedra fundamental de los secuenciales sincrónicos. Juan Alarcón. 2
Parámetros temporales de un flip- flop t clk. Período de la señal de reloj. t S. Tiempo de establecimiento (setup time). Es el tiempo que debe estar estable la entrada D antes del flanco de reloj. t h. Tiempo de mantenimiento (hold time). Es el tiempo que debe mantenerse estable la entrada D después del flanco de reloj. Tiempo de propagación de la entrada t pd o t cq. Es el tiempo entre el flanco de reloj y que la salida se actualice con el valor de la entrada Juan Alarcón. 3
Ejemplo. Xilinx Spartan-6 Juan Alarcón. 4
Parámetros temporales de un flip- flop Tanto el tiempo de establecimiento como el de mantenimiento, pueden ser: Positivos Negativos Cero Qué el tiempo de mantenimiento (hold) sea negativo implica que el retardo desde el pin a la pata del flip-flop es mayor que el tiempo desde el pin de reloj al clock del flip-flop. El tiempo de establecimiento negativo implica que la demora desde el pin de datos al flip-flop es menor que la del pin de reloj al clock del flip-flop. Juan Alarcón. 5
Parámetros temporales de un flip- flop Incrementar la demora del pin de reloj al flip flop incrementa el t h y disminuye el t S Incrementar la demora del pin de datos al flip flop decrementa el t h e incrementa el t S Juan Alarcón. 6
¿Qué pasa si no se respetan t s y t h ? En caso de que no se respeten los tiempos de t s o t h existe la posibilidad de que el flip-flop entre en un estado metaestable (ni cero ni uno definido) por un tiempo, teóricamente, indefinidamente largo llamado tiempo de recuperación del flip-flop (t r ). Cualquier circuito con memoria es susceptible de entrar en metaestabilidad. Juan Alarcón. 7
Comportamiento metaestable Juan Alarcón. 8
Slack y caminos críticos Slack. Es la diferencia entre el tiempo especificado (restricción de establecimiento o mantenimiento) y el tiempo de arribo (entradas y demoras). Un slack negativo indica que no se pudo cumplir con el tiempo especificado. Un slack positivo indica que se cumplió con el requerimiento. El análisis de slack se utiliza para identificar los caminos críticos en un diseño (este método se lo conoce como análisis temporal estático). Caminos críticos. Cualquier “camino” o lógica que viola o no cumple especificacaciones temporales. Un “camino” con slack negative. Juan Alarcón. 9
Tipos de análisis para el slack. Juan Alarcón. 10
Análisis del slack. Tipos de “caminos” Entradas a registros (flip-flops) Demoras fuera del chip más demoras combinacionales al primer registro. Registros a salidas Comienza en el dispositivo secuencial. Demora CLK a Q más lógica combinacional, más requerimientos de salida. Caminos registro a registro. Restricciones de temporización (Setup and Hold) entre dispositivos sincrónicos con la misma señal de reloj más tiempos de propagación de la señal de reloj. Entradas a salidas. Demoras fuera del chip más demora combinacional, más requerimientos de salida. Juan Alarcón. 11
Setup slack El tiempo de establecimiento es el tiempo que la entrada tiene que permanecer estable antes de que aparezca el flanco activo de reloj. El flip flop va a requerir un tiempo de establecimieto t S El circuito va a colocar t CKQ + t PD Setup Slack = t CLK - t CKQ - max(t PD ) - t SU Juan Alarcón. 12
Ejemplo de slack de establecimiento Encontrar el slack de setup con del circuito de la derecha con los siguientes parámetros: T CKQ = 200ps T SU = 100ps T PD = 300ps T CLK = 1000ns Juan Alarcón. 13
Hold Slack El tiempo de mantenimiento (t H ) es el tiempo que la entrada debe permanecer estable una vez que pasó el flanco de reloj. El flip flop va a requerir un tiempo de mantenimiento y el circuito va a colocar: t CKQ + t PD Hold slack = t CKQ + min(t PD ) - t H Juan Alarcón. 14
Hold Slack. Peor caso El peor caso para el hold slack es cuando la demora combinacional es mínima o como en el circuito de la izquierda, nula. Esta condición hace que siempre se tenga que cumplir que: t CKQ >t H Juan Alarcón. 15
Máxima frecuencia de reloj La frecuencia de reloj para un secuencial sincrónico está limitada por los parámetros temporalis de los flip-flops y las compuertas. Esta frecuencia límite se la conoce como máxima frecuencia de reloj. El mínimo período de reloj es la inversa de esta frecuencia. Parámetros de tiempo importantes: Compuertas min t PLH, min t PHL, max t PLH, max t PHL Flip flops t SU t H t CKQ Juan Alarcón. 16
Ejemplo. Determinar la frecuencia máxima del siguiente circuito si se implementa con un 74LS74 t SU = 20ns t H = 0ns t PLH = 25ns t PHL = 30ns Juan Alarcón. 17 Hold slack = t PLH – t h = 25ns. Setup Slack = 0 = t CLK - t PHL - t SU t CLK = t PHL + t SU = 30ns + 20ns = 50ns f CLK = 20MHz
Ejemplo (2). Determinar la frecuencia máxima del siguiente circuito si se implementa con un 74LS74 y un 74LS04 Flip Flop t SU = 20ns t H = 0ns t PLH = 25ns t PHL = 30ns Inversor t PLH = 12, 22ns t PHL = 8, 15ns Juan Alarcón. 18 Hold slack = t PLH-FF + t PHL-INV – t h = 17ns. Setup Slack = 0 = t CLK – t PHL-FF -t PLH-INV - t SU t CLK = t PHL-FF + t PLH-FF t SU = 30ns ns = 72ns f CLK = 13,89MHz
Ejercicio. Se desea sintetizar una máquina de estados para simular un codificador de cuadratura. Para ello se implementará como un contador que cuente: 00 → 01 → 11 → 10. Sí la entrada Y = 0 00 → 10 → 11 → 01. Sí la entrada Y = 1 Diseñe el circuito, implemente con el 74LS74 y 74LS157. Analice los posibles caminos y determine la frecuencia máxima del circuito. Juan Alarcón. 19
Corrimiento de reloj (Clock Skew) Para el diseño de sistemas sincrónicos el requerimiento más importante es la presunción de que los flancos de la señal de reloj llegan “al mismo tiempo” a todos los flip-flops. Si los flancos de reloj no llegan exactamante al mismo tiempo a diferentes flip-flops se dice que el reloj está desalineado (skewed) entre esos flip- flops. La diferencia entre esos tiempos de arribo se la conoce como clock skew. El clock skew puege generarse por diferentes motivos: Líneas de clock con largos muy diferentes (los cables tienen, capacidad y generan demoras) Compuertas en la línea de reloj. Flip-Flops que son activos en diferentes flancos de reloj (hacen necesario el uso de inversores para que se usen todos los flip-flops) Juan Alarcón. 20
Clock Skew Juan Alarcón. 21
Máximo Clock skew. Dado el siguiente circuito. ¿Cuál es el máximo clock skew qué puede soportar? C2 demorado de C1 Juan Alarcón. 22 t PFF > t h + t SK t SK < min t PFF - t h
Máximo Clock skew (2). Juan Alarcón. 23
Máxima frecuencia sincrónica con skew La presencia de skew de reloj hace disminuir el slack de setup como el de hold. Los slacks pasan a ser: setup slack = t CLK - t CKQ - max(t PD ) – t SU – t SKEW hold slack = t CKQ + min(t PD ) - t H – t SKEW El slack de setup se puede aumentar bajando la frecuencia de reloj. El hold slack una vez construido el circuito no se puede modificar!! Juan Alarcón. 24
Sincronizadores. Necesidad Si bien todo el diseño de un sistema digital puede ser totalmente sincrónico. Van a existir entradas que no van a estar sincronizadas con la señal de reloj, por lo que va a ser necesario sincronizarlas con la señal de reloj del mismo. La falta de sincronía entre las señales asincrónicas hace que exista una probabilidad de que no se cumplan los requisitos temporales de los flips flop. Juan Alarcón. 25
Sincronizadores. Metaestabilidad La probabilidad de metaestabilidad, no se puede eliminar pero se puede tratar: Usando flips flops más veloces (ventana de decisión más pequeña). Bajando la frecuencia de reloj (mayor tiempo para resolver el estado del FF) Utilizar algún circuito que baje la probabilidad de metaestabilidad o que maximice el tiempo de resolución (sincronizador). Juan Alarcón. 26
Sincronizador en cascada Juan Alarcón. 27
Sincronizador de múltiples ciclos de reloj Juan Alarcón. 28
Sincronizador. Flancter. Tanto el sincronizador en cascada como el de múltiples ciclos de reloj se asume que el pulso asincrónico es más ancho que un ciclo de reloj. El Flancter es un circuito que permite poner a uno un flag en un dominio de reloj y ponerlo a cero en otro. Juan Alarcón. 29
Bibliografía. Fundamentos de lógica digital con diseño VHDL, 2°edición. Stephen Brown, Zvonko Vrasenic. Digital Design: Principles and Practices, 4 th Edition. John Wakerly. Pearson Fundamentos de diseño lógico y de computadoras, 3ª Edición. M. Morris Mano, Charles R. Kime. Pearson Digital Logic and Microprocessor Design with VHDL. Enoch O. Hwang. Cengage Learning Fundamentos de Sistemas Digitales. Thomas L. Floyd. 9ª edición. Pearson Juan Alarcón. 30