Está en la página 1de 10

Registros y Contadores 1

Tema 8. Circuitos secuenciales de Propsito general: REGISTROS Y


CONTADORES

Una coleccin de dos o ms biestables D con una entrada comn se conoce


como un registro. Los registros se usan para almacenar una serie de bits
relacionados, como un byte (8 bits) de una computadora.
La figura muestra un registro de 3 bits. La palabra A[0-2] solo aparece en
la salida Q[0-2], si se produce el disparo del biestable, mediante el flanco
de subida del reloj CLK:

A0 A1 A2
CLK

D Q D Q D Q

CLK Q CLK Q CLK Q

Q0 Q1 Q2

Como vemos este circuito registra el dato de la entrada y lo transmite a la


salida solo cuando se le da la orden. La transmisin del dato se hace de
forma paralela.

Registros de Desplazamiento

Es un registro que registra y desplaza la informacin. La figura


siguiente presenta un registro de desplazamiento a la derecha de 4 bits con
carga serie:

Salida de Datos Paralelo


Entrada de
Datos Serie A B C D

D Q D Q D Q D Q
CLK Q CLK Q CLK Q CLK Q
CLR CLR CLR CLR

CLR Salida de
Datos Serie
CLK
Registros y Contadores 2

Veamos el funcionamiento del circuito anterior:

La seal de borrado (CLR) coloca a los biestables en el estado 0. Cada vez


que llega un flanco de subida de la seal de reloj (CLK), cada biestable
captura lo que hay en su entrada, o sea, lo que hay en el biestable anterior,
con lo que la informacin se va desplazando a la derecha.

Un ejemplo: Vamos a registrar y desplazar la palabra de 4 bits 0101.


Esta sera la secuencia de funcionamiento del circuito:

Salidas
ABCD
CLR = 0 0000
CLR = 1 / 1er Pulso de CLK 1000
CLR = 1 / 2 Pulso de CLK 0100
CLR = 1 / 3er Pulso de CLK 1010
CLR = 1 / 4 Pulso de CLK 0101

La palabra 0101 ha sido cargada en el registro, de hecho la tenemos


disponible en las salidas paralelo usando 4 pulsos de reloj. Para que
tuviramos toda la palabra disponible en la salida serie, debemos esperar 3
pulsos ms:

Salidas Serie
D
CLR = 1 / 4 Pulso de CLK 1
CLR = 1 / 5 Pulso de CLK 0
CLR = 1 / 6 Pulso de CLK 1
CLR = 1 / 7 Pulso de CLK 0

La palabra se ha cargado en el registro bit a bit, a esto se le denomina carga


serie.
Registros y Contadores 3

Registro de Despalazamiento con carga paralelo

Un registro de este tipo carga todos los bits al mismo tiempo, con lo que no
es necesario esperar muchos pulsos de reloj para obtener la informacin.
El siguiente circuito es un registro de desplazamiento de 4 bits de carga
paralelo y desplazamiento a la derecha:
Salida de Datos Paralelo
A B C D
Carga de
Datos Paralelo
D
C
B
A

PR PR PR PR
J J J J
Q Q Q Q
CLK CLK CLK CLK
Q Q Q Q
K CLR K CLR K CLR K CLR

CLR
CLK

Los datos se cargan por el PRESET de cada biestable (se trata de una
entrada asncrona). Veamos un ejemplo de cmo se realiza el registro y el
desplazamiento de un dato.
Vamos a cargar la palabra 0110:
Esta es la secuencia de funcionamiento
Salidas
ABCD
CLR = 0 0000
CLR = 1 0110
er
CLR = 1 / 1 Pulso de CLK 0011
CLR = 1 / 2 Pulso de CLK 1001
er
CLR = 1 / 3 Pulso de CLK 1100
CLR = 1 / 4 Pulso de CLK 0110

Se puede observar, que el dato se carga de forma asncrona, y que antes del
primer pulso del reloj, el dato ya est registrado; lo que se hace de forma
sncrona es el desplazamiento a la derecha. Como se ve, se produce una
circulacin de la palabra digital, de ah que se conozcan estos registros
como recirculantes.
Registros y Contadores 4

Registro de Desplazamiento Universal

Se trata de un circuito integrado, que dispone de un registro de


desplazamiento, que permite carga serie, carga paralela, desplazamiento a
izquierda y a derecha, mediante el uso de unas seales de control.
La figura muestra un Registro de Desplazamiento Universal de 4 bits
(74194).

A SRG4
QA
Carga B QB Salida
Paralelo C QC Paralelo
D QD

Carga serie, despl. derecha DSR


Carga serie, despl. izquierda DSL

Reloj CLK
Borrado CLR
S0 S1

Control de
modo

Modo de operacin S0 S1
Mantenimiento 0 0
Despl. Izquierda 0 1
Despl. Derecha 1 0
Carga paralelo 1 1

