Está en la página 1de 14

Unidad IV – Diseño de Circuitos Secuenciales – Parte 5

Clase #19 – Diseño con dispositivos MSI:


Contadores y Registros

Lógica Digital
Prof. Ricardo Villegas
Contenido
 Contadores:
• Definición, Tipos de Contadores
• Ejemplos de uso
 Registros:
• Definición, Tipos de Registros
• Registro con desplazamiento (Shift-Register)
• Ejemplos de uso
Contadores
Son dispositivos que generan una secuencia ordenada de números que se repite en el tiempo
(secuencia cíclica).
 La secuencia está codificada en algún código binario – binario puro o BCD.
 El orden de la secuencia puede ser ascendente o descendente.
 Los contadores son usados para contar tiempo o la ocurrencia de eventos.
 Módulo de un contador: Número de elementos de la secuencia
Módulo “n” → n elementos
Ejemplo: Un contador BCD tiene módulo 10 (cuenta del 0 al 9)

Asíncronos: los flip-flops que componen el contador evolucionan cada uno con
propia señal de reloj, propagada por el flip-flop anterior.
Contadores
Síncronos: los flip-flops del contador evolucionan todos
simultáneamente con una señal de reloj común.
clk

Q Q
clk
Q Q
T T T T
Q Q Q Q
T T T T T T
T T T
Q T T
T
Q Q Q
“1”
Q Q Q Q
“1” “1” “1” “1”

Q3 Q2 Q1 Q0
Q3 Q2 Q1 Q0
Contador Asíncrono de 4 bits
Contador Síncrono de 4 bits
Contadores MSI
• Los contadores MSI son circuitos integrados de nivel medio de integración que implementan componentes
que realizan cuentas sobre una secuencia ordenada de números binarios contiguos.
• La familia 7416X comprende 4 tipos de contadores de 4 bits: BCD (cuentan del 0 al 9) y binarios (cuentan del
0 al 15). La cuenta se realiza en binario y se repite cíclicamente una vez alcanzado el valor máximo de la
secuencia; poseen una entrada clear para reiniciar la cuenta en 0 de forma asíncrona (efectiva en cualquier
momento ) o síncrona con el flanco de la señal de reloj.
• El contador 74190 es un contador BCD bidireccional, pudiendo seleccionarse el sentido ascendente o
descendente de la cuenta mediante una entrada específica para ello.

BCD Asc. / Desc.


7416X 74160 - clear asinc. 74190
BCD 0 Ascendente
74162 - clr sinc.
D/U
74161 - clear asinc. 1 Descendente
Binario
74163 - clr sinc.
D C B A
LD → 0
0 hold QD QC QB QA
P,T Expansión
Tabla de operaciones 1 enable CTEN → 0 Contar MXMN
Valor máximo
(1 – detenido) RCO
Load P/T Acción
D C B A
0 • La secuencia de la cuenta se obtiene en las salidas QDQCQBQA.
Load → 0
0 Carga QD QC QB QA • Las entradas Load o LD permiten establecer los valores
1 conectados en las entradas DCBA como el elemento actual de la
cuenta.
0 RCO → 1 cuando se alcanza el
Detener • La salida RCO se activa como un pulso de corta duración
valor máximo antes de
1 reiniciar la cuenta
mientras la cuenta alcanza el valor máximo del contador y vuelve
1 Contar a reiniciarse, por lo que puede utilizarse como una señal de
activación o sincronización durante conexiones de expansión.
Contadores: Conexiones de Entradas/Salidas
• En la conexión para uso normal el contador no utiliza la función de
carga, por lo que la entrada LOAD está desactivada; no es necesario
conectar valores en las entradas DCBA.
Conexión básica • La entrada activo bajo CLR permite reiniciar la cuenta a 0 en
cualquier momento, por lo que está normalmente conectada a un
dispositivo tipo pulsador o switch.
• Las entradas de habilitación P y T están permanentemente activas
conectadas a “1”.
• El valor actual de la cuenta se observa en las salidas QDQCQBQA.

