Contadores y Registros
Contadores y Registros
Contadores y Registros
CONTADORES Y REGISTROS
NDICE
1. INTRODUCCIN
1.1 CIRCUITOS SECUENCIALES
2. CONTADORES
2.1 Contadores sncronos
2.1.1 Reset(Clear) y Preset
2.1.2 Inhibicin
2.1.3 Load
2.1.4 Contadores reversibles (UP/DOWN)
2.1.5 Lneas de Carry y Borrow
2.2 Contadores asncronos
2.2 Contadores con mdulo diferente a la potencia de dos
2.3 Contadores de anillo y conmutado en cola
3. REGISTROS
3.1 Registro de entrada serie y salida serie
3.2 Registro de entrada serie y salida paralelo
3.3 Registro de entrada paralelo y salida serie
3.4 Registro de entrada paralelo y salida paralelo
3.5 Registro universal
1. INTRODUCCIN
Hasta ahora, nicamente hemos visto circuitos combinacionales, es decir, circuitos en
los que las salidas dependen nica y exclusivamente de las combinaciones de entradas, y no
de la historia pasada del sistema. Vamos a ver cules seran las formas de onda del siguiente
cir- cuito.
En la actualidad en el mercado existen diversos dispositivos comerciales que contienen
funciones secuenciales de propsito definido y comn. Estos mecanismos son de uso muy
frecuente y un bosquejo a nivel de biestables y puertas lgicas de estos elementos provocara
que el calibrar del circuito completo que los contiene sera excesivamente grande. De estos
mecanismos de uso frecuente estudiaremos los circuitos Secuenciales, los contadores, registros.
A
F
B
F
F = AB + AF + BF
Figura 1.1.- Ejemplo de circuito digital junto con sus formas de ondas.
En las formas de onda podemos comprobar que la seal de salida F cambiar de estado
(cuando sea necesario) despus del retraso de la puerta AND y OR. Otra caracterstica de este
circuito que tambin podemos observar es que la salida tambin muestra una dependencia de
ella misma, adems de las seales de entrada; sta implica que para una misma combinacin
de seales de entrada podemos encontrar valores de salida diferentes, como sucede en el caso
de AB = 10. Por lo tanto, el valor de la salida tambin depende de los valores pasados del
cir- cuito, es decir, de su historia.
La dependencia de esta historia puede ser ventajosa e incluso necesaria para algunas
aplicaciones en las que es necesario recordar una determinada situacin. Algunos ejemplos de
esta ventaja (necesidad) pueden ser:
La creacin de un reloj, que se modelada con la afirmacin la salida ser el valor
complementario de su valor anterior,
La creacin de un contador, que se modelada con la afirmacin la salida ser el
resul- tado de sumar uno a su valor anterior,...
Por lo tanto, se ve cuando menos interesante incluir la dependencia del tiempo en los sistemas
y en especial, en los sistemas digitales.
Como es lgico, existe una dependencia explcita del tiempo. Esta dependencia
se produce en los lazos de realimentacin antes mencionados. En estos lazos es
necesa- rio distinguir entre las salidas y las entradas realimentadas. Esta
distincin se tradu- cir en un retraso de ambas seales (en el caso ms ideal),
como se puede ver en la figura 1.2, el cual puede producirse mediante dos
elementos:
Elementos de retraso, ya sean explcitos o implcitos debido al retraso
de la lgica combinacional. Este retraso es fijo e independiente de
cualquier seal.
Elementos de memoria, que son dispositivos que almacena el valor de
la entrada en un instante determinado por una seal externa y lo
mantiene hasta que dicha seal ordene el almacenamiento de un nuevo
valor.
La diferencia de comportamiento entre ambos elementos radica en que la salida del elemento
de retraso es una copia de la seal de entrada; mientras que el elemento de memoria copia
determinados instantes de la entrada (determinados por una seal externa), y no la seal completa, el resto del tiempo la salida no cambia de valor, como podemos apreciar en la figura 1.2.
Entrada
Control
Retraso
Memoria
En este caso, podemos observar que la salida del elemento de retraso es una copia
de la seal de entrada retraso un determinado tiempo; mientras que la salida del
elemento de memoria copia los valores de la entrada cuando la seal de control
tiene una transicin de subida, por lo que la copia no es exacta, sino que slo copia
lo que interesa.
Por lo tanto, el modelo clsico de un sistema secuencial consta de un bloque
combinacio- nal, que generar la funcin lgica que queramos realizar, y un grupo
de elementos de memo- ria con una serie de seales realimentadas, como se
muestra en la figura 1.3.
3
T
4
T
recaen completamente en el propio circuito. As podemos apreciar que el cambio de las seales de
prximo estado a estado presente se llevan a cabo mediante un mayor o menor retraso en el caso
asncrono o cuando lo indique una seal externa en el caso sncrno.
Tablas de estado y de salida, es una representacin tabular del grafo anterior. Las
entradas se representan como columnas, y los estados presentes como filas; y en el
interior de cada celda, se indica el prximo estado y el valor que tomar la salida
cuando sufra la transicin.
5
T
En principio, en cualquier sistema secuencial, las seales de salida y del prximo estado
van a venir determinadas por una funcin lgica de las seales de entrada y del estado pre- sente,
como muestra la siguiente ecuacin.
Qi Fi = f qi Ii
No obstante, la dependencia de las seales de entrada sobre las seales de salida pueden llegar a
eliminarse y encontrarlas de forma implcita en las seales de estado presente, es decir, siem- pre
que lleguemos a un mismo estado, las salidas tomarn un nico valor.
6
T
Por lo tanto, podemos encontrarnos con dos modelos o tipos de sistemas secuenciales en
funcin de la dependencia de las seales de salida:
Modelo de Mealy.- Las seales de salida son funciones tanto de las seales de
entrada como de estado presente, como muestra las siguientes ecuaciones:
Fi = f qi Ii Qi = f qi Ii
Modelo de Moore.- Las seales de salida son funciones nicamente de las seales
del estado presente, como muestra las siguientes ecuaciones:
Fi = f qi Qi = f qi Ii
Debido a la diferencia de dependencia de las salidas, ambas mquinas las podemos representar de
dos formas tabulares diferentes, como podemos ver en la figura 1.6. En ella, el significado de
cada celda es diferente, puesto que un mismo sistema se debe poder representar de ambas formas.
En el caso de la representacin de Mealy, el significado del interior de cada celda es el que vimos
anteriormente, es decir, el prximo estado al que llegar con el valor de salida correspondiente.
En cambio, en el representacin de Moore, el interior de la celda de las columnas de las entradas
es el mismo, es decir, el prximo estado al que llegar el sistema; no obstante, para saber cul
ser la salida tenemos que obtenerlo del valor correspondiente al prximo estado al que llegar.
Ambos tipos de modelos son equivalentes y existe una transformacin directa entre ellos,
segn el significado de las celdas de cada una de las representaciones.
Para pasar de una mquina de Mealy a una de Moore, se siguen los siguientes pasos:
Para pasar de una mquina de Moore a una de Mealy, se siguen los siguientes pasos
Se deja el mismo alfabeto de entradas y salidas
7
T
Si consideramos las mquinas de la figura 1.7, para cualquier secuencia de las seales de entrada,
deberamos poder encontrar un estado inicial tal que la secuencia de salida sera la misma. Este
hecho lo podemos ver en la figura 1.8, donde se muestran las formas de ondas para ambas
mquinas. Debemos destacar que hemos elegido como estados iniciales equivalen- tes, los
estados B (de la mquina de Mealy) y B1 (de la mquina de Moore). Tambin podemos observar
que cuando la entrada toma el valor 1, ningn estado se estabiliza sino que existe un cambio
continuo entre los estados C y D (C0 y D0); el estado en el que se produce la transicin de
entrada depende del retraso de la mquina.
8
T
As, vemos que es necesario almacenar temporalmente una serie de datos, por lo que nos
encontramos ante un sistema secuencial.
9
T
2.CONTADORES
Un contador de mdulo k es un circuito digital capaz de contar k eventos diferentes. Estos dispositivos no
son otra cosa que circuitos secuenciales cuya alteracin de estado se producen, evidentemente, a ritmo de su
indicador de reloj, y en el que cada estado memoriza un valor de cuenta. Por tanto, un contador mdulok, tiene k estados de cuentas distintos, desde el 0, hasta el k-1. Estos dispositivos podrn aumentar o no en
funcin de los valores lgicos que tomen ciertas seales de control que se examinaran ms adelante.
Inicialmente se supondr que el contador siempre est contando, por lo que cada valor de cuenta se
corresponde con un ciclo de reloj. En la siguiente figura se muestra la evolucin de los estados de cuenta de
un contador mdulo k. Se observa que a partir del ciclo k de reloj, estado de cuenta k-1, el contador vuelve
a su estado inicial (estado de cuenta 0). Esto es una caracterstica de todos los contadores.
clk
0
k-1
< k
2n
As un contador mdulo 8 se puede construir usando 3 biestables, uno de mdulo 16 con cuatro
biestables, y as sucesivamente. Normalmente los contadores se construyen usando el menor
nmero de biestables posibles y si estos tienen un mdulo que es potencia de 2, suelen
identificarse tambin como CONTADORES DE N BITS.
Si las salidas del contador son la codificacin binaria del estado de cuenta y el nmero de
estados es una potencia de dos, este suele denominarse divisor de frecuencia. En la siguiente
figura se ha representado la salida de un contador mdulo 8 (contador de 3 bits o divisor de
frecuencia de 3 bits).
cl
k
clk
O2
mod-8
O1
O
O0
1
0
En las siguientes secciones se presentarn dos posibles estructuras internas que permiten el funcionamiento
de los contadores (estructura asncrona y estructura sncrona) y se estudiarn las lneas de control y salidas
ms comunes que, comercialmente, disponen estos dispositivos.
1
1
&
1 T0
q0
T1
q1
1
T2
q2
&
Tn-1
qn-1
clk
O0
O1
O2
On-1
Tn-2
qn-2
1
clk
O0
O1
O2
On-1
En los siguientes apartados se estudiarn las seales de control y salida ms comunes que acompaan a
los contadores.
2.1.1
Reset(Clear) y Preset
La lnea de Reset o Clear permite inicializar el contador a su estado de cuenta 0 cuando es activada. La
lnea de Preset permite inicializar el contador a su valor de cuenta ms alto (aquel en que todos los
biestables estn a 1). Estas lneas pueden ser activas en alto o en bajo, y existen dos modalidades desde
el punto de vista funcional: asncrona y sncrona.
Supongamos que la lnea Clear de un contador es asncrona. Esto implica que inmediatamente despes a
la activacin de dicha seal, el contador pasa al estado de cuenta 0, independientemente de la seal de
reloj. Por el contrario, si el clear se activase, pero tuviese un modo de funcionamiento sncrono, el
contador se pondra en el estado de cuenta cero cuando llegase un flanco activo de la seal de reloj. En
resumen, un clear asncrono no depende de clk para su funcionamiento, mientras que un sncrono s.
Esto es igualmente aplicable para la lnea de Preset.
1
2
En primer lugar, hay que determinar qu se debe introducir a la entrada del biestable i para que su salida
qi pase a 0 en el siguiente ciclo de reloj. Supongamos que la salida qi =0, por tanto la entrada del
biestable i debe ser Ti =0 para que en el siguiente ciclo se mantenga el cero. En cambio si la salida del
biestable qi =1, la entrada Ti debe ser un 1 lgico, para que en el siguiente ciclo, la salida qi pase a valer
0. En resumen, si queremos hacer un Clear, la entrada del biestable Ti debe ser igual a qi. Si todos los
biestables del contador disponen de esta entrada, el contador pasar al estado de cuenta 0 cuando se
reciba el flanco activo de reloj.
La siguiente figura muestra la estructura de la celda bsica de un contador que permite un clear sncrono.
La entrada del biestable i est conectada a la salida de un multiplexor de dos canales controlado por la
seal Clear (activa en baja). De esta forma, si Clear=0, el canal 0 del multiplexor(o sea qi) pasa a la
entrada Ti, y se produce el efecto deseado. Si Clear=1, el canal 1 del multiplexor( o sea qi Ti-1) pasa a la
entrada Ti, y esto implica que el contador se incrementa (modo de funcionamiento normal)
Salida
j+1
PRESET ASNCRONO
Es idntico al clear asncrono salvo que las entradas asncronas de los biestables a usar es Pr.
Autor: Alberto Molina
1
4
Preset
Pri
Ti
qi
Oi
De esta forma, cuando se activa la seal de Preset del contador, todos los biestables se ponen a 1 de forma
asncrona.
PRESET SNCRONO
Es similar al Clear sncrono, pero en este caso pretendemos poner a 1 todos los biestables. Si qi =1, Ti
debe ser cero, para que en el siguiente ciclo se mantenga el valor de qi, en cambio si qi =0, Ti debe ser 1,
para que Qi =1 en el siguiente ciclo de reloj. Por tanto Ti = qi.
qi-1 &
Ti-1
0
1
Cli
Ti
qi
qi
Preset
Oi
2.1.2
INHIBICIN
Es una lnea de control (activa en alta o en baja) cuya misin es detener el proceso de cuenta del contador.
Esto implica que mientras que la lnea est activa, aunque se reciban flancos activos por la seal de reloj
del contador, este no modifica su estado de cuenta. Podemos encontrar varios diseos alternativos para
implementar la funcin de inhibicin del contador. Uno de ellos es el mostrado por la siguiente figura,
donde la entrada de reloj del contador pasa a travs de una puerta AND antes de distribuirse por las
entradas de reloj de cada uno de los biestables que forma parte de dicho contador. La otra entrada de la
AND est formada por la linea de control INH. Si esta vale 1, el reloj se distribuye a todos los biestables,
pero sin INH vale 0, se distribuye un 0 a los biestables, por lo que estos no pueden cambiar de estado al no
recibirse flancos por sus entradas de reloj.
1
5
T0
qi
Ti
INH
clk
Ti
qi
&
Oi
Oi
No obstante este tipo de implementacin, que se suele denominar asncrona, presenta problemas a la hora
de activar la inhibicin de cuenta, ya que en funcin del nivel de la seal de reloj, se pueden producir
incrementos no deseados en el valor de cuenta del contador. Para el caso de la figura anterior, los
biestables del contador son disparados por flanco de bajada y la seal de inhibicin es activa en bajo.
Llamemos clk a la seal de reloj que reciben los biestables del contador, esto es, la salida de la puerta
AND. Si INH=1, clk=clk, funcionamiento normal. Si suponemos que clk=1 (nivel alto de reloj, y
entonces INH=0, lo lgico es que el contador, desde ese mismo momento, no debe de cambiar de estado,
pero lo que ocurre es que clk pasa de valer 1 a valer 0, esto es, genera un flanco de bajada que provoca
que los biestables cambien de estado incrementando la cuenta del contador.
q0
00
Otra
funciones
Cli
1
Ti
qi
INH
Oi
1
6
clk
INH
Salida
1
7
LOAD ASNCRONO
Esto se consigue mediante la activacin de las seales asncronas de Pr y Cl de cada uno de los biestables
del contador. Reduzcamos el problema a una sla etapa y supongamos que Load es activo en baja. Si
Load = 0 y el bit a escribir en la etapa i es 0, se deben activar las entradas Cli =0 y Pri =1. Si Load =0 y
el bit a escribir es 1, entonces Cli =1, y Pri =0. Si Load
=1, Cli = Pri =1. Si representamos estos valores en un K-mapa y simplificamos, obtenemos las siguientes
expresiones para Cli y Pri
Cli = Load + Di Pri =
Load + Di
El circuito equivalente es
Load
Salida
N+1
N+2
N+3
18
LOAD SNCRONO
En el load sncrono se trata de determinar cal debe ser la entrada del biestable Ti para que este se cargue
con el valor del dato Di de entrada. Si suponemos que Load es activo en baja, tenemos que si Load=0, si
Di =0 y qi =0, entonces Ti debe ser 0, si Di =0 y qi =1, Ti debe ser 1 para forzar en el siguiente ciclo de
reloj que la salida se ponga a 0. De forma equivalente si Di
=1, y qi =1, entonces
Cli Ti debe ser 0 y si Di =1 y qi =0 Ti debe ser 1. En resumen, para que qi sea igual al
0
qi
debemos comparar qi con Di, si los dos son iguales, Ti debe ser cero para no
& Di que queremos cargar
qi-1dato
1
Ti
ningn cambio, pero si Di y qi son distintos, Ti debe ser 1 para que en el siguiente ciclo, qi tome
Ti-1realizarClear
el valor del bit a cargar.
i = qi Di
Oi
La siguiente figura muestra la estructura de la etapa i de un contador que incorpora la carga sncrona.
=1
Di
Ti
qi
1
Load
Oi
Salida
N+1
N+2
N+3
19
O0
O1 O2
20
Ya estamos en condiciones de disear el contador reversible. Estos disponen de una seal de control
UP/DOWN, que indica el sentido de la cuenta. Si UP/DOWN est a 1, cuenta ascendete, si UP/DOWN
est a 0, cuenta descendente.
Por tanto la entrada Ti de cad biestable del contador debe tener la siguiente expresin Ti = qi-1
Ti-1 UP/DOWN + qi-1 Ti-1 UP/DOWN
CY
En cambio la seal de Borrow se activa cuando el contador descendente alcanza su estado de cuenta ms
bajo, el 0. (ver siguiente figura)
21
clk
Salida
BW
Los contadores reversibles disponen de una seal de salida TC(Terminal Count) que se pone a1 si se
alcanza el estado de cuenta ms alto si el contador tiene el modo ascendente(CY) o se activa en el estado
de cuenta 0 si el contador est programado como descendente (Bw)
O0
O1 O2
O2
22
O0 cambia en los flancos de bajada de clk, por lo que el biestable 0 tiene su entrada T igual a 1 y su
entrada de reloj igual a la seal de reloj clk
O1 es a O0 como
O0 es a cllk. Esto es, si O0 fuese considerado como una seal de reloj, entonces la
Di
entrada del biestable T puede estar a 1. Con esto conseguimos que este biestable siempre cambie en los
flancos de bajada de O1.
De igual forma,
>1 O2
>1cambia en los flancos de bajada de O1, por lo que la entrada de reloj del biestable 2 es
O1 y su entrada T es un 1.
Cli Pri
Este tipo de diseo alternativo se denomina tambin contador de rizado o ripple-counter, por la especie de
qi
rizo que hace
Ti la conexin de la salida de un biestable a la entrada de reloj del siguiente biestable. La
estructura de este contador es ms simple que la del sincrono, por no necesitar de puertas lgicas
adionales, sin embargo presenta algunos inconvenientes, como la velocidad de operacin (que es menor en
este caso) y la aparicin de estados de cuentas fantasmas. Analicemos este ltimo aspecto. Supongamos la
situacin realista de que
los biestables del contador de rizado anterior, tienen un tiempo de propagacin no
Oi
nulo, igual a tp. Como se muestra en la siguiente figura, el contador va a pasar del estado de cuenta 3 al 4.
Al usarse la salida de un biestable como reloj del siguiente, los retrasos van acumulndose de una etapa a
otra, por lo que la salida de cuenta verdadera, tarda un tiempo, en este caso, igual a 3 tp. En el intervalo de
tiempo comprendido entre 0 y 3 tp se han producido cuentas transitorias errneas.
clk
O0
O1
q'i-1
Ti-1
qi-1
Ti-1
1
T0
q0
&
O2
3204
0
1
Ti
q1
UP/DOWN
q2
Los contadores
asncronos
comerciales
disponen de seales de control, como Reset, Load,.. todos, con
qi
1 T1
1 T2
&
clk
Oi
2.3
CON MDULO
DIFERENTE A LA POTENCIA DE DOS
O0 CONTADORES
O1
Es habitual que en la prctica se necesiten contadores con un mdulo diferente a la potencia de dos (en el
mercado es muy comn encontrarse con contadores mdulo 10 por la importancia que tiene esta base de
numeracin). Si se desea construir un contador con un mdulo distinto a lo que se ofrece comercialmente,
tenemos dos posibilidades:
e) Disearlo con biestables y puertas, como si se tratara de una mquina secuencial sncrona
Autor: Alberto Molina
23
f) Usando contadores y puertas. Disponiendo de un contador con un mdulo mayor del que se desea
disear, y puertas lgicas, podemos hacer que este se comporte contando slo aquellos estados de
inters.
Aqu se desarrollar el mtodo indicado por el apartado b), remitimos al alumno al tema 7 para el diseo
por el apartado a).
Ejemplo: Se desea construir un contador mdulo 10, que cuente desde el 0 hasta el 9, usando un
contador mdulo 16 y puertas lgicas.
Es lgico que el contador mdulo 16 usado para implementar el mdulo 10 debe interrumpir su cuenta
cuando llega al estado de cuenta 9. Esto es, el contador mdulo 16 pasara, despus del 9, al estado de
cuenta 10, pero debemos obligarle a que, en lugar del 10, pase al estado de cuenta 0. Esto es posible si el
contador dispone de lnea de Clear. De alguna manera, esta lnea debe de activarse cada vez que sea
necesario para forzar el paso del estado de cuenta 9 al 0. Existen dos alternativas de diseo, en funcin
de que la lnea de Clear tenga un modo de funcionamiento asncrono o sncrono. Analizaremos las dos
situaciones.
clk
Salida
Cl
100
Cl
25
Init
1
Cl Pr
D0q
Cl Pr
D 1q
Cl Pr
D 2q
1
Cl Pr
D 3q
clk
O0
O1
O2
O3
La lnea Init sirve para inicializar el circuito, de forma que cuando est vale 0, los biestables 0,1,2,3
toman, de forma asncrona, los valores 1,0,0,0 respectivamente. La puesta a 1 de Init sirve como
indicador para la puesta en marcha del contador. La siguiente figura muestra el cronograma temporal del
funcionamiento de este contador.
Init
clk
O0 O1 O2
O3
26
O
1
3. REGISTROS
Un registro de n bits es un dispositivo que tiene capacidad de almacenar n bits. Internamente estn
formados por biestables, tantos como bits sea capaz de almacenar el registro. Normalmente estos
dispositivos son sncronos siendo los biestables D los ms usados para la implementacin interna.
En cuanto a las operaciones bsicas que se realizan sobre los registros destacamos fundamentalmente dos:
escritura (W) y lectura (R), aunque habitualmente se pueden encontrar registros que incorporan
operaciones como Clear.
Autor: Alberto Molina
27
Los registros se pueden clasificar en funcin de cmo se lean o escriban los bits, as podemos encontrar:
registros con entrada serie (entrada hace referencia a escritura) y salida serie (salida hace
referencia a lectura)
Entrada
serie
D3
q3
D2
q2
D1
q1
D0
q0
Salida
serie
clk
Para todos los registros de desplazamiento es necesario que los biestables D que lo constituyen sean
disparados por flanco. Slo se salva de esta regla el registro de entrada paralelo y salida paralelo, el cual
suele estar formado por biestables disparados por nivel.
28
Se observa en el registro de la figura anterior, que los biestables estn conectados de forma que la salida
de cada uno se corresponde con la entrada del biestable situado inmediatamente a su derecha. Asimismo,
la salida del biestable situado a la derecha del conjunto se corresponde con la salida del registro serie,
mientras que la entrada para el biestable situado a la izquierda del conjunto se correponde con la entrada
de datos del registro.
Para que el registro opere de forma adecuada, los bits de entrada deben estar sincronizados con la seal de
reloj, esto es, un bit de entrada por cada ciclo de reloj. El primer bit, B0, de entrada se escribir en el
biestable D3 en el primer ciclo de reloj, el segundo bit de entrada, B1, vuelve a escribirse en D3, encima
de B0, el cual pasa, al biestable D2. El tercer bit de entrada, B2, se escribe nuevamente en D3, encima de
B1, el cual pasa al biestable D2, sobreescribiendo el bit B0, que, a su vez, pasa a D1. As se completa la
secuencia de escritura para los cuatro bits.
Para la lectura serie el procedimiento es similar. Slo hay que tener en cuenta que para leer el primer bit
almacenado, el B0, no es necesario esperar ningn ciclo de reloj, ya que la salida q del ltimo biestable,
(y por tanto el bit B0), se encuentra conectada con la salida del registro. La siguiente figura ilustra el
proceso de lectura en cada ciclo de reloj.
29
Por todo lo visto, podemos decir que el registro de entrada serie y salida serie presentado en este apartado
es un registro de desplazamiento a derecha. El registro de desplazamiento a izquierda se hubiera
construido de forma similar sin ms que conectar la salida de un biestable con la entrada del
biestable situado a su izquierda. La entrada del registro sera en este caso D0, y la salida, q3.
Entrada
serie
D3
q3
D2
q2
D1
q1
D0
q0
clk
O3
O2
Salida paralelo
O1
O0
30
El procedimiento de lectura es igual al descrito en el apartado 3.1, para lo que se hace necesario que los
biestables estn conectados entre s, salida de uno con la entrada del siguiente. (Se comprueba que el
registro de desplazamiento es nuevamente a la derecha). Aqu se modifica el proceso de escritura, que se
realiza cuando la lnea Load est activa.
En la escritura en paralelo, todos los bits de entrada Ai, se cargarn simultneamente en los biestables qi.
En la figura se ha escogido un procedimiento de carga asncrona, usando las entradas de Clear y Preset de
los biestables. (Se deja al estudiante la estructura para un procedimiento de carga o escritura sncrona). Se
ha diseado un circuito combinacional, formado por dos puertas NAND y un inversor, que controla las
lneas de Cl y Pr de cada biestable en funcin del bit a escribir, Ai, y de la seal de control Load. Cuando
esta ltima est a 0, las entradas Cl y Pr estn a 1, no ocurre nada. Si Load =1, entonces si A i =0, se activa
Cl y si Ai =1, se activa Pr, esto es, escritura asncrona de un 0 o un 1 respectivamente. Haciendo
extensible este proceso de escritura de un biestable a todos los biestables que constituyen el registro,
tenemos el proceso de escritura del mismo.
31
Como se observa, los biestables son del tipo disparado por nivel bajo en lugar de disparado por flanco.
Esto suele ser habitual en este tipo de registros, denominados tambin como LATCH, aunque no se
descarta la posibilidad de que se puedan disear con biestables disparados por flanco.
Si la seal clk vale 0, los biestables capturan simultneamente todos los bits de entrada. Si clk vale 1, los
biestables mantienen la informacin capturada que muestran siempre por sus lneas de salida.
conecta directamente con la entrada de CLEAR del registro. Las otras cuatro operaciones sncronas, se
van a codificar en dos lneas de control S1, S0, tal como se muestra en la siguiente tabla.
Para la escritura o carga en paralelo, el registro ha de disponer de cuatro lneas de entrada. Para la lectura
en paralelo, el registro dispone de cuatro lneas de salida. Para la lectura/escritura serie a la derecha, el
registro dispone de dos lneas, Rin, Rout y para la lectura/escritura a la izquierda, el registro tambin
dispone de las lneas Lin, Lout . Adems se necesita la entrada de reloj.
Si S1 S0=00, desplazamiento a la derecha, las entradas de los cuatro biestables del registro deben ser
(suponiendo D3 el registro situado a la izquierda y D0 el situado a la derecha)
D3= Rin D2=
q3 D1= q2
D0= q1
Y la salida Rout est formada por q0
Si S1 S0=01. Operacin de Load, las entradas deben ser los valores que tengan las entradas en paralelo
del registro. Designemoslas como B0,B1,B2 y B3
D3=B3
D2=B2
D1=B1
D0=B0
Si S1 S0=10. NOP, las entradas de los biestables deben ser D3= q3
Autor: Alberto Molina
33
D2= q2
D1= q1
D0= q0
BIBLIOGRAFIA
1(http://www.dte.us.es/personal/amolina/contadores%20y%20registros/contadores%20y
%20registros.pdf)
2 (http://www.uhu.es/raul.jimenez/DIGITAL_II/dig2_i.pdf)
34