Sei sulla pagina 1di 35

TEMA CIRCUITOS ECUENCIALES

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.

1.1 CIRCUITOS SECUENCIALES


A
B

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.

a) Introduccin. Definicin de Sistema Secuencial


Los sistemas digitales que introducen la dependencia temporal son conocidos como sistemas secuenciales. Una definicin ms rigurosa de sistema secuencial puede ser la siguiente:
Un circuito de conmutacin secuencial se define como un circuito biva- luado en el
cual, la salida en cualquier instante depende de las entradas en dicho instante y de la
historia pasada (o secuencia) de entradas.
Esta definicin implica una serie de caractersticas inherentes a estos sistemas. Entre stas
podemos destacar las siguientes:

Poseen uno o ms caminos de realimentacin, es decir, una o ms seales


internas o de salida se vuelven a introducir como seales de entradas. Gracias a
esta caracters- tica se garantiza la dependencia de la operacin con la secuencia
anterior.

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

Figura 1.2.- Formas de onda de salida y entrada de un elemento de retraso y de 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.

Figura 1.3.- Modelo clsico de un sistema secuencial.


En ella podemos distinguir tres tipos de seales: seales de entradas, seales de
salida y sea- les de estado. Las seales de entrada y salida tienen el mismo
significado que en los sistemas combinacionales. En cambio, las seales de estado
son aquellas que mantienen la informacin de la historia pasada del sistema. Las
seales de estado tienen dos versiones, segn se conside- ren a la salida o a la
entrada del elemento de memoria:

Si consideramos las seales de estado a la salida de los elementos de


memoria, o lo que es lo mismo, a la entrada del bloque combinacional,
se denominan seales de estado presente ya que nos indica el estado
en el que se encuentra el sistema para rea- lizar una operacin.

Si consideramos las seales de estado a la entrada de los elementos de


memoria, o lo que es lo mismo, a la salida del bloque combinacional,
se denominan seales del prximo estado ya que nos indican el
estado al que llegar despus de que el bloque combinacional haya
realizado la operacin.

Autor: Alberto Molina

3
T

b) Clasificacin de los Sistemas Secuenciales


Uno de los primeros problemas de los circuitos secuenciales era determinar el
momento en el que el prximo estado deba pasar a estado presente, sin capturar
situaciones no deseadas como pueden ser los azares. Este problema es lo que se
conoce como sincronizacin, cuyas soluciones dieron lugar a una de las principales
clasificaciones de los sistemas secuenciales. As podemos dividir los sistemas en
dos categoras:

Sistemas asncronos.- La sincronizacin depende exclusivamente de los retrasos de


la lgica combinacional, sin necesidad de ninguna seal externa al sistema.

Sistemas sncronos.- La sincronizacin depende exclusivamente de una seal


externa al sistema, conocida generalmente como seal de reloj. Esta seal de reloj
controlar el comportamiento de los elementos de memoria.

Las operaciones de un sistema asncrono tienen efecto, es decir, se almacena el prximo


estado, en intervalos temporales diferentes. Por lo tanto, su velocidad de operacin ser distinta
para cada secuencia de entradas. De esta forma se toma como el parmetro de la velocidad de
operacin el valor medio de todas las velocidades. As, la operacin de un sistema asncrono se
denomina operacin del caso medio.
En cambio, las operaciones de un sistema sncrono tienen efecto en el mismo intervalo
temporal, el dictaminado por el periodo de la seal de reloj. Por lo tanto, su velocidad de operacin ser siempre la misma para todas las secuencias de entrada. Esta velocidad debe ser tal que
todas las operaciones tengan el tiempo necesario para poder llevarse a cabo. As, la veloci- dad de
un sistema sncrono (y por tanto la frecuencia de la seal de reloj asociada) debe estar limitada
por la operacin ms lenta. A este tipo de operaciones se le suele denominar opera- cin del caso
peor.
Estos dos tipos de operaciones se muestran esquematizadas en la figura 1.4. Ambos se
pueden modelar de la misma forma, es decir, con una lgica combinacional y realimentaciones a
travs de elementos de memoria. La diferencia radica en el control de estos elementos: en el caso
sncrono, los elementos de memoria son controlados por una seal externa, que por lo general es
controlada directamente por el usuario; mientras que en el caso asncrono, esta seal de control
no existe (por lo que el elemento de memoria se traduce en un elemento de retraso) o en su
defecto dicha seal es generada por el propio circuito, luego el gobierno de las opera- ciones
Autor: Alberto Molina

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.

