Tema 7 Registros y Contadores © Luis Entrena, Celia López, Mario García, Enrique San Millán Universidad Carlos III de Madrid 1 Contenidos 1. Registros Ø Registros con entrada serie y salida serie y paralelo Ø Registros con entrada paralelo y salida serie y paralelo Ø Registro universal de desplazamiento 2. Contadores Ø Contadores síncronos • • • • • Concepto de contador síncrono. Síntesis como máquina de estados con biestables T. Contador ascendente-descendente. Contadores con entradas de precarga, acarreo/habilitación y salida de acarreo. Aplicaciones con contadores síncronos: secuenciadores. Ø Contadores basados en registros de desplazamiento • Contador en anillo. Contador Johnson. © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 2 Registro Circuito digital con dos funciones básicas: almacenamiento de datos y movimiento de datos (Floyd) Es una colección de dos o más biestables tipo-D con una entrada común. Se utiliza para almacenar una serie de bits relacionados, como un byte (8 bits) de datos. Dato(n) Q(n) Enable Clear Registro • Registra datos en los flancos activos del Reloj Reloj • Borra el contenido ante el nivel activo del Reset Reset • Puede tener señales de Habilitación y Clear síncronos © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 3 Registro (1 bit) 0 Dato 1 Esquema Q Enable Clear Reloj Reset © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 4 Registro (4 bits) Entrada paralelo/salida paralelo Esquema Enable Clear Dato(1) Dato(2) Dato(3) Dato(0) Q(3) Registro 1 bit Registro 1 bit Registro 1 bit Registro 1 bit Reset Q(2) Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 5 Registro de desplazamiento Es un registro que almacena y desplaza la información Bit 0 Bit 1 Bit 2 Bit 3 • Registra datos en los flancos activos del Reloj. Desplaza los bits.. • Borra el contenido ante el nivel activo del Reset • Puede tener señales de Habilitación y Clear síncronos © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 6 Registro de desplazamiento Entrada y salida SERIE Entrada Bit 0 Bit 1 • Un bit de entrada. Un bit de salida. • Carga SERIE. Desplaza los bits. • 4 Ciclos de reloj en cargar un dato Bit 2 Bit 3 Salida SISO • 4 Ciclos de reloj en leer un dato © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 7 Registro de desplazamiento Entrada SERIE, salida PARALELO Entrada Bit 0 S(0) Bit 1 S(1) • Un bit de entrada. Cuatro bits de salida. • Carga SERIE. Desplaza los bits. Bit 2 Bit 3 S(2) S(3) SIPO • 4 Ciclos de reloj en cargar un dato • 1 Ciclo de reloj en leer un dato © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 8 Registro de desplazamiento Entrada PARALELO, salida SERIE D(0) Bit 0 D(1) Bit 1 • Cuatro bits de entrada. Un bit de salida. • Carga PARALELO. Salida SERIE. • 1 Ciclo de reloj para almacenar el dato D(3) D(2) Bit 2 Bit 3 Salida PISO • 4 Ciclos de reloj para leer el dato © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 9 Registro de desplazamiento Entrada serie/ salida paralelo-serie Esquema Enable Clear Dato Q(3) Registro 1 bit Registro 1 bit Registro 1 bit Registro 1 bit Reset Q(2) Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 10 Registro de desplazamiento Entrada serie-paralelo / salida paralelo-serie Esquema Dato(1) Dato(2) Dato(3) S/P Dato(0) S_In S_Out Enable Clear Registro 1 bit Registro 1 bit Registro 1 bit Registro 1 bit Q(3) Reset Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(2) Q(1) Q(0) 11 Registro de desplazamiento Dato(1) Dato(2) Dato(3) Esquema SISO S/P Dato(0) S_Out S_In Enable Clear Registro 1 bit Registro 1 bit Registro 1 bit Registro 1 bit Q(3) Reset Q(2) Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 12 Registro de desplazamiento Dato(1) Dato(2) Esquema Dato(3) PIPO S/P Dato(0) S_Out S_In Enable Clear Registro 1 bit Registro 1 bit Registro 1 bit Registro 1 bit Q(3) Reset Q(2) Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 13 Registro universal de desplazamiento Dato Carga Serie. Desplazamiento a la Izquierda Dato Carga Serie. Desplazamiento a la Derecha Dato Entrada. N bits entrada Paralelo Bit 0 entrada Serie Modo de operación CSDI CSDD D(n) Modo (2) Q(n) Registro Universal de desplazamiento Dato Salida. N bits salida Paralelo Bit 0 salida Serie Reloj Reset Registro de desplazamiento con entrada serie y paralelo. Los datos se pueden desplazar a izquierda o a derecha. © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 14 Registro universal de desplazamiento Dato(1) Dato(0) Esquema Modo CSDI CSDD 11 10 01 00 11 10 01 00 Registro 0 Registro 1 Reset Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 15 Registro universal de desplazamiento Dato(1) Dato(0) Esquema Modo CSDI CSDD 11 10 01 00 11 10 01 00 Registro 0 Registro 1 Reset Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 16 Registro universal de desplazamiento Dato(1) Dato(0) Esquema Modo CSDI CSDD 11 10 01 00 11 10 01 00 Registro 0 Registro 1 Reset Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 17 Registro universal de desplazamiento Dato(1) Dato(0) Esquema Modo CSDI CSDD 11 10 01 00 11 10 01 00 Registro 0 Registro 1 Reset Reloj © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 Q(1) Q(0) 18 Contadores síncronos © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 19 Contadores síncronos Contador básico Enable Q(n) Contador Fin Reloj Reset © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 20 Contadores síncronos Cronograma de funcionamiento Reset Clk Enable Q 0 1 2 3 4 5 6 7 0 1 Fin © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 21 Contadores síncronos Cronograma de funcionamiento Reset Clk Enable Q 0 1 2 3 4 5 6 7 0 1 Fin Inicialización Asíncrona © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 22 Contadores síncronos Cronograma de funcionamiento Reset Clk Enable Q 0 1 2 3 4 5 6 7 0 1 Fin Parada de cuenta © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 23 Contadores síncronos Cronograma de funcionamiento Reset Clk Enable Q 0 1 2 3 4 5 6 7 0 1 Fin Fin de cuenta © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 24 Contadores síncronos como FSM 1. Entradas y Salidas 2. Diagrama de estados. Asignación de estados. Biestables 3. Tabla de transiciones 4. Optimización 5. Esquemático © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 25 Contadores síncronos como FSM Contador en binario natural de 0 a 7 1. Entradas y Salidas Moore Enable Q(3) Contador Fin Reloj Reset Entrada__Salidas Ena__Q-F © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 26 Contadores síncronos como FSM 2. Diagrama de estados 0 7 6 1 2 5 4 3 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 27 Contadores síncronos como FSM 2. Diagrama de estados 0 1 0 Entrada__Salidas Ena__Q-F 7 6 1 2 5 4 3 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 28 Contadores síncronos como FSM 2. Diagrama de estados Entrada__Salidas 0 1 0 Ena__Q-F 1 0 0 1 7 0 6 1 1 1 2 5 0 1 0 4 0 3 1 1 0 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 29 Contadores síncronos como FSM 2. Diagrama de estados Entrada__Salidas 0 1 6 0 0 1 0 Moore 1 000_0 7 Ena__Q-F Salidas 111_1 0 1 110_0 001_0 1 1 2 5 0 010_0 101_0 4 1 100_0 0 0 3 1 011_0 1 0 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 30 Contadores síncronos como FSM 2. Asignación de estados 7 estados è 3 biestables Estado__Codificación 0 à 1 à 2 à 3 à 4 à 5 à 6 à 7à 000 001 010 011 100 101 110 111 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 31 Contadores síncronos como FSM Estado siguiente Entrada +Estado Entradas T Salidas E Q2 Q1 Q0 Q2 Q1 Q0 T2 T1 T0 Q2 Q1 Q0 Fin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 32 Contadores síncronos como FSM Estado siguiente Entrada +Estado Entradas T Salidas E Q2 Q1 Q0 Q2 Q1 Q0 T2 T1 T0 Q2 Q1 Q0 Fin 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 33 Contadores síncronos como FSM 4. Optimización T2 Q1Q0 00 00 T1 01 11 10 0 0 0 0 01 0 0 0 11 0 0 10 0 0 EnQ2 Q1Q0 00 01 11 10 00 0 0 0 0 0 01 0 0 0 0 1 0 11 0 1 1 0 1 0 10 0 1 1 0 EnQ2 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 34 Contadores síncronos como FSM 4. Optimización T0 Q1Q0 00 00 Fin 01 11 10 0 0 0 0 01 0 0 0 11 1 1 10 1 1 EnQ2 Q1Q0 00 01 11 10 00 0 0 0 0 0 01 0 0 0 0 1 1 11 0 0 1 0 1 1 10 0 0 0 0 EnQ2 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 35 Contadores síncronos como FSM 4. Optimización T0 = Enable T1 = Q0·Enable T2 = Q1·Q0·Enable Fin = Q2·Q1·Q0·Enable © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 36 Contadores síncronos como FSM Esquema 5. Esquemático Enable Fin T0 Q0 T1 Q1 T2 Q2 Q(0) Q(1) Reloj Reset Q(2) 37 Contadores síncronos Contador Ascendente/Descendente Q(n) Enable UpDown Contador Fin Reloj Reset © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 38 Contadores síncronos (Asc/Desc) Cronograma de funcionamiento Reset Clk UpDo Enable Q 0 1 2 3 4 5 6 5 4 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 3 39 Contadores síncronos (Asc/Desc) Cronograma de funcionamiento Reset Clk UpDo Enable Q 0 7 6 5 4 3 2 3 4 5 Cuenta Descendente © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 40 Contadores síncronos (Asc/Desc) Cronograma de funcionamiento Reset Clk UpDo Enable Q 0 7 6 5 4 3 2 3 4 5 Cuenta Ascendente © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 41 Contadores síncronos Contador con Precarga /Clear síncrono Clear Q(n) Enable Load Dato(n) Contador Fin Reloj Reset © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 42 Contadores síncronos Cronograma de funcionamiento Reset Clk Clear Enable Load Q 3 9 Dato 0 1 2 3 4 5 3 0 1 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 2 43 Contadores síncronos Inicialización Asíncrona Reset Clk Clear Enable Load Q 3 9 Dato 0 1 2 3 4 5 3 0 1 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 2 44 Contadores síncronos Habilitación de cuenta Reset Clk Clear Enable Load Q 3 9 Dato 0 1 2 3 4 5 3 0 1 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 2 45 Contadores síncronos Precarga de valor de cuenta Reset Clk Clear Enable Load Q 3 9 Dato 0 1 2 3 4 5 3 0 1 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 2 46 Contadores síncronos Inicialización Síncrona Reset Clk Clear Enable Load Q 3 9 Dato 0 1 2 3 4 5 3 0 1 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 2 47 Contadores síncronos (FSM) Contador con entrada Clear Ejercicio Clear Q(n) Enable Contador Fin Reloj Reset © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 48 Contadores síncronos (FSM) Contador con entrada Clear Entradas__Salidas 01 1X 00 Clear-Ena__Q-Fin 01 0 6 01 Ejercicio X0 11 1X 1X 00 1 1X 1X 5 01 1X 2 00 01 4 00 3 00 01 01 00 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 49 Contadores síncronos (FSM) Contador con entrada Clear Ejercicio © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 50 Contadores basados en registros de desplazamiento Un contador basado en un registro de desplazamiento es básicamente un registro de desplazamiento con la salida serie realimentada a la entrada serie, de modo que se generen secuencias especiales (Floyd) Contador Johnson Contador en anillo Bit 0 Bit 1 Bit 2 Bit 0 Bit 1 Bit 2 © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 51 Contadores basados en registros de desplazamiento Contador Johnson D0 Ciclo Q0 D1 Q2 Q1 Q0 Clk Clk 0 0 0 0 1 2 0 0 0 1 1 1 3 4 1 1 1 1 1 0 5 6 1 0 0 0 0 0 Q1 7 0 0 1 Q2 Q1 D2 Clk Q2 Reloj Clk Q0 2n patrones © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 52 Contadores basados en registros de desplazamiento Contador en anillo Ciclo D0 Q2 Q1 Q0 Q0 Clk Clk 0 0 0 1 Reloj 1 2 0 1 1 0 0 0 Reset 3 4 0 0 0 1 1 0 5 6 1 0 0 0 0 1 7 0 1 0 D1 Q1 D2 Q2 Clk Clk Q0 Q1 Q2 n patrones © Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008 53