El funcionamiento de este dispositivo es similar a los descritos


anteriormente; cabe hacer notar que cuando se selecciona la operacin de
desplazamiento a la derecha el bit que se carga (entrada: DSR) queda
registrado en la posicin A (salida: QA), mientras que si seleccionamos la
operacin de desplazamiento a la izquierda, el bit que se carga (entrada:
DSL) queda registrado en la posicin D (salida: QD).
Registros y Contadores 5

CONTADORES

El nombre de contador se usa para designar cualquier circuito secuencial


que cuente m estados en un solo ciclo de funcionamiento. El nmero m de
estados que cuenta se conoce como mdulo del contador. Nuestro inters
se centrar en los contadores binarios, aquellos que realizan una cuenta en
binario de un nmero determinado de estados.

Por ejemplo, veamos un contador de mdulo-8 (mod-8)


Este circuito cuenta 8 estados, con lo que necesita 3 bits, a cada pulso de
reloj, avanza en la cuenta de estados:

1 1 1 Q
EN Q EN Q EN

CLK T Q T Q T Q

CBA 000
000
1er Pulso de CLK 001
2 Pulso de CLK 010 001
3er Pulso de CLK 011
4 Pulso de CLK 100
5 Pulso de CLK 101
6 Pulso de CLK 110
110
7 Pulso de CLK 111
8 Pulso de CLK 000
111

Se le suele llamar A este tipo de contador contador de rizado


Un contador en general puede contar con una entrada que le permita contar
tanto adelante como hacia atrs, incluso con entrada de inhibicin que
detenga la secuencia de conteo, y por ltimo con un registro que permita
establecer un estado inicial a partir del cul comienza la cuenta.
Registros y Contadores 6

Vamos a disear un contador sncrono binario que cuente de 0 a 7 y sea


reversible. Emplearemos biestables JK y circuitos lgicos SSI o MSI.
Comencemos con la tabla de transicin:

Ent Estado presente Estado futuro Entrada biestables


A/D qc qb qa QC QB QA Jc Kc Jb Kb Ja Ka
0 0 0 0 0 0 1 0 X 0 X 1 X
0 0 0 1 0 1 0 0 X 1 X X 1
0 0 1 0 0 1 1 0 X X 0 1 X
0 0 1 1 1 0 0 1 X X 1 X 1
0 1 0 0 1 0 1 X 0 0 X 1 X
0 1 0 1 1 1 0 X 0 1 X X 1
0 1 1 0 1 1 1 X 0 X 0 1 X
0 1 1 1 0 0 0 X 1 X 1 X 1
1 0 0 0 1 1 1 1 X 1 X 1 X
1 0 0 1 0 0 0 0 X 0 X X 1
1 0 1 0 0 0 1 0 X X 1 1 X
1 0 1 1 0 1 0 X 1 1 X 1 X
1 1 0 0 0 1 1 X 1 1 X 1 X
1 1 0 1 1 0 0 X 0 0 X X 1
1 1 1 0 1 0 1 X 0 X 1 X 1
1 1 1 1 1 1 0 X 0 X 0 1 X

De la tabla se obtienen las funciones combinacionales que excitarn cada


biestable, pudindose realizar con decodificadores de 4 a 16 lneas:
Ja = Ka = 1
Jb = Kb = m(1,3,5,7,8,10,11,12,14)
Jc = Kc = m(3,7,8,11,12)

4/16 0
1 J
2 Q QA
QA 3 CLK
0 VCC Q QA
QB 4 K
QC 5
A/D 3 6
7 J
8
Q QB
CLK
9 Q QB
K
10
11
12 J
13 Q QC
CLK
14 Q QC
GND EN 15 K
CLK
Registros y Contadores 7

Diseo de Sistemas Secuenciales Sncronos con Registros

1. Codificacin en binario natural y uso de un decodificador:

Supongamos el siguiente diagrama de flujo y la asignacin de estados


0/0

Estados Q1 Q0
1/1 D A 0 0
0/0 B 0 1
0/1 A C 1 0
C 1/1 D 1 1
1/0 1/0

B 0/1

Usaremos los biestables D que contiene el registro universal. Se


comienza observando en que estados internos cada una de las variables Q1
y Q0 toman el valor 1, o sea, cuando se activan. Suponiendo X la entrada y
Z la salida:

Q0 se activar cuando se llegue a los estados B y D; al estado B se llega


desde A con entrada 1 (trmino AX); al estado D se llega desde C con
entrada 0 (trmino CX) y desde el propio D con entrada 0 (trmino DX),
as la expresin booleana de Q0 ser:

Q0n+1 = AX + CX + DX

Q1 se activar cuando se llegue a los estados C y D; al estado C se llega


