Asignatura: Sistemas Digitales II
Curso: 6° Informática
Profesora: Dora F. Aguerre
TEMA - 3
LÓGICA SECUENCIAL.
REGISTROS DE DESPLAZAMIENTO
1.- Introducción.
Hemos visto que en la
lógica combinacional las salidas están determinadas sólo por los estados
existentes en las entradas. En la lógica secuencial sin embargo, las
salidas están determinadas no sólo por las entradas sino también por la
secuencia de entradas que condujeron al estado existente, las que precedieron.
En otras palabras el circuito posee memoria.
La Figura 3-1 muestra
un sistema secuencial general, la salida en cualquier momento está determinada
por las entradas presentes y por la información almacenada en los elementos de
memoria. La información almacenada en la memoria determina el estado del circuito. La
mayoría de los sistemas digitales requieren la función de almacenamiento, cuyo
objetivo es mantener los datos binarios durante un periodo de tiempo. Algunos
dispositivos de almacenamiento se usan para almacenamiento temporal y otros
para almacenamiento permanente y pueden memorizar un bit o un grupo de bits.
Algunos tipos comunes
de dispositivos de almacenamiento son: flip-flops, registros, memorias
semiconductoras, discos magnéticos, cintas magnéticas y discos ópticos. En este
capítulo estudiaremos los circuitos biestables (flip-flops, latches y
registros) y el tema 5 describiremos los tipos de memorias semiconductoras.
El flip-flop1 es un
circuito lógico biestable, es decir posee dos estados estables, denominados SET
(‘1’ o activación) y RESET (‘0’ o desactivación), en los cuales se puede
mantener indefinidamente, lo que permite el almacenamiento de un bit. Los
flip-flops se implementan con puertas lógicas y son los bloques básicos de
construcción de contadores, registros y otros circuitos de control secuencial.
También se emplean en ciertos tipos de memorias.
Un registro se forma
combinando varios flip-flops de manera que se puedan almacenar grupos de bits.
Por ejemplo un registro de 8 bits se construye a partir de 8 flip-flops. Además
de almacenar bits los registros se pueden emplear para desplazar los bits de
una posición a otra dentro del propio registro o fuera del mismo. Estos
dispositivos reciben el nombre de registros de desplazamiento y los veremos en
secciones posteriores.
Los circuitos
secuenciales se pueden dividir en síncronos y asíncronos.
1. Síncronos: las
entradas, salidas y los estados internos se muestrean en instantes de tiempo
definidos que son controlados por una señal de reloj.
2. Asíncronos: los
circuitos responden a cambios en las entradas que se pueden producir en
cualquier momento.
2. Biestables sensibles por nivel o latches.
El latch es un tipo de
dispositivo de almacenamiento temporal de dos estados (biestable).
2.1.- Biestable R-S con puertas NOR.
El latch R-S (Reset-Set)
con entrada activa a nivel alto es un tipo de dispositivo lógico biestable con
dos salidas Q Q (una la complementaria de la otra), compuesto de dos puertas
NOR acopladas tal y como muestra la Figura 3-2. Se puede observar que la salida
de cada puerta NOR se conecta a la entrada de la puerta opuesta.
El funcionamiento del
latch R-S con entrada activa a nivel alto se deriva del comportamiento de la
puerta NOR (ver tabla de verdad de la figura 3-2). Si una de las entradas de
una puerta NOR (de dos entradas) se mantiene a ‘0’ la salida será la inversa de
la otra entrada. En consecuencia si en
el latch R y S son ‘0’, la salida del circuito se mantendrá en el estado en el
estuviera (ver tabla de verdad del latch en la figura 3-2). Si la entrada R del
latch se pone a ‘1’ mientras que la entrada S permanece a ‘0’, la salida Q se
pondrá a ‘0’ sin importar su estado previo (en una puerta NOR en cuanto hay una
entrada a ‘1’ la salida es ‘0‘) y a su vez la salida negada, Q se pondrá a ‘1‘,
el latch pasará al estado de Reset. Si ahora R vuelve a ‘0’ el circuito entrará
de nuevo en su modo de memoria. De manera similar si S se lleva a ‘1’ mientras
R permanece a ‘0’, entonces la salida negada Q se pondrá a ‘0’, con lo que la
salida Q se colocará a ‘1’. En resumen el funcionamiento del latch es el
siguiente:
•
La entrada R activa (‘1’) realiza un RESET del latch (pone la salida a ‘0’).
•
La entrada S activa (‘1’) realiza un SET del latch (pone la salida a ‘1’ ).
•
Si las entradas están desactivadas (R=0 y S=0) la salida del latch no
cambia (Qn=Qn-1).
•
Si se activan las dos entradas (R=1 y S=1) el circuito no funciona
correctamente (Q=0 y
Q =0).
2.2.- Biestable R-S con puertas NAND.
El latch R-S
(Reset-Set) con entrada activa a nivel bajo es un tipo de dispositivo lógico
biestable compuesto de dos puertas NAND acopladas tal y como muestra la Figura
3-4.
2.3.- Latch R-S con entrada de habilitación.
A menudo resulta de
utilidad poder controlar el funcionamiento del latch de manera que las entradas
se puedan activar en unos instantes determinados. El diagrama y el símbolo
lógico de un latch con entrada de habilitación se muestra en la Figura 3-6. Las
entradas S y R controlan el estado al que va a cambiar el latch cuando se
aplica un ‘1’ en la entrada de habitación (E, enable). El latch no cambiará de
estado hasta que la entrada E esté a nivel alto. Esta tercera entrada (E)
permite habilitar o inhibir las acciones del resto de entradas.
Cuando la señal de
habilitación E esté a nivel bajo, las señales S y R estarán
a nivel alto sin importar el valor de las entradas R y S. Esto coloca al latch
en su modo de emoria, evitando que la
salida cambie de estado. Cuando se activa la entrada de habilitación, las señales
R y S se invierten y se aplican al latch S - R ,
es decir, el circuito actúa como un latch R-S con entrada activa a nivel alto.
La tabla de verdad se puede apreciar en la Figura 3-6.
2.4.- Latch D con entrada de habilitación.
Existe otro tipo de
latch con entrada de habilitación que se denomina latch D. Se diferencia del
latch S-R en que sólo tiene una entrada (D), además de la de habilitación (E).
La figura 3-7 muestra el diagrama, el símbolo lógico y la tabla de verdad de
este tipo de latch.
Al igual que antes,
cuando la entrada de habilitación E está a nivel bajo las señales S y
R estarán
a nivel alto y la salida del circuito no variará (modo memoria). Si la
habilitación está activa, la entrada D determina el valor de las señales S y
R .
Si D es ‘1’ S
será ‘0’ y R ‘1’, lo que realizará el SET
del circuito (Q=’1’) . Si D es ‘0’ S será ‘1’ y R ‘0’,
lo que pondrá el circuito a RESET (Q=’0’).
En resumen cuando la
habilitación (E) está activa la salida Q toma el valor de la entrada D, y
cuando está desactiva, la salida permanece en su estado anterior.
3.- Biestables disparados por flancos o flip-flops.
En muchas situaciones
es necesario sincronizar el funcionamiento de muchos circuitos diferentes y
resulta de utilidad poder controlar el momento en el que un circuito cambiará
de estado.
Algunos biestables
están construidos de manera que sólo cambian de estado ante la aplicación de
una señal de disparo, en concreto ante el flanco de bajada o de subida de una señal
de entrada llamada reloj
(CLK). Estos biestables reciben el nombre de biestables disparados
por flanco, o más comúnmente flip-flops.
Los flip-flops son
dispositivos síncronos. El término síncrono significa que la salida cambia de
estado únicamente en un instante específico de una entrada de disparo (reloj),
es decir, los cambios en la salida se producen sincronizadamente con el reloj.
Podemos encontrar dos
tipos de flip-flops:
1. Los que son
disparados por el flanco
de subida de la señal de reloj.
2. Los que son
disparados por el flanco
de bajada de la señal de reloj.
3.1.- Flip-flops S-R disparado por flanco.
Se asemeja al latch R-S
excepto en que el circuito sólo responde a sus entradas en el flanco ascendente
o descendente de la señal de reloj. Los símbolos gráficos (figura 3-7) se asemejan
a los de los latches con entrada de habilitación, excepto en que esta última
entrada se reemplaza por una entrada de reloj.
En ausencia de la
transición de reloj el flip-flop permanece en su modo de memoria, como se
aprecia en el diagrama de la Figura 3-8, correspondiente a un flip-flop
disparado con flanco de subida.
El funcionamiento de un flip-flop R-S activado por flanco descendente es, por supuesto, idéntico, excepto que el disparo tiene lugar en el flanco de bajada de la señal de reloj (cuando cambia de ‘1’ a ‘0’).
3.2.- Flip-flop D disparado por flanco.
Su comportamiento es
similar al del latch D descrito con anterioridad, la salida del flipflop tipo D
se igualará a la entrada en el instante en el que se produzca el flanco
ascendente o descendente (según el tipo de flip-flop) de la señal de reloj
(CLK). En la Figura 3-9 se observa el símbolo lógico y la tabla de verdad de un
flip-flop tipo D disparado por flanco ascendente.
El flip-flop J-K se
comporta como el flip-flop R-S a excepción de que resuelve el problema de tener
una salida indeterminada cuando las entradas se encuentran activas a la vez. La
entrada J es la equivalente a la entrada S de un flip-flop R-S y la entrada K,
al equivalente a la entrada R. En este dispositivo cuando las dos entradas se
colocan a nivel alto la salida cambia al estado opuesto al que se encontraba. A
este modo de funcionamiento se le denomina modo de basculación.
La tabla de transición
muestra las características de un flip-flop J-K disparado por flanco ascendente.
El flip-flop J-K es uno
de los flip-flops más ampliamente utilizados.
3.4.- Flip-flop T.
Existe otro tipo de
flip-flop con una única entrada (T). El comportamiento de un flip-flop tipo T
es equivalente al de un flip-flop tipo J-K con sus entradas J y K unidas. De
este modo, si la entrada T presenta un nivel bajo ‘0’ el dispositivo está en su
modo de memoria, y si al entrada T se encuentra a nivel alto ‘1’ el dispositivo
cambia de estado, es decir la salida bascula. En la Figura 3-12 se aprecia este
comportamiento y el símbolo lógico.
3.5.- Flip-flops
maestro/esclavo.
En muchos sistemas
digitales es necesario sincronizar el funcionamiento de un gran número de
circuitos con una sola señal de reloj. En la Figura 3-13 se muestra un ejemplo
en el que la salida de un flip-flop se une a la entrada de otro y se
sincronizan ambos con la misma señal de reloj..
Para analizar el
comportamiento del circuito supondremos que inicialmente la salida de los dos
flip-flops están a ‘0’. Si aplicamos al primer flip-flop un nivel alto en la
entrada J y un nivel bajo en la entrada K y al segundo flip-flop la salida de
primero y un nivel bajo en su entrada K observamos en las formas de onda que el
funcionamiento del circuito es incierto. Si el segundo flip-flop responde con
rapidez a la señal de reloj, quizá responda antes de que cambie el primer
dispositivo, en este caso verá un ‘0’ a la entrada y la salida no cambiará. Sin
embargo, si la respuesta del segundo flip-flop es lenta, el primer dispositivo
habrá tenido tiempo de cambiar y el segundo flip-flop verá un ‘1’ en su
entrada, con lo que pondrá a ‘1’ su salida.
Este problema se puede
resolver mediante el uso de flip-flops
maestro/esclavo, que no son más que biestables conectados
en serie. Este tipo de flip-flop lo podemos encontrar para los modelos R-S, D y
J-K. A continuación se describe el funcionamiento de un flipo-flop R-S maestro/esclavo.
El flip-flop S-R
maestro/esclavo básico se muestra en la Figura 3-14. El circuito representa dos
biestables S-R con entrada de habilitación conectados en serie, en los que la entrada
de reloj se usa para habilitar cada uno.
Cuando la señal de
entrada de reloj pasa a nivel alto, se habilita el maestro y se deshabilita el
esclavo. El maestro se comporta como un latch con entrada de habilitación R-S, y
el esclavo como no está habilitado continua en su estado previo, las salidas no
cambian. Cuando el reloj se hace ‘0’, el maestro se deshabilita y mantiene su
estado previo. El esclavo está ahora habilitado y responde a sus entradas. Como
la salida Q’ del maestro está conectada a la entrada S’ del esclavo y la salida
Q' del maestro está
conectada a la entrada R’ del esclavo, este siempre verá un ‘1’ en una entrada
y un ‘0’ en la otra. Si la salida Q del maestro es ‘1’, el esclavo estará en el
estado SET y si es ‘0’, estará en el estado RESET. Por tanto, cuando el esclavo
está habilitado toma el estado de salida del maestro.
La tabla de verdad de
un flip-flop R-S maestro esclavo es la misma que la de los flipflops R-S
disparado por flanco, excepto en la manera en que se sincroniza con la señal de
reloj. El dispositivo responde a sus entradas mientras el reloj está alto, pero
las salidas no se actualizan hasta que el reloj se hace bajo (Figura 3-15), es
decir, el dispositivo maestro/esclavo responde al final del pulso de entrada de
reloj, en lugar de hacerlo en el flanco ascendente o descendente. La tabla de
verdad y el símbolo lógico se muestran en al Figura 3-15.
Si volvemos a analizar
el problema anterior en la conexión de dos biestables, sincronizados con la
misma entrada de reloj, el circuito sería el de la Figura 3-16.
Al igual que antes el
primer flip-flop responde al pulso de reloj que entra, pero esta vez la salida
cambia en el flanco descendente del pulso. La entrada S2 del segundo flip-flop es ‘0’ mientras el
reloj está a nivel alto, y por lo tanto el circuito permanece en su estado de
memoria.
Después del primer
pulso de reloj la salida Q1 se
pone a nivel alto ‘1’ y con ella la entrada S2.
Entonces cuando termine el segundo pulso de reloj la salida del segundo
flip-flop se pondrá a nivel alto.
4.- Entradas asíncronas de inicialización y borrado.
Las entradas de los
diversos flip-flops, es decir, R, S, J, K, D y T, sólo tienen efecto en el momento
de una transición apropiada de la señal de reloj (CLK). Por tanto, nos
referimos a estas entradas de control como síncronas, pues su funcionamiento está
sincronizado con la entrada de reloj.
En muchas aplicaciones
resulta útil poner la salida de un flip-flop a ’0’ o a ‘1’ en cualquier
momento, independientemente del reloj. Por tanto, algunos dispositivos tienen entradas
adicionales para efectuar estas funciones. Estas reciben el nombre de entradas asíncronas pues
no están controladas por el estado del reloj. Entre ellas se encuentran la
entrada PRESENT (PRE), que cuando se active colocará la salida a nivel alto
(Q=’1’) y la entrada CLEAR (CLR) que cuando se active llevará a la salida a nivel
bajo(Q= ‘0’). Como ocurre con el resto de entradas éstas pueden ser activas a
nivel alto o a nivel bajo (lo normal). Las entradas PRESET y CLEAR pueden
anular las otras entradas al circuito. Es necesario asegurarse de que ambas
entradas asíncronas no están activas simultáneamente.
En la Figura 3-17 se
muestra el circuito correspondiente a las entradas asíncronas de PRESET y CLEAR
y el símbolo lógico, en el caso de un flip-flop J-K.
5.- Registros de desplazamiento.
Los registros de
desplazamiento están formados por un conjunto de flip-flops, y son muy importantes
en las aplicaciones que precisan almacenar y transferir datos dentro de un
sistema digital.
Un registro es un
circuito digital con dos funciones básicas, almacenamiento y movimiento de
datos. Se diferencian de las memorias (tema 5), en que el tiempo de almacenamiento
es menor. La capacidad de desplazamiento de un registro es la que permite el movimiento
de los datos de una etapa a otra dentro del registro.
Los dos tipos de
registros de desplazamiento son serie y paralelo. En un registro paralelo los
bits se almacenan simultáneamente a partir de líneas paralelas, mientras que en
un registro de desplazamiento serie, los bits se almacenan de uno a uno.
Estos dos tipos se
emplean, entre otras cosas, para transformar (Figura 3-18) palabras
de información en
paralelo a una sucesión de bits sobre una línea, es decir, datos serie (registro
de desplazamiento paralelo-serie), o una sucesión de datos en serie en una
palabra de datos en paralelo (registro de desplazamiento serie- paralelo).
Un registro de
desplazamiento que permite almacenar temporalmente n bits estará
formado por n biestables.