c) Representacin de los sistemas secuenciales.


De igual forma que existe una representacin de los sistemas combinacionales (mediante
tablas de combinaciones), los sistemas secuenciales tambin tienen sus formas de representacin. stas son algo ms complejas, debido a la dependencia temporal. As, podemos encontrar
las siguientes formas equivalentes, mostradas en la figura 1.5:

Diagrama de estados, es un grafo orientado en el que cada nudo es un estado y


cada transicin indica el cambio, tanto de estado como de salida, respecto a un
cambio en alguna de las seales de entradas.

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.

Las representaciones del ejemplo de la figura podran describirse verbalmente de la siguiente


forma:

Figura 1.4.- Esquematizacin de los casos secuenciales asncronos y sncronos.


Autor: Alberto Molina

5
T

Figura 1.5.- Representacin de los sistemas secuenciales mediante diagramas de estados y

Cuando el sistema est en el estado A y la seal de entrada vale 0,


pasaremos al estado B con un valor de salida igual a 1.

Cuando el sistema est en el estado A y la seal de entrada vale 1,


pasaremos al estado C con un valor de salida igual a 0.

Cuando el sistema est en el estado B y la seal de entrada vale 0, no


cambiaremos de estado pero el valor de salida ser igual a 1.

Cuando el sistema est en el estado B y la seal de entrada vale 1, pasaremos al


estado D con un valor de salida igual a 0.

Cuando el sistema est en el estado C y la seal de entrada vale 0, pasaremos al


estado A con un valor de salida igual a 0.

Cuando el sistema est en el estado C y la seal de entrada vale 1, pasaremos al


estado D con un valor de salida igual a 0.

Cuando el sistema est en el estado D y la seal de entrada vale 0, pasaremos al


estado C con un valor de salida igual a 1.

Cuando el sistema est en el estado D y la seal de entrada vale 1, pasaremos al


estado C con un valor de salida igual a 0.

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.

Autor: Alberto Molina

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:

Figura 1.6.- Representaciones tabulares de los autmatas de Mealy y Moore.

Se deja el mismo alfabeto de entradas y salidas


El alfabeto de estados es el correspondiente al inicial ms los estados a los
que se llega con diferentes valores de salida

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

Autor: Alberto Molina

7
T

En la tabla de estados, se le asigna como salida la correspondiente a la del


prximo estado y se eliminan las filas idnticas.

Ambas transformaciones se muestran en la figura 1.7. En este ejemplo, cuando pasamos de


Moore a Mealy, los estados A, B y D permanecen igual ya que siempre se llega con el mismo
valor de salida. No obstante al estado C se llega con dos valores de salida diferentes, luego
tenemos que aadir tantos estados como valores diferentes de salida presente (en este caso dos).
En la conversin contraria, en el interior de la celda se indica tanto el prximo estado como el
valor de salida al que llega (indicado por la ltima columna de la mquina de Mealy). Una vez
hecho esto, si existiesen filas iguales, solamente nos quedaramos con una de ellas eli- minando
los estados sobrantes.

Figura 1.7.- Conversiones entre mquinas de Mealy y mquinas de Moore.


Por lo tanto, hemos obtenido dos implementaciones que modelan el mismo sistema
secuencial. Luego
Se dice que dos sistemas secuenciales son equivalentes cuando generan la misma
secuencia de salida para la misma secuencia de entrada, con inde- pendencia de cmo
sea sta.

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.

Autor: Alberto Molina

8
T

Figura 1.8.- Equivalencia entre dos mquinas secuenciales.

d) Aplicaciones de sistemas secuenciales.


Como ya hemos comentado, los sistemas secuenciales forman un conjunto de circuitos muy
importantes en la vida cotidiana. En cualquier elemento que sea necesario almacenar algn
parmetro, es necesario un sistema secuencial. As, cualquier elemento de programacin (o lo que
es lo mismo, con ms de una funcin) necesita un sistema secuencial.
A modo de ejemplo, expondremos el caso de una mquina de refrescos. En esta mquina
iremos introduciendo monedas hasta alcanzar o sobrepasar el valor del refresco que deseamos
sacar. Por lo tanto, en este sistema se debe almacenar una serie de datos, como pueden ser:

Los precios de los productos ofertados.

Estado de existencia de los mismos.

Cantidad de dinero que hayamos introducido en la mquina hasta el momento.