Conexión con definición de valor inicial Conexión con parada en valor máximo
• En estas conexiones se usan las entradas LOAD o
CLR para tener la posibilidad de establecer un valor
inicial en la cuenta o reiniciar el contador a 0.
• Para detener el contador cuando se alcanza el
Valor valor máximo de la cuenta puede utilizarse la
inicial salida RCO, las cual se activa como un pulso alto al
momento de reiniciar la secuencia; su conexión en
inverso con las entradas de habilitación detienen al
contador en el límite superior de la cuenta.

Conexión con detención en valor definido Conexión con reinicio en valor definido

• El circuito de la izquierda comienza a contar desde el


valor 0101 cuando la señal LOAD se coloca en “0”, y se
detiene al alcanzar el valor 1100.
• El circuito de la derecha cuenta desde 0011 y se
reinicia de nuevo a ese valor cuando llega a 0111.
• El uso de compuertas permite establecer el valor final
combinando las salidas de interés; también es posible
utilizar comparadores para establecer un valor de límite
máximo para la cuenta.
Contadores: Expansión con varios dígitos
• En la conexión para uso normal el contador
Conexión Asíncrona
no utiliza la función de carga, por lo que la
entrada LOAD está desactivada; no es
necesario conectar valores en las entradas
DCBA.
• La entrada activo bajo CLR permite reiniciar
la cuenta a 0 en cualquier momento, por lo
que está normalmente conectada a un
dispositivo tipo pulsador o switch.
• Las entradas de habilitación P y T están
permanentemente activas conectadas a “1”.
• El valor actual de la cuenta se observa en las
salidas QDQCQBQA.

Conexión Síncrona
• En la conexión para uso normal el contador
no utiliza la función de carga, por lo que la
entrada LOAD está desactivada; no es
necesario conectar valores en las entradas
DCBA.
• La entrada activo bajo CLR permite reiniciar la
cuenta a 0 en cualquier momento, por lo que
está normalmente conectada a un dispositivo
tipo pulsador o switch.
• Las entradas de habilitación P y T están
permanentemente activas conectadas a “1”.
• El valor actual de la cuenta se observa en las
salidas QDQCQBQA.
Contadores: Otros Ejemplos de Uso
Contador binario módulo 68
• En este ejemplo dos circuitos integrados 74163
son conectados en expansión de forma síncrona
para implementar un contador módulo 68, entre los
números 1310 y 8010.
• La señal inicio establece la cuenta al valor inicial
000011012 (1310 en binario).
• Cuando la cuenta alcanza el valor 010100002 (8010
en binario), los contadores se reinician al valor 1310.
• Las salidas del contador más a la derecha
proporcionan los 4 bits menos significativos de la
cuenta, mientras que las del segundo contador
proporcionan los 4 bits más significativos

Contador para control de selección


• El circuito de este ejemplo muestra un contador
utilizado para controlar las entradas de selección
de un MUX 4:1 cuyas entradas representan datos
provenientes de señales w,x,y,z.
• El contador cuenta repetidamente entre los
valores 010 y 310, correspondientes a las cuatro
posibles combinaciones de las entradas de
selección de datos en el MUX.
• El contador reinicia la cuenta en 0 bien sea por
acción de la señal clear o porque se alcanza el
valor deseado de 112 (310 en binario).
Registros y Registros con Desplazamiento
Son dispositivos que implementan sistemas secuenciales capaces de almacenar información durante
un tiempo.
 Los registros pueden ser simples (almacenan datos de un bit a la vez) o paralelos (almacenan
varios bits simultáneos que conforman un solo dato).
 Algunos registros, conocidos como registros con desplazamiento o corrimiento (shift registers),
implementan desplazamientos en alguna dirección específica de los datos almacenados.
 Por ser sistemas secuenciales, los registros tienen una entrada para la señal de reloj.
 Generalmente, los registros tienen una entrada CLR para limpiar con 0 el valor almacenado.

