14-registros y contadores
TRANSCRIPT
Sistemas Digitales
©Mario Medina C. 1
Registros y Contadores
Mario Medina [email protected]
RegistrosGrupos de flip-flops con reloj común
Almacenamiento de datosDesplazamiento de datosConstrucción de contadores simples
Como cada FF almacena 1 bit de información, se requieren n FFs para almacenar n datos al mismo tiempo
Registro de 4 bits usando flip-flops D
Señal CLR fija flip-flops a 0 asincrónicamenteSeñal activa baja
Señal Load se combina con reloj Clk paracargar datos de inicialización
Registro de 4 bits con flip-flops D
No es conveniente combinar señal de relojcon otras señales
Desfase entre registro y otros circuitosAgregar al FF entrada de habilitación CE
Si señal Load es 0, reloj está deshabilitado
Registros y buses
Registro de 4 bits se representa usandonotación de bus
Entrada D tiene 4 bits de anchoSalida Q tiene 4 bits de anchoSeñal ClrN activa bajaSeñal Load activa alta
Registros con habilitación de salidas
Registros pueden tener salidas de 3 estadosFacilita conexiones eliminando MUXesRequiere entrada para habilitar salidas
Si En es 0, los buffers están activados
Sistemas Digitales
©Mario Medina C. 2
Conectando registros con salidas de 3 estados Bus de 3 estados
Decodificador selecciona el registro queescribe en el bus
Registro acumulador
Usado en unidades aritmético-lógicas de losprocesadores
Acumula resultadosX + Acum →Acum
Almacena resultados intermedios de operaciones más complejas
Sumador paralelo con registroacumulador
Registro de n flip-flops DTodos ellos usan el mismo reloj
N sumadores completos de 1 bit
Celda sumadora con multiplexor
Flip-flop DSumador completo (FA)Multiplexor con señal Ld permite definir valor inicial para el flip-flopSeñal Ad activa flip-flop para almacenarresultado de la suma
Registros de desplazamiento
Registro que almacena datos binarios y puede desplazarlos a la izquierda o a la derecha
Desplazamiento lógicoDesplazamiento aritméticoDesplazamiento cíclico
Sistemas Digitales
©Mario Medina C. 3
Tipos de desplazamiento Registro de desplazamiento
Contenido del registro se desplaza a la derecha con cada ciclo de reloj
Registro recibe un nuevo bit cada ciclo en la entrada Serial In (SI) y pierde un bit cada ciclopor la salida Serial Out (SI)
Registro de desplazamientoSea un registro de desplazamiento de 4 bits
Registro tiene valor inicial0101Entrada es secuencia 1101Secuencia de estados del registro es 0101, 1010, 1101, 0110, 1011
Registro de desplazamientocon entradas y salidas seriales
Los datos iniciales del registro debencargarse por la entrada Serial In
Demora 8 ciclos en preparar el registroDatos sólo pueden leerse de salida Serial Out
Diagrama de tiempo registrode desplazamiento serial
Flip-flops activados por canto de subidaEntradas se reflejan en la salida en 8 ciclos
Registro de desplazamientocon entradas y salidas paralelas
Implementado con flip-flops D y MUXesSi Sh es 1, desplaza a la derechaSi L es 1, carga entradas D0-D3 en el flip-flopSi ShL es 00, no hay cambios
Sistemas Digitales
©Mario Medina C. 4
Diagrama de tiempoRegistro de desplazamientocon entradas y salidas paralelas
Q1Q2Q3SIX1
D0D1D2D310
Q0Q1Q2Q300
Q+0Q+
1Q+2Q+
3LSh
Próx. EstadoEntradas
Registro 74HC164entrada serie y salida paralela
Registro 74HC164entrada serie y salida paralela
Registro 74HC165entrada paralela y salida serie
Registro 74HC165entrada paralela y salida serie
Entrada SH/LD’en nivel bajo activa puertas NAND para carga paralelaEntrada CLK INH deshabilita relojEntrada SER usada para entrada de datos
Sistemas Digitales
©Mario Medina C. 5
Registro 74HC195Entrada y salida paralelas
Registro 74HC195Entrada y salida paralelas
Contadores
Contadores síncronosOperación sincronizada de los flip-flops Señal de reloj comúnTipo más común de contador
Contadores de propagaciónCambio de estado de un flip-flop dispara al siguiente flip-flop del contadorNo serán cubiertos en este curso
Contador de Johnson
Registro de desplazamiento con salidacomplementada conectada a la entrada
Comportamiento descrito por diagrama de estados
Tabla de excitaciones flip-flops
X0X11X0XJK
X001100XSR
0110T
1010D
Q+ = 1Q+ = 0Q+ = 1Q+ = 0Entrada
Q = 1Q = 0
Contador binario de 8 estadoscon flip-flops T
Tabla muestra estado actual y entradanecesaria para flip-flop T
Sistemas Digitales
©Mario Medina C. 6
Contador binario de 8 estadoscon flip-flops T
Mapas de Karnaugh para TB y TC (TA es 1)
Contador binario de 8 estadoscon flip-flops TTA = 1, TB = A, TC = AB
Contador binario de 8 estadoscon flip-flops D
Rediseñar el contadorbinario usando flip-flops D
Entrada a flip-flops D esigual al estado deseadoDA = A’DB = A⊕BDC = C⊕BA
Contador binario de 8 estadoscon flip-flops D
Rediseñar el contador binario usando flip-flops D
Contador binario de 8 estadoscon flip-flops D Contador Gray de 3 bits
Diagrama de estados para un contador en código Gray de 3 bitsDiseñar el contador con flip-flops J-K
Sistemas Digitales
©Mario Medina C. 7
Tabla de transiciones y del flip-flop J-K
100101
000100
101111
111110
110010
010011
011001
001000
Estado siguienteEstado actual
1
1
0
0
Q
1
0
1
0
Q+
1X
0X
X1
X0
KJ
Mapas de excitación
Circuito a implementarEjemplo: contador de 5 estados con flip-flops T
Diagrama de estados Tabla de estados
C B A C+ B+ A+
0 0 0 1 0 0 0 0 1 - - - 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 - - - 1 1 0 - - - 1 1 1 0 1 0
Ejemplo: contador de 5 estados con flip-flops T
Ejemplo: contador de 5 estados con flip-flops T
Sistemas Digitales
©Mario Medina C. 8
Estados no definidosContador tiene sólo 5 estados
Qué pasa con los otros estados?
Estados superfluos deben transitar a algún otro estado, pero a cuál?
Proceso de diseño especificatransicionesSi estado inicial es CBA = 001, se puede determinar que estadosiguiente es CBA=111
Evolución de los estados no definidos
Procedimiento de diseñocontadores con flip-flops T
Construir mapa y/o tabla de estadosDibujar mapas de transiciónConstruir mapas para entrada T de cada F/F usando ecuación del flip-flop TEncontrar las ecuaciones de las entradas TImplementar el circuito
Ejemplo: mismo contador de 5 estados, pero con flip-flops D
Flip-flops D: mapa de entrada D es idénticoal mapa del estado siguienteEcuaciones de excitación de los flip-flops DDC = B’DB = C + BA’DA = A’(C + B)Tarea: identificar las transiciones no definidas en
el diagrama de estados
Ejemplo: mismo contador de 5 estados, pero con flip-flops D
Ejemplo: mismo contador de 5 estados, pero con flip-flops S-R
Necesario determinar ecuacionespara entradas S y R
De acuerdo a tabla del flip-flop S-R
Sistemas Digitales
©Mario Medina C. 9
Ejemplo: mismo contador de 5 estados, pero con flip-flops S-R
Tabla de excitación de los flip-flops A, B y C
C B A C+ B+ A+ SC RC SB RB SA RA0 0 0 1 0 0 1 0 0 X 0 X 0 0 1 – – – X X X X X X 0 1 0 0 1 1 0 X X 0 1 0 0 1 1 0 0 0 0 X 0 1 0 1 1 0 0 1 1 1 X 0 1 0 1 0 1 0 1 – – – X X X X X X 1 1 0 – – – X X X X X X 1 1 1 0 1 0 0 1 X 0 0 1
Ejemplo: mismo contador de 5 estados, pero con flip-flops S-R
Ejemplo: mismo contador de 5 estados, pero con flip-flops S-R
Ejemplo: mismo contador de 5 estados, pero con flip-flops S-R
Analizar comportamiento para estados no definidos
Si CBA = 001SC, RC = B’, A = 1, 1 (Estado inestable flip-flop S-R)SB, RB = C, C’A = 1, 0SA, RA = A’(C + B), A = 0, 1
Cómo evitar problemas?Revisar diseño realizado en detalle Definir a priori comportamiento para CBA=001Usar otros flip-flops
Ejemplo: mismo contador de 5 estados, pero con flip-flops J-K
Necesario determinar ecuacionespara entradas J y K
De acuerdo a tabla del flip-flop S-R
Ejemplo: mismo contador de 5 estados, pero con flip-flops J-K
Tabla de excitación de los flip-flops A, B y C
Sistemas Digitales
©Mario Medina C. 10
Ejemplo: mismo contador de 5 estados, pero con flip-flops J-K
Ejemplo: mismo contador de 5 estados, pero con flip-flops J-K
Contador binario irregularDiagrama de estados para un contador binario irregularDiseñar el contador con flip-flops J-KTiene 4 estados pero lo haremos con 3 flip-flops
Tabla de transiciones
Estados no válidos (0, 3, 4 y 6) pueden ser estados indiferentes en el diseño
001111
111101
101010
010001
Estado siguienteEstado actual
1
1
0
0
Q
1
0
1
0
Q+
1X
0X
X1
X0
KJ
Mapas de excitación Circuito a implementarAnálisis del circuito muestra que un estado no válido siempre transita a un estado válido
0→3 →4 →76 →1
Sistemas Digitales
©Mario Medina C. 11
Contador ascendente/descendente
Diagrama de estados para un contador ascendente/descendenteControlado por señal UP/DOWN’
Tabla de transiciones
101
111
110
010
011
001
000
100
Estado siguienteUP/DOWN’=0
100101
000100
101111
111110
110010
010011
011001
001000
Estado siguienteUP/DOWN’=1
Estado actual
Mapas de excitación Circuito a implementar
Contador bidireccional de 8 estados con flip-flops D
Entrada Up/Down controladirección de la cuenta
U = 1, contador ascendenteD = 1, contador descendenteU = D = 0, cuenta no cambiaU = D = 1, no puede ocurrir
Ecuaciones de F/Fs DDA = A⊕ (U + D)DB = B⊕ (UA + DA’)DC = C⊕ (UBA + DB’A’)
CBA C+B+A+ U D
000 001 111001 010 000010 011 001011 100 010100 101 011101 110 100110 111 101111 000 110
Contador bidireccional de 8 estados con flip-flops D
Diagrama de estadosResume posibles estados de los flip-flops
Estados aparecen en losnodosArcos entre nodosrepresentan transicionesentre estadosRótulos de los arcos indicanentrada asociada a transición
Sistemas Digitales
©Mario Medina C. 12
Contador bidireccional de 8 estados con flip-flops D
Contador bidireccional de 8 estados recargable
Contador incluye señales de controlLd (Load) carga la entrada en el contadorCt (Count) activa contadorClrN (Clear) limpia contador (activa baja)
Si Ld = Ct = 0, contador mantiene estadoSi Ld = 1, se cargan los datos con transición 0→1Si Ct = 1, contador avanza con transición 0→1Si Ld = Ct = 1, recarga prevalece sobre la cuenta
Contador bidireccional de 8 estados recargable
Ecuaciones del estado siguienteDA = (Ld’·A + Ld·DAin)⊕Ld’·CtDB = (Ld’·B + Ld·DAin)⊕Ld’·Ct·ADC = (Ld’·C + Ld·DAin)⊕Ld’·Ct·A·B
Contador bidireccional de 8 estados recargable
Implementación con AND, XOR, MUXes