As, vemos que es necesario almacenar temporalmente una serie de datos, por lo que nos
encontramos ante un sistema secuencial.

Autor: Alberto Molina

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

Un contador mdulo-k, tiene k estados, y estos se pueden implementar con n biestables,


existiendo una relacin entre k y n determinada por la expresin:
2n-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

Autor: Alberto Molina

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.

2.1 CONTADORES SNCRONOS


Un contador tiene que estar formado internamente por biestables, cada uno de los cuales dispone de su
entrada de reloj. Un contador sncrono es un circuito cuyos biestables internos son disparados por flanco
y todos reciben la misma seal de reloj. Un contador sncrono, pues, cumple con las condiciones de una
mquina secuencial sncrona.
Se puede determinar su estructura interna de dos formas distintas:

1) Se obtiene el diagrama de estados correspondiente y a partir de este el circuito.


2) Usando un procedimiento no sistemtico, pero que se utiliza frecuentemente en la sntesis de
circuitos complejos.
Se deja al estudiante que obtenga la estructura interna del contador usando el apartado 1) y aqu se
describir la 2).
Si analizamos las ondas obtenidas para el contador mdulo-8 observamos que: O0: cambia
de valor con cada suceso de entrada (1 ciclo de clk)
O1: cambia de valor con cada suceso de O0 (1 ciclo de O0)
O2: cambia de valor con cada suceso de O1 (1 ciclo de O1) En
particular
O0: cambia de valor con cada flanco de bajada de clk
O1: cambia de valor en los flancos de bajada de clk si O0=1
O2: cambia de valor en los flancos de bajada de clk si O0= O1=1
Si se hace corresponder la salida Oi del contador con el valor qi del biestable interno, se tiene que el
biestable q0 debe cambiar de valor 0,1,0,1... en cada flanco de bajada de clk; el biestable q1 debe cambiar
de estado en el flanco de bajada de clk si q0 es igual a 1, en caso contrario, q1 mantiene su valor; y el
biestable q2 debe cambiar de estado si q1 = q2 =1, y en caso contrario mantiene su valor.
Esta descripcin nos hace pensar que el tipo de biestable que mejor encaja para el diseo de los
contadores es el biestable T, ya que este, si su entrada es 0, provoca que el biestable no cambie de valor y
si su entrada es 1, provoca el cambio del valor almacenado.
Por tanto, si usamos biestables tipo T, tenemos que T0 = 1
T1= q0
T2= q1 q0
En general, si diseamos un contador de n bits, la expresin de la entrada del biestable j (donde
j=1,2,3..n-1) sera
Autor: Alberto Molina

1
1

Tj= q0 q1.. qj-1


En las siguientes figuras se muestran dos posibles diseos para la estructura de un contador sncrono de n
bits
qn-2
q1
q0

&
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.

Autor: Alberto Molina

1
2

A continuacin se estudiar cmo se implementan en el contador estas funciones.


Clear o Reset asncrono
De forma general diremos que todas las lneas de control que operen de modo asncrono lo hacen usando
las entradas asncronas de los biestables. El contador est formado por biestables tipo T. Supongamos
que estos tienen entradas de Cl y Pr. Implementar un Clear asncrono en el contador es equivalente a
unir dicha entrada de Clear a todas las entradas Cl de los biestables que forman parte del contador. De
esta manera, cuando clear se active, todos los biestables se ponen a cero de forma asncrona y por
consiguiente el contador pasa al estado de cuenta 0. En la siguiente figura se ha representado la
estructura de la celda i de un contador de n bits, y la posible respuesta funcional de la salida del mismo
para la situacin de activacin de la lnea Clear, que este caso es activa en baja.

Se observa en el cronograma que la salida se pone a 0 inmediatamente despus de la activacin de la


lnea de Clear (segundo ciclo de reloj) y se mantiene as hasta que Clear vuelva a valer 1 (cuarto ciclo de
reloj), a partir del cual, el contador vuelve a inciar su ritmo de cuenta.

Clear o Reset sncrono


En el clear o reset sncrono no se utilizan las entradas asncronas de los biestables. Se trata en este caso
de introducir por la entrada T de cada uno de los biestables el valor adecuado para que cuando se reciba
un flanco activo en clk, cada uno de los biestables se ponga a 0. Hay que tener presente que el contador
debe incrementarse cuando no se active el Clear, por lo que las entradas T deben tener los valores ya
determinados en el incio del apartado.
Autor: Alberto Molina
1
3

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)