desde B con entrada 0 (trmino BX) y desde el propio C con entrada 1
(trmino CX), as la expresin booleana de Q1 ser:

Q1n+1 = BX + CX + CX + DX = BX + C + DX

De la misma manera se puede obtener Z como:

Z = AX + DX + CX + BX

Teniendo en cuenta que el registro contiene biestables D: Qn+1 = D

D0 = AX + CX + DX
D1 = BX + C + DX
Registros y Contadores 8

A continuacin implementemos el circuito (excepto la salida). La ltima


etapa la forman el registro (en este caso de 2 bits) y un decodificador de 2
bits:
CLK
A
X
SRG
C
X Q0 2/4 0 A
1D
D 1 B
X Q1 2 C
C GND EN 3 D
B
X

2. Codificacin mediante un cdigo de uno entre n (un FF por estado).

Este proceso de diseo es an ms sistemtico y permite disear ms


rpidamente el sistema pero se deben usar ms biestables (uno por cada
variable de estado interno). Basndonos en el diagrama de flujo anterior:
Estados Q3 Q2 Q1 Q0
A 1 0 0 0
B 0 1 0 0
C 0 0 1 0
D 0 0 0 1

CLK
A
X
D
X
ECUACIONES: B SRG
Q3n+1 = AX + DX + BX X
Q2n+1 = AX A 1D Q3 = A
Q1n+1 = BX + CX X
Q2 = B
Q0n+1 = CX + DX B
X Q1 = C
C Q0 = D
X
C
X
D
X
Registros y Contadores 9

Diseo de sistemas secuenciales sncronos usando Contadores

En los diagramas de flujo de los sistemas secuenciales existen pasos de un


estado a otro (como los contadores) y pasos al propio estado (como si el
contador parase). Todas las posibilidades en un diagrama de flujo pueden
ser cubiertas usando contadores de manera apropiada.

El contador sncrono que usaremos para nuestros ejemplos tendr una


entrada de reloj, una entrada de reset (R) que permita situar al contador en
el estado inicial, una entrada de cuenta y no carga (M1=0) y no cuenta y
carga en paralelo (M1=1) y n entradas de carga paralelo. Para ver el
mtodo de diseo nos basaremos en el diagrama de flujo siguiente:

BA/Z
a XX/0
R CTR
XX/X h M1

b X1/1 XX/1
XX/1 X0/0
g
c n n
1X/1 D Q
0X/0
e
d
XX/0 XX/1

Debemos generar entonces las entradas D y la seal M1.


Comenzaremos deduciendo el nmero de variables de estado Q que nos
hacen falta para describir los estados. Este ser nmero de biestables que
contenga el contador. Debe cumplirse que se necesitan k biestables para n
estados tal que 2k n. La asignacin de los cdigos correspondiente a cada
estado debe realizarse de manera el nmero de saltos entre estados que no
tengan asignados cdigos consecutivos sea mnimo.

Estado Q2 Q1 Q0 Estado Q2 Q1 Q0
A 0 0 0 E 1 0 0
B 0 0 1 F 1 0 1
C 0 1 0 G 1 1 0
D 0 1 1 H 1 1 1
Registros y Contadores 10

La tabla de estados que debemos realizar debe contener: las entradas, el


estado presente, el estado futuro, M1 (no carga-0 o carga-1), el estado a
cargar si no cuenta y la salida:

Entrada Estado Presen. Estado Futuro Carga Carga Estado Sal


B A q2 q1 q0 Q2 Q1 Q0 M1 D2 D1 D0 Z
X X 0 0 0 0 0 1 0 X X X 0
X 0 0 0 1 0 1 0 0 X X X 0
X 1 0 0 1 1 1 0 1 1 1 0 1
0 X 0 1 0 0 1 1 0 X X X 0
1 X 0 1 0 1 0 0 1 1 0 0 1
X X 0 1 1 1 0 1 1 1 0 1 0
X X 1 0 0 1 0 1 0 X X X 1
X X 1 0 1 0 0 0 1 0 0 0 1
X X 1 1 0 1 1 1 0 X X X 1
X X 1 1 1 0 0 0 0 X X X 0

Ya solo queda deducir D2, D1, D0, M1 y Z por el mtodo que se quiera:
D2 = q2
D1 = q1q2
D0 = q0q1
M1 (B,A,q2,q1,q0) = m(3,5,9,11,13,18,19,21,25,26,27,29)
Z (B,A,q2,q1,q0) = m(4,5,6,9,12,13,14,18,20,21,22,25,26,28,29,30)

El sistema quedara como la figura indica. El circuito combinacional que


implementa M1 y Z se realizar a modo de ejercicio en clase

Reset R CTR
M1
CLK
D0 Q0 Q0
1D
D1 Q1 Q1 M1
Q2
D2 Q2 Z
A
B

CIRCUITO
A PARA
B DISEAR

También podría gustarte