Dato D Q Dato J Q

D clk J-K Registros simples de 1 bit


clk Q K Q

D3 D2 D1 D0

CLR
Q clr D Q clr D Q clr D Q clr D Registro Paralelo de 4 bits
D D D D (74175)
Q Q Q Q
clk

Q3 Q2 Q1 Q0
Tipos de Registros
Dependiendo de la naturaleza de sus entradas y salidas, los registros pueden
clasificarse como:

Nomenclatura
clk
I: Input
clk
SISO CLR
PIPO CLR
O: Output
S: Serial
P: Parallel
Serial Input – Serial Output Parallel Input – Parallel Output
Entrada Serial, Salida Serial Entrada Paralela, Salida Paralela

• Los registros SISO y PIPO


almacenan datos simples o
clk clk compuestos uno a la vez.
PISO CLR
SIPO • Los registros PISO y SIPO
CLR
desplazan internamente hacia
alguna dirección (derecha o
izquierda) los datos almacenados,
Parallel Input – Serial Output Serial Input – Parallel Output para su presentación en las
Entrada Paralela, Salida Serial Entrada Serial, Salida Paralela salidas.
Registros con Desplazamiento (Shift Registers)
En estos dispositivos, los datos de entrada se propagan en el registro en una dirección específica en
operaciones de corrimiento conocidas como desplazamiento a la izquierda (shift left) o
desplazamiento a la derecha (shift right).
1 Dato
Shift Right 1 0 1 1 Dato

clk
SIPO CLR PISO
clk
CLR

reset 0 0 0 0 reset 0
1 0 0 0 1
1 1 0 0 1
1 1 1 0 0
1 1 1 1 1


Shift Right

Los ejemplos muestran el funcionamiento de registros con desplazamiento de tipo SIPO y PISO, con corrimiento hacia la derecha; los
ejemplos son aplicables al desplazamiento hacia la izquierda, con obvias diferencias de resultados en las salidas.
• Para cada flanco de reloj, los dispositivos responden actualizando el valor de la salida. Inicialmente se aplica una operación de reset para
inicializar las salidas a “0”. Posteriormente, para cada flanco de subida de la señal de reloj, las salidas de los registros muestran como los
datos almacenados van desplazándose hacia la derecha.
• Para el caso del registro SIPO, el dato de entrada va “rellenando” el lado más significativo de la salida que va corriéndose a la derecha; si el
dato no cambia, luego del cuarto ciclo de reloj la salida es aparentemente estática.
• En el ejemplo del registro PISO, cada bit del dato de entrada va apareciendo durante cada ciclo de reloj, como si los bits del dato inicial
estuviesen siendo “empujados” hacia la derecha y el menos significativo en cada momento va apareciendo en la salida.
Shift Register Universal
• El registro universal con desplazamiento implementa en un único circuito integrado las funciones de memoria,
carga y desplazamiento bidireccional configurable a través de sus entradas S1 y S0.
• El desplazamiento puede seleccionarse hacia la izquierda o derecha.
• Proporciona carga de entradas en paralelo; las salidas se obtienen también en paralelo en QAQBQCQD.

74194 – Shift Register Universal de 4 bits


74198 – Shift Register Universal de 8 bits

Tabla de operaciones
CLR → 0000 en las salidas
S1 S0 Acción
SR SL
0 0 Hold A B C D
Load →
0 1 Shift Right QA QB QC QD Shift Right: QA → QD (QH) Shift Left: QA ← QD (QH)

1 0 Shift Left SL/SR → valores de relleno Los valores de relleno introducidos por SL o SR se insertan
por los extremos en el extremo menos significativo (para Shift Left) o más
1 1 Load contrarios al sentido significativo (para Shift Right) del valor actualmente
del desplazamiento almacenado en el registro luego de realizado el
desplazamiento en la dirección configurada.
Registros: Ejemplos de Uso

Conexión simple con desplazamiento hacia la izquierda