En el siguiente cronograma se ve claramente el funcionamiento del clear sncrono, el cual no se produce


realmente hasta la recepcin de un flanco activo en clk.
clk
Clear

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.

Autor: Alberto Molina

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

La forma ms habitual de implementar la funcin de inhibicin es la que se describir a continuacin y


que suele denominarse
como sncrona. Aqu
&
& suponemos que la seal de reloj del contador llega, sin
obstculos, a todos los biestables que lo forman. Por tanto, se trata, ahora, de determinar qu deben tener
q1
las entradas
Ti de los biestables
el estado de cuenta. Que el contador
q2 del contador para que este mantenga
qn-1
T1
T2
n-1
mantega su valor de cuenta
es equivalente a que cada Tuno
de los biestables que lo forman mantengan su
bit cuando INH est activo. Evidentemente la solucin es simple, Ti =0 si INH est activa. La siguiente
figura muestra la estructura de la celda bsica de un contador que ha implementado este tipo de inhibicin
cuando esta es activa en bajo.
Como se aprecia en la figura, si INH=1, la entrada Ti se corresponder con otras funciones a realizar por
el biestable, clear, cuenta,...

00
Otra
funciones

Cli
1

Ti

qi

INH
Oi

En la siguiente figura se representa el cronograma para la inhibicin sncrona.

Autor: Alberto Molina

1
6

clk
INH

Salida

2.1.3 LOAD (CARGA EN PARALELO)


En determinadas aplicaciones es interesante cargar al contador con un valor de cuenta inicial. Esto se
consigue con la lnea de Load. Evidentemente el contador debe de disponer de algunas lneas de entrada
adicionales por las que se introduce el dato a cargar, en caso de que se proceda con esta operacin. Existen
tantas lneas de datos como bits tenga el contador. Cada lnea de datos contiene un bit del dato que ser
cargado en un biestable del contador. La lnea de Load puede ser activa en alta o en baja y tiene dos modos
de funcionamiento, asncrono y sncrono.

Autor: Alberto Molina

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

La siguiente figura ilustra el funcionamiento de un contador que ha implementado la operacin de Load


asncrono. Como se observa, en el momento que se activa Load, se produce la carga del dato, simbolizado
como el nmero N.
clk
Load

Salida

Autor: Alberto Molina

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

En la siguiente figura se muestra un cronograma donde se observa el funcionamiento de este tipo de


operacin.
clk
Load

Salida

Autor: Alberto Molina

N+1

N+2

N+3

19

2.1.4 CONTADORES REVERSIBLES (UP/DOWN)


Los contadores estudiados hasta ahora slo tienen capacidad de cuenta ascendente, existen otros que
tienen capacidad de cuenta descendente o incluso ambas (ascendente y descendente). Estos ltimos son los
contadores reversibles. En primer lugar se determinar la estructura de un contador descendente, y
posteriormente se unir con la del ascendente, introduciendo la seal de control UP/DOWN, que controla
el sentido de la cuenta
La siguiente figura muestra la salida de un contador descendente de mdulo 8.
clk
7

O0
O1 O2

PROCEDEMOS DE FORMA SIMILAR AL ASCENDENTE.


O0 cambia de valor en cada ciclo de reloj. T0=1;
O1 cambia en los flancos de bajada de clk si O0=0, en caso contrario no. Esto implica que T1= q0
O2cambia en los flancos de bajada de clk si O0=0 y O1=0, en caso contrario no. Esto implica que T2= q1
q0.
Si en lugar de un contador mdulo 8, disponemos de un contador de n bits, la expresin de la entrada de
cualquier biestables de dicho contador sera
Ti= q0 q1.. qi-1 (i=1, 2...,n-1)
Se puede comprobar que la expresin es muy similar a la del ascendente salvo que aqu, los trminos van
complementados.
De forma equivalente, la expresin anterior se puede escribir como Ti = qi-1
Ti-1
Autor: Alberto Molina

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

Y el circuito de la etapa i se muestra en la siguiente figura

2.1.5 LNEAS DE CARRY Y BORROW


Son salidas del contador que informan de la llegada al ltimo estado de cuenta del mismo. Para contadores
ascendentes, se usa la salida Carry(CY) y para descendentes Borrow(Bw). La salida CY se pone a 1 cuando
el contador ascendente alcanza su estado de cuenta ms alto. Por ejemplo, si el contador es de mdulo 8 la
salida CY se pone a 1 cuando el contador llega al estado 7 ( ver la siguiente figura).
clk
Salida

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)

