Departamento de Electrónica Electrónica Digital Latches, flipflops y registros Facultad de Ingeniería Bioingeniería Universidad Nacional de Entre Ríos Circuitos secuenciales 1 Circuitos secuenciales Salida = F(entrada actual, estado anterior) Estado de un circuito secuencial: es una colección de variables de estado • Las variables de estado son valores binarios. • Contienen toda la información acerca del pasado necesario para explicar el comportamiento futuro del circuito. Máquinas de estado finito Un circuito con n variables de estado tiene un número finito (2n) de estados posibles. 2 Reloj (Clock, CK, CLK) Los cambios de estado de los circuitos secuenciales se presentan en tiempos especificados por una señal de funcionamiento libre. 3 Latchs y flip-flops Flip-flop o biestable Dispositivo secuencial que muestrea sus entradas y cambia sus salidas solamente en ocasiones determinadas por una señal de reloj. Los flancos de la señal de reloj son los instantes de cambio. Latch Dispositivo secuencial que monitorea sus entradas continuamente y modifica sus salidas en cualquier momento, de manera independiente de una señal de reloj. Suele existir una señal habilitadora activa por nivel durante el cual cambia su salida. 4 Elementos biestables: ¿cómo almacenar un bit? No se puede cambiar (controlar) el estado del circuito 5 ¿Cómo cambiar (controlar) el estado? 0 0 Q Q Latch QN QN 0 6 Funcionamiento R=0 S=0 R reset 0 Q El estado se mantiene QN S set 0 7 R=1 S=0 R reset 1 Q 0 La salida Q pasa a 0 (el latch se resetea) 1 QN S 0 8 R=0 S=1 R 0 Q 1 La salida Q pasa a 1 (El latch se setea) 0 QN S set 1 9 R=1 S=1 R 1 Q 0 Estado ‘ambiguo’ 0 QN S 1 10 Latch S-R con compuertas NOR Símbolos 11 Diagrama de tiempos 12 Parámetros de temporización Tecnología Estado metaestable: No se cumple el mínimo ancho de pulso • tpLH, tpHL: retardos de propagación de las entradas de control. • tpw(min): mínimo ancho de pulso de una entrada de control. 13 Tecnología 15 Latch S-R con compuertas NAND A B Z El nivel de activación de las entradas de control Set y Reset es L 16 Ejemplo de aplicación: Aplicaciones Circuito anti-rebote de pulsadores / llaves 17 Aplicaciones Q Pos. 1 Pos. 2 QN SWU_L SWD_L Llave en Pos. 1 Primer contacto en Pos. 2 Rebotes 18 Ejemplo de aplicación: Aplicaciones Control de motor 19 Ejemplo de aplicación: Aplicaciones Control de motor 20 Latch NAND S-R con entrada de habilitación E: Enable ¿Cuál es ahora el nivel activo de las entradas Set y Reset? ¿Qué función equivalente tienen las NAND del circuito de entrada cuando C = 1? 21 Funcionamiento Estado metaestable: Se deshabilita el latch con S y R activas 22 Latch D (cerrojo D) • Latches SR: aplicaciones de control como indicador o bandera (flag) • Latch D: una sola entrada de control (D) • almacenamiento de bits • elimina la ambigüedad 23 Diagrama de tiempos (para C activo por nivel alto) transparente “trabado” (latcheado) transparente “trabado” (latcheado) transparente El latch copia y almacena el estado de D cuando C = 1 24 Parámetros de temporización Tecnología Estado metaestable: Cambia D durante tH y tS • tP retardos de propagación: para C y D ref (1) a (5) • tsetup tiempo de establecimiento: mínimo tiempo que D debe estar en nivel estable antes de que ocurra la transición en C. • thold tiempo de retención: mínimo tiempo que D debe estar en nivel estable después de que ocurra la transición en C. 25 Flip-flop D Diagrama de tiempos El FF D copia y almacena el estado de D en cada flanco activo del reloj 26 Tecnología Temporización • tp tiempos de propagación • tsetup (setup time) tiempo de establecimiento: entre CLK y D • thold (hold time) tiempo de retención: entre CLK y D CLK CLK Control Control tS tH 27 Flip-flop D con entradas asincrónicas • Entradas sincrónicas: dependientes de la señal de sincronización (CLK) • entrada (D) • Entradas asincrónicas: independientes de la señal de sincronización (CLK); • PR - Preset o Set: pone a 1 la salida Q • CLR - Clear o Reset: pone a 0 la salida Q • Usadas en inicialización y prueba 28 Flip-flop J-K • Dos señales de control: J y K • Sin estados ambiguos • Mayor versatilidad en el diseño; diseños más simples • Preferencia actual por FF-D por PLDs 30 Diagrama de tiempos El FF JK “lee” sus entradas de control solo en los flancos activo del reloj 31 Deducción de la expresión de D = f (Q, J, K) Q Circuito combinacional J K D CLK Q CLK Q Convención: Q* = “el siguiente valor de Q” Tabla de verdad CLK 0 1 J K X X X X 0 0 1 1 0 1 0 1 Q* Q CLK J K Q Q* Q 0 0 0 0 Q 0 0 1 1 0 0 1 X 0 1 1 0 X 1 QN 1 1 0 1 1 1 1 0 entradas salida J K Q D = Q* 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 32 entradas salida J JK K Q D = Q* 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 Q* = D = ? 1 0 0 1 Q* = D = J . Q’ + K’ . Q 1 0 1 1 1 1 0 1 1 1 1 0 Q 0 1 00 01 11 10 0 1 0 0 1 0 1 1 Ecuación característica 33 Flip-flop T (toggle) • Conmuta con cada flanco activo del CLK • Se puede implementar con FF JK y FF D CLK J K Q* 0 0 Q 0 1 0 1 0 1 1 1 Q’ CLK D Q Q* 1 1 0 0 0 1 34 Otros parámetros de sincronización Tecnología Solid State Technology Association, (ex-JEDEC Joint Electron Device Engineering Council) Frecuencia máxima de CLK, fCLK The highest frequency at which a clock input of an integrated circuit can be driven, while maintaining proper operation. Anchos de pulso, tW (CLK y entradas asincrónicas) The time interval between the specified reference points on the two transitions of the pulse waveform Tiempos de transición del CLK (rise time / fall time) tr , tf Fall time: The time interval between one reference point on a waveform and a second reference point of smaller magnitude on the same waveform. Rise time: The time interval between one reference point on a waveform and a second reference point of greater magnitude on the same waveform. 37 Aplicaciones Ejemplo de aplicación: Circuito de conteo binario (3 bits) y divisor de frecuencia Q0 (LSB) Q1 Q2 “1” J Q0 CLK K CLK J Q1 CLK K J Q2 CLK K CLK o Reloj fQ0= fCLK/2 Q0 Q1 fQ1= fCLK/4 Q2 fQ2= fCLK/8 Binario Decimal 000 001 010 011 100 101 110 111 000 001 010 011 0 1 2 3 4 5 6 7 0 1 2 3 38 Formas comerciales Algunas formas comerciales de FFs 7474: doble FF D disparado por flanco 4013: doble FF-D activo por flanco positivo con Set y Reset 4027: doble FF-JK maestro-esclavo activo por flanco positivo c/ Set y Reset 74x109: FF J-K disparado por flanco positivo doble FF-D disparado por flanco 7474 (TTL) 74C74 (CMOS) tS 20 ns 60 ns tH 5 ns 0 ns tPLH CLK a Q 40 ns 200 ns tPHLCLK a Q 25 ns 200 ns tW(L)CLK 37 ns 100 ns tW(H) CLK 30 ns 100 ns 15 MHz 5 MHz 30 ns 60 ns fmax tW(L) (Set o Reset) 41 Resumen de lo visto hasta ahora Tipos de latches y FFs: Latches RS NAND y NOR con y sin entrada de habilitación Latch D (cerrojo D) FFs D, JK y T Tipos de entradas de control Entradas sincrónicas: D, J, K Entradas asincrónicas: SET (ó PRESET) y RESET (ó CLEAR) Parámetros de temporización Tiempos de propagación tp Tiempos de mantenimiento (tS) y retención (tH) Frecuencia máxima (CLK, Enable) Tiempos de transición (tR y tF) Anchos de pulso mínimos (CLK y entradas asincrónicas) 42 Registros y latches de múltiples bits Aplicaciones • Almacenamiento de grupos de bits. • Líneas de retardo de señales digitales. • Operaciones aritméticas. Registro: arreglos de dos o más FF D con una entrada de reloj común. • Registros de almacenamiento • Registros de desplazamiento o corrimiento (shift registers) Latch: arreglos de dos o más latches con una entrada de habilitación común. 43 Registro de almacenamiento Registro de almacenamiento de 4 bits Dato de 4 bits 44 Formas comerciales • 74x175: registro de almacenamiento de 4 bits • 74x374: registro octal • 74x373: latch octal • 74x273: registro octal • 74x377: registro octal con habilitación de clock 45 Registros de desplazamiento (Shift registers) Registros con una arquitectura dispuesta para desplazar sus datos almacenados una posición por cada flanco activo de reloj. Clasificación según el tipo de entrada y salida • Entrada serie y salida paralelo (SIPO serial input / parallel output) • Entrada serie y salida serie (SISO serial input / serial output) • Entrada paralelo y salida paralelo (PIPO parallel input / parallel output) • Entrada paralelo y salida serie (PISO parallel input / serial output) CLK CLK CLK CLK 46 Registro de entrada serie y salida serie (SISO) N FFs ¿Cuántos TCLK deben pasar para tener el primer dato de entrada en SEROUT? 47 Registro de entrada serie y salida paralelo (SIPO) N FFs ¿Cuántos TCLK deben pasar para tener un dato de N bits en las salidas? 48 Diagrama de tiempos Reloj Entrada serie Q0 (LSB) Salidas paralelas Q1 Q2 Salida serie Q3 Datos paralelos 0001 / 0010 / 0101 / 1010 49 Registro de entrada paralelo y salida serie (PISO) 1. Carga del dato paralelo 1 0 0 0 0 50 2. Desplazamiento serie 1 0 0 0 0 0 0 0 51 Registro de entrada paralelo y salida paralelo (PIPO) Arquitectura PISO con una forma diferente de tomar los datos almacenados 52 Aplicaciones Ejemplo de aplicación: Módulos de transmisión serial PISO SIPO 53 Aplicaciones Ejemplo de aplicación: Multiplicación y división por múltiplos de 2 Desplazamiento a la izquierda en un shift register = 1710 0 0 0 1 0 0 0 1LSB 0 0 1 0 0 0 1 0 0 = 3410 0 1 0 0 0 1 0 0 0 = 6810 Desplazamiento a la derecha en un shift register 0 1 1 0 0 0 0 0LSB = 9610 0 0 0 1 1 0 0 0 0 = 4810 0 0 0 0 1 1 0 0 0 = 2410 54 Formas comerciales • 4006: registro de desplazamiento de 18 etapas (stage) • 4014: registro PISO / SISO de 8 etapas • 4015: doble registro de desplazamiento de 4 etapas SIPO • 74x165: registro de desplazamiento PISO de 8 bits • 74x164: registro de desplazamiento SIPO de 8 bits • 74x166: registro de desplazamiento PISO de 8 bits • 74x299: registro de desplazamiento universal de 8 bits 55 74x194: registro de desplazamiento universal de 4 bits Formas comerciales 4 modos de operación (S1, S0): • Right-Shift • Left-Shift • Syncchronous parallel load • Do nothing (CLK inhibido) 56 Formas comerciales 57 • 74x594: 8-Bit Shift Register with Output Registers • 8-bit serial-in, parallel-out shift register • 8-bit D-type storage register. • Separate clocks • Direct clears are provided for both the shift register and the storage register. • If both clocks are connected together, the shift register state will always be one clock pulse ahead of the storage register. Formas comerciales FIN 59