• En este ejemplo, el circuito integrado 74194 está conectado para realizar
las operaciones de carga y desplazamiento hacia la izquierda, a través de sus
entradas S1S0 (Carga: 11, Shift Left: 10).
• El valor que se almacena durante la carga se coloca en las entradas ABCD.
• La señal activo bajo clear lleva el valor almacenado a 0000.
• El valor colocado en la entrada SL es el relleno que se inserta por el lado
derecho del valor almacenado cuando se realiza el corrimiento hacia la
izquierda en cada ciclo de reloj.
• El valor almacenado se visualiza en las salidas QAQBQCQD.

Conexión simple con desplazamiento hacia la derecha


• El circuito integrado de este ejemplo está conectado para realizar
las operaciones de carga y desplazamiento hacia la derecha, a través
de sus entradas S1S0 (Carga: 11, Shift Right: 01).
• El valor colocado en la entrada SR es el relleno que se inserta por el
lado izquierdo del valor almacenado cuando se realiza el corrimiento
hacia la derecha en cada ciclo de reloj.
• De forma similar al ejemplo anterior, el valor de carga está en las
entradas ABCD, la señal clear limpia el valor almacenado y el
contenido del registro aparece en las salidas QAQBQCQD.
Registros: Otros Ejemplos de Uso
Estado inicial
Contador de 4 bits en anillo
• Este ejemplo implementa una secuencia cíclica en el que un valor de 1
se desplaza hacia la izquierda y reaparece en la posición inicial, 0001
equivalente a realizar un ciclo entre los valores 1, 2, 4 y 8 en decimal.
• La señal Load restablece la cuenta al valor inicial 00012 cuando tiene el
valor de 1, o configura el registro con desplazamiento hacia la izquierda 1000 0010
cuando vale 0.
• El valor de relleno por la derecha es la realimentación del bit más
significativo del valor actual de la secuencia, que vale 0 en los tres 0100
primeros estados y 1 en el último, lo que permite que dicho 1 reaparezca
como el bit menos significativo del estado inicial.

Conversor Gray-Binario
Conversión tradicional • En este otro ejemplo se muestra un sistema secuencial
que combina dos registros universales de 4 bits y un flip-
flop D para implementar un conversor de código Gray de
4 bits a binario.
• El primer registro se encarga de obtener el número Gray
y alimentarlo bit a bit, por desplazamiento hacia la
izquierda desde el MSB, al proceso de conversión.
• El segundo registro construye el resultado empujando
hacia la izquierda los bits que va recibiendo del XOR.
• El flip-flop D actúa como un registro simple de 1 bit que
almacena el resultado del último bit convertido para
combinarlo a través del XOR con el siguiente bit del
número original.
• La señal inicio carga el número inicial y limpia los valores
almacenados en el flip-flop y el segundo registro; el
resultado convertido se obtiene luego de 4 ciclos de reloj.
Registros: Problema de Aplicación con U.C.
Calculador de 8N+1
• Este diseño implementa un circuito aritmético que realiza el
cálculo de la operación 8N+1, siendo N un número binario de 4
bits.
• El registro universal de 8 bits se utiliza para realizar la operación
combinada que consiste en desplazar 3 veces hacia la izquierda el
valor inicial (multiplicación) con rellenos de 0 y un 1 para la suma
final, luego de lo cual se detiene para mostrar el resultado.
• Como el registro debe ser configurado en modos de carga,
desplazamiento y parada, además de usar valores de relleno
variables, es necesario diseñar una unidad de control que
proporcione los valores adecuados para S1, S0 y SL ; la señal start
da inicio al proceso de cálculo.

Suponiendo que N=1: Luego de tres desplazamientos hacia la izquierda se obtiene


0001 → 0010 → 0100 → 1000 8N (cada shift equivale a multiplicar por 2); si el relleno del
último desplazamiento es un 1, se aplica la suma requerida.

000 start=0

start=1
001
101 100
S1, SL S1, S0
α
110
α 011 010

S1 S1
111

También podría gustarte