Autor: Alberto Molina

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)

2.2 CONTADORES ASNCRONOS


Otro diseo alternativo al contador mdulo 8 del prncipio del apartado 2.1 es el que se muestra en la
siguiente figura.
clk
0

O0
O1 O2

O2

Segn se desprende de las formas de onda de salida del contador:

Autor: Alberto Molina

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
&

funcionamiento asncrono (ya descrito en el apartado anterior).

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.

Con clear sncrono (activo en bajo)


Aqu se plantea disear un circuito combinacional que en funcin del estado de cuenta del contador
mdulo 16 active la seal de clear. Como esta es sncrona, debe activarse en el estado de cuenta 9, para
que el prximo estado, en el siguiente flanco activo de clk, sea 0.

Por tanto Cl= (O3 O0)

En la siguiente figura se muestra un cronograma donde se aprecia el funcionamiento del conjunto


contador-puerta. Se observa que en el estado de cuenta 9, la seal de Cl se pone a 0, lo que obliga a que
el contador se ponga a 0 en el siguiente ciclo de reloj.
Autor: Alberto Molina
24

clk
Salida

Cl

Con clear asncrono (activo en bajo)


El procedimiento con el clear asncrono es similar que con el sncrono, salvo que este caso la seal de
clear debe activarse en el estado de cuenta 10. Una vez que el circuito combinacional detecta la
llegada de este estado, activa la seal de clear, lo que provoca que inmediatamente el contador se
ponga a cero (sin esperar el flanco activo de clk).

Por tanto Cl = (O3 O1)


La siguiente figura muestra un cronograma del funcionamiento de este contador, donde se ve que el
estado de cuenta 10 aparece durante un tiempo pequeo, el necesario para la ejecucin de la
operacin Clear.
clk
Salida

100

Cl

2.4 CONTADORES DE ANILLO Y CONMUTADO EN COLA


La siguiente figura muestra la estructura de un contador en anillo de mdulo-4. Este est constituido
por 4 biestables, conectados entre s de modo que la salida de uno es la entrada del siguiente y as
sucesivamente hasta llegar al ltimo biestable, cuya salida se reintroduce por la entrada del primero.
Esto da idea del nombre de contador en anillo. En este contador, el estado de cuenta j, viene
determinado por un 1 en la salida Oj.
Autor: Alberto Molina

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

En el ciclo de reloj posterior a la inicializacin, el biestable 1 captura el 1 que tiene el biestable 0,


mientras que este, junto con los biestables 2 y 3, se ponen a cero. En el siguiente ciclo, el biestable 2
captura el 1, los restantes estn a cero, y as sucesivamente. En definitiva, existe un nico 1 que en cada
ciclo de reloj va pasando de un biestable a otro del contador.
Una modificacin al contador anterior, la constituye el anillo de Johnson o conmutado en cola, el cual
permite un nmero mayor de estados. En concreto, si este nuevo contador tiene n biestables, el nmero
de estados de cuenta es de 2*n. Sin embargo, este contador, a diferencia del de anillo, no muestra de
forma evidente el estado de cuenta. La siguiente figura muestra la estructura de un contador de anillo
conmutado en cola o contador de Johnson.

Autor: Alberto Molina

26

Son dos las diferencias con el contador en anillo:

2) La inicializacin. Todos los biestables del contador se inicializan con 0


3) Las entrada de cada biestable est conectada con la salida del biestable anterior, salvo el primero,
cuya entrada es la salida complementada del ltimo biestable, el que est en la cola. (De ah el
nombre de conmutado en cola)
Las salidas de este contador se muestran en la siguiente figura. Si inicialmente todos los biestables estn a
cero, en el siguiente ciclo de reloj, el biestable 0, se carga con un 1, ya que su entrada es el complemento
del contenido del biestable situado en cola. En el siguiente ciclo de reloj este 1 pasa al biestable 1,
mientras que el biestable 0 sigue cargndose con un 1 (mientras que q3=0). Este proceso se repite hasta
que por fin, todos los biestables estn a 1. En el siguiente ciclo de reloj, el biestable 0 se carga con un 0
(al ser q3=1). A continuacin este cero pasa al biestable 1, en el siguiente ciclo de reloj, mientras que el
biestable 0 sigue cargndose con un 0. Esto se va repitiendo hasta que finalmente todos los biestables se
encuentran a 0, el punto de partida. A partir de aqu se repite toda la secuencia. Se ve claramente, que
todos los estados posibles son 8, justamente el doble del nmero de biestables.
In
it
cl
k
O
0

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)

registros con entrada serie y salida paralelo


registros con entrada paralelo y salida serie
registros con entrada paralelo y salida paralelo.
Si disponemos de un registro de n bits, diremos que si este tiene entrada serie, entonces el registro slo
tiene una lnea de entrada de datos por la que, uno tras otro, se introducen los n bits que sern
almacenados por el registro. Si un registro de n bits se dice que tiene entrada paralelo, entonces dicho
registro dispone de n lneas de entrada, una por cada bit, por la que se introducen simultneamente los n
bits al registro. Estos conceptos de entrada serie y entrada paralelo son igualmente aplicables para la
salida serie y salida paralelo. Un registro de n bits tiene salida serie, implica que tiene una nica lnea de
salida por la que, uno tras otro, van saliendo los n bits almacenados en el registro. Si un registro de n bits
tiene salida paralelo, implica que dispone de n salidas, una por cada bit, de forma que simultneamente se
leen todos los bits del registro.
Todos los registros que tengan algn modo de funcionamiento serie para lectura o para escritura se
denominan registros de desplazamiento (Shift registers). Podemos encontrar dos tipos de registros de
desplazamiento en funcin del sentido de movimiento de los bits: izquierda o derecha.

3.1. Registro de entrada serie y salida serie


La estructura bsica de un registro de 4 bits de entrada serie y salida serie se muestra en la siguiente
figura.

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.

Autor: Alberto Molina

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.

Autor: Alberto Molina

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.

3.2REGISTRO CON ENTRADA SERIE Y SALIDA PARALELO


La siguiente figura muestra la estructura bsica de un registro de entrada serie y salida
paralelo de 4 bits. Al igual que en el apartado anterior, este es un registro de
desplazamiento a derecha

Entrada
serie

D3

q3

D2

q2

D1

q1

D0

q0

clk
O3

O2
Salida paralelo

O1

O0

El procedimiento de escritura es el mismo que el descrito en el apartado anterior. En


cuanto a la lectura, se hace evidente que el registro no depende de la seal de reloj para
mostrar su contenido, este siempre aparece en las lneas de salida.

Autor: Alberto Molina

30

3.3REGISTRO CON ENTRADA PARALELO Y SALIDA SERIE.


La siguiente figura ilustra la estructura bsica de un registro de estas caractersticas.

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.

Autor: Alberto Molina

31

3.4. Registro con entrada paralela y salida paralelo.


La siguiente figura ilustra la estructura de un registro con entrada y salida en paralelo de 4 bits.

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.

3.5 Registro Universal


Un registro universal es aquel que tiene todas las formas de lectura y escritura posibles (tanto en serie
como en paralelo)
Ejemplo.: Disear un registro universal de 4 bits que tenga las siguientes operaciones: desplazamiento a
la derecha, desplazamiento a la izquierda, carga en paralelo y clear.
De las cuatro operaciones anteriores, las de desplazamiento a derecha y a izquierda, forzosamente tienen
que ser sncronas. La carga y el clear pueden ser sncronas o asncronas. Supongamos que clear es
asncrono y la carga es sncrona. Tenemos un total de 4 operaciones a realizar ms la de NOP (no operate)
o inhibicin que debe estar presente en cualquier diseo de registro ya que esta es la equivalente a
mantener la informacin. Est claro que para implementar la operacin asncrona se necesita que los
cuatro biestables que forman parte del registro tengan entradas asncronas, en este caso de Cl, la cual se
Autor: Alberto Molina
32

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

Para que no pierdan la informacin


Si S1 S0=11. Desplazamiento a la izquierda, las entradas de los biestables deben ser D3= q2
D2= q1
D1= q0
D0=Lin
Y la salida Lout est formada por q3
En cualquier caso, las salidasO3-0 son los valores de los biestables q3-0 En general podemos decir que:
D3= S1S0Rin + S1S0 B3 + S1 S0q3 + S1 S0 q2
D2= S1S0 q3 + S1S0 B2 + S1 S0 q2 + S1 S0 q1
D1= S1S0 q2 + S1S0 B1 + S1 S0 q1 + S1 S0 q0
D0= S1S0 q1 + S1S0 B0 + S1 S0 q0 + S1 S0 Lin

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)

Autor: Alberto Molina

34

Potrebbero piacerti anche