Está en la página 1de 29

INTRODUCCIÓN A LOS

SISTEMAS DIGITALES II

APUNTES UNIDAD N° 3
CIRCUITOS SECUENCIALES

AÑO 2013

Ing. Eduardo Hoesé


Introducción a los Sistemas Digitales II

Unidad N° 3
Circuitos Secuenciales

1. Introducción
En un circuito lógico combinacional la o las salidas son estrictamente dependientes del valor
presente de las señales de entrada; cualquier condición anterior que haya tenido el valor de las entradas no
tendrá ningún efecto sobre las salidas actuales debido a que los circuitos lógicos combinacionales no tienen
memoria.
Un circuito lógico es secuencial cuando las salidas no sólo dependen de las entradas sino también de
la “historia” del circuito. Estos circuitos son capaces de memorizar el valor o estado de las entradas en un
cierto instante de tiempo y convertirlo en un estado interno del propio circuito para posteriormente utilizar
esta información junto con el próximo valor adoptado por las entradas para determinar el valor a adoptar por
las salidas. Surge así el concepto de “estado” propio de estos circuitos con memoria.
En la figura 3-1 se muestra un diagrama en bloques general de un circuito lógico secuencial. El
diagrama consiste en un circuito combinacional al cual se le conectan elementos de memoria para conformar
un camino de retroalimentación. La parte combinacional del circuito recibe dos juegos de señales de entrada:
las “entradas primarias” o entradas externas provenientes del entorno circuital (salidas de otros circuitos) y
las “entradas secundarias” provenientes de los elementos de memoria.

ELEMENTOS DE
MEMORIA
ENTRADAS
SALIDAS
SECUNDARIAS
SECUNDARIAS
(variables de estado)

CICUITO LÓGICO
COMBINACIONAL
ENTRADAS SALIDAS
PRIMARIAS PRIMARIAS

Figura 3-1 Diagrama en bloques general de un circuito lógico secuencial.

A las señales de entrada secundarias provenientes de los elementos de memoria se les llama
“variables de estado” y la combinación de valores lógicos que adoptan estas variables en un determinado
momento es el “estado presente” del circuito.
El diagrama de bloques muestra entonces que las salidas externas de un circuito secuencial son
función no solamente de las entradas externas o primarias sino también del estado presente de los elementos
de memoria. El “próximo estado” de los elementos de memoria es también una función de las entradas
externas y del estado presente. Por lo tanto, el comportamiento de un circuito secuencial estará especificado
por la evolución temporal de sus entradas, salidas y estados internos. A esta evolución temporal de las
señales también se las denomina como “secuencia temporal” o “timing” en inglés.

45
Introducción a los Sistemas Digitales II

2. Biestables
El biestable o también llamado Flip - Flop (FF) es un circuito secuencial que posee una sola variable
de estado X, por lo que tiene dos estados internos posibles, una o dos entradas externas y dos salidas Q y P.
La salida Q toma el valor de la variable de estado (Q = X) y la otra salida toma el valor de la variable de
estado negada o invertida (P = X’ = Q’). Así vemos que las dos salidas siempre son opuestas entre sí, por lo
que, por simplificación, siempre nos referiremos a la salida Q a la cual suele denominársele salida normal del
FF. Como su nombre lo indica, el biestable es un circuito cuya salida Q puede adoptar uno de dos estados en
forma estable. En la figura 3-2 se muestra el diagrama en bloques general de un biestable o FF.

Figura 3-2 Diagrama en bloques general


de un biestable o FF

Así como las compuertas lógicas son los componentes fundamentales para la construcción de
cualquier circuito lógico combinacional, los biestables o FF son los componentes fundamentales o ladrillos
básicos para la construcción de cualquier circuito secuencial.
El principio básico de funcionamiento de cualquier biestable se basa en el comportamiento de un
circuito constituido por dos negadores o compuertas NOT montados en oposición tal como se muestra en la
figura 3-3.

1 0 0 1
1 2 1 2
Figura 3-3 Circuito que muestra el principio básico de 0 1 1 0
funcionamiento de cualquier biestable o FF
(a) (b)

En la figura 3-3 (a) se muestra el circuito manteniendo uno de sus estados lógicos posibles. El
negador 1 impone un “1” en su salida, que es realimentado hacia la entrada del negador 2 por lo que este
último impone un “0” en su salida que a su vez es realimentado hacia la entrada del negador 1, el cual
impone un “1” en su salida confirmando y manteniendo así el estado del cual partimos. En la figura 3-3 (b)
observamos el mismo circuito manteniendo el otro estado posible. Recordemos que estos negadores son
circuitos electrónicos y como tales deben estar conectados a una fuente de energía eléctrica para que
funcionen. Cuando el circuito es conectado a la fuente (i.e. cuando se enciende el circuito) adquiere en forma
aleatoria uno de los dos estados, el cual mantiene mientras permanezca energizado. De esta forma
observamos que el circuito puede actuar como un elemento de memoria de un bit de información.
Ahora bien, para que este estado no sea aleatorio, el circuito debería disponer de una o más entradas
que permitan elegir el estado a memorizar. Esto se consigue reemplazando los negadores por compuertas
NOR (recordar que estas compuertas implementan sumas negadas) tal como se muestra en la figura 3-4.Las
entradas del circuito son una de las entradas de cada compuerta NOR y se designan por R (de “reseteo” o
46
Introducción a los Sistemas Digitales II

“puesta a cero”) y S (de “seteo” o “puesta a uno”). Las salidas serán las salidas de las compuertas y las
designamos por Q y Q’, en donde Q será la salida normal y Q’ la inversa de Q.
A este circuito lo designamos con el nombre de “biestable RS” o simplemente “Flip - Flop RS”.

Figura 3-4 Biestable o Flip - Flop RS en donde se han


reemplazado los negadores por compuertas
NOR.

Como el “cero” es el elemento neutro de la suma lógica (A + 0 = A) decimos que las entradas están
inactivas cuando toman el valor “0”. Por lo tanto cuando R = S = 0 decimos que el circuito está en estado de
reposo y se comporta como los inversores montados en oposición de la figura 3-3 y la salida Q mantiene el
estado adquirido anteriormente lo que puede comprobarse analizando el comportamiento del circuito
partiendo de un estado cualquiera de sus salidas.
A continuación se describirán los tres tipos básicos de FFs: RS, JK y D.

2.1. Flip Flop tipo RS asincrónico.


En los FFs asincrónicos se permite que el dispositivo cambie de estado, si así corresponde, toda vez
que se produzca un cambio de estado en las variables de entrada externas o primarias (decimos que las
variables de entrada externas o primarias actúan de forma directa sobre el sistema).
En la figura 3-5 (a) se muestra el símbolo para este tipo de FF. El mismo posee dos entradas de
control:
R (de Reset en inglés): borrado, puesta a nivel BAJO o puesta a 0 de la salida.
S (de Set en inglés): grabado, puesta a nivel ALTO o puesta a 1 de la salida.

R Q
R Q

S Q
Figura 3-5 (a) Símbolo del FF R-S; S Q
(b) Una forma de implementar el FF R-S.
(a) (b)

En la figura 3-5(b) se muestra una forma de implementar este FF. El circuito consta de dos
compuertas NOR cruzadas y acopladas entre sí de manera que la salida de una de ellas está conectada a una
de las entradas de la otra compuerta y viceversa. Bajo condiciones normales, las salidas Q y Q’ siempre
serán inversas entre sí. Las entradas R y S normalmente se encuentran en estado BAJO y una de ellas será
pulsada a alto cuando se desee cambiar el estado de las salidas del FF.
Comenzaremos nuestro análisis mostrando que hay dos estados de salida igualmente probables
cuando R = S = 0 (estado de reposo).
En la figura 3-6(a) se muestra que Q = 0 y Q’ = 1. El estado BAJO en la salida de la NOR1 causa
que la NOR2 tenga un 0 en ambas entradas, lo que produce un nivel ALTO en Q’ que se realimenta hacia la

47
Introducción a los Sistemas Digitales II

entrada de la NOR1, por lo que esta compuerta impone y mantiene el nivel BAJO en Q. De esta manera
ambas salidas se mantienen en un estado estable.
La otra posibilidad se muestra en la figura 3-6(b) en donde Q = 1 y Q’ = 0. Con Q = 1 la salida de la
NOR2 se mantiene en 0, lo que causa que la NOR1 tenga un 0 en ambas entradas manteniendo su salida Q
en nivel ALTO. Para la figura 3-6 vemos entonces que para R = S = 0 la salida del FF mantiene su estado
anterior, el cual depende a su vez de lo que haya ocurrido anteriormente en las entradas de control.

Figura 3-6 Dos estados distintos de la


salida para una misma combinación de
valores en las entradas de control:
R = S = 0 (estado de reposo).

Establecimiento o puesta a uno del FF


Ahora investigaremos qué sucede cuando la entrada S (puesta a uno) es pulsada momentáneamente a
alto mientras que R (puesta a cero) se mantiene en BAJO. En la figura 3-7(a) se muestra el circuito del
FF RS y la evolución temporal de sus señales de entrada y salida para este caso, partiendo del supuesto que
Q = 0 antes de que tenga lugar el pulso. Cuando S se pulsa a ALTO en el tiempo t0, la salida de la NOR2
(Q’) pasará a BAJO y ese estado BAJO forzará a que la salida de la NOR1 (Q) pase a ALTO, de manera que
ahora NOR2 tiene dos entradas en ALTO; así cuando S retorna a BAJO en t1, la salida de NOR2 permanece
en BAJO, lo que a su vez mantiene la salida de NOR1 en ALTO.

1 1
0 0
R Q R t0 t1
1 0 1 Q
t0 t1

1
1 1

0 S
2 Q 0
0 S
2 Q 0
t0 t1 t0 t1
t0 t1 t0 t1

Figura 3-7 Establecimiento o puesta a uno del FF RS mediante la aplicación de un pulso en la entrada S
(a) Estado inicial de la salida Q en valor BAJO; (b) Estado inicial de la salida Q en valor ALTO.

48
Introducción a los Sistemas Digitales II

La figura 3-7(b) muestra qué sucede cuando Q = 1 y Q’ = 0 antes de la aplicación del pulso. Debido
a que Q = 1 ya está manteniendo la salida de la NOR2 en BAJO, luego la aplicación del pulso ALTO en S no
tendrá ningún efecto. Así cuando S retorna al estado BAJO las salidas del FF aún son Q = 1 y Q’ = 0.
La figura 3-7 se puede resumir expresando que un pulso ALTO en la entrada S siempre causará que
el FF termine en el estado Q = 1. A esta operación se la suele llamar establecimiento del FF.

Restablecimiento o puesta a cero del FF


Ahora investigaremos que sucede cuando la entrada R (puesta a cero) es pulsada momentáneamente
a ALTO mientras que S (puesta a uno) se mantiene en BAJO. En la figura 3-8(a) se muestra el circuito del
FF RS y la evolución temporal de sus señales de entrada y salida para este otro caso, partiendo del supuesto
que Q = 1 antes de que tenga lugar el pulso. Cuando R se pulsa a ALTO en el tiempo t0, la salida de la NOR1
(Q) pasará a BAJO y ese estado BAJO forzará a que la salida de la NOR2 (Q’) pase a ALTO de manera que
ahora NOR1 tiene dos entradas en ALTO; así cuando R retorna a BAJO en t1 la salida de NOR1 permanece
en BAJO, lo que a su vez mantiene la salida de NOR2 en ALTO.

1 1
1
0 R Q 0 R
t0 t1
1 0
t0 t1
1 Q 0
t0 t1 t0 t1

1 1
t0 t1
S
2 Q 0
S
2 Q
t0 t1
0 0

Figura 3-8 Restablecimiento o puesta a cero del FF RS mediante la aplicación de un pulso en la entrada R
(a) Estado inicial de la salida Q en valor ALTO; (b) Estado inicial de la salida Q en valor BAJO.

La figura 3-8(b) muestra qué sucede cuando Q = 0 y Q’ = 1 antes de la aplicación del pulso. Debido
a que Q’ = 1 ya está manteniendo la salida de NOR1 en BAJO, la aplicación del pulso ALTO en R no tendrá
ningún efecto. Así cuando R retorna al estado BAJO las salidas del FF aún son Q = 0 y Q’ = 1.
La figura 3-8 se puede resumir expresando que un pulso ALTO en la entrada R siempre causará que
el FF termine en el estado Q = 0. A esta operación se la suele llamar borrado o restablecimiento del FF.

49
Introducción a los Sistemas Digitales II

Establecimiento y restablecimiento simultáneos


El último caso que debe considerarse es aquel en donde las entradas S y R se activan
simultáneamente (R = S = 1). En este caso un nivel ALTO en las entradas de ambas compuertas NOR fuerza
a que sus salidas se coloquen en nivel BAJO, con lo que Q’ deja de ser la inversa de Q. Si bien las salidas se
mantienen estables mientras S = R = 1, cuando las entradas de control vuelven a su estado inactivo R = S = 0
el próximo estado de la salida es indeterminado. Por estas razones la condición R = S = 1 no se usa para este
tipo de FF.
En la figura 3-9 se muestra otra implementación posible para este FF, compuesta de dos compuertas
lógicas NAND cableadas de forma similar.

S Q

R Q
Figura 3-9 Otra implementación para el FF RS

El comportamiento del FF para esta implementación es idéntica a la anterior excepto para el caso de
R = S = 1 en el que las salidas de las compuertas NAND se colocan en valor ALTO, pero cuando las
entradas de control vuelven a su estado inactivo R = S = 0, el próximo estado de la salida también es
indeterminado. Por estas razones la condición R = S = 1 tampoco se usa en esta implementación.

Tabla de próximo estado y Timing


Así como el comportamiento de un circuito lógico combinacional queda definido en forma completa
a través de su tabla de verdad, el comportamiento de un circuito biestable se describe por su tabla de próximo
estado. En la figura 3-10 se muestra la tabla de próximo estado para un FF tipo RS asincrónico como el
descripto.
Entradas Estado Actual
Próximo Estado
Primarias (Entrada Secundaria)
R S X(t) = Q(t) X(t+1) = Q(t+1)
0 1 1 1 Establecimiento o
0 1 0 1 puesta a uno
1 0 1 0 Restablecimiento o
1 0 0 0 puesta a cero
0 0 1 1 Sin cambio
0 0 0 0 de estado
1 1 1 -- Dependiendo de la implementación
1 1 0 -- pone a 1 o a 0 ambas salidas.

Figura 3-10 Tabla de próximo estado para un FF tipo RS asincrónico.

La tabla muestra entonces el próximo estado de la salida Q(t+1) en función del nuevo valor adoptado
por las entradas de control R y S y del estado de la propia salida Q(t) justo antes de que cambie el valor de
las entradas, es decir en función del estado presente del circuito X(t) = Q(t).

50
Introducción a los Sistemas Digitales II

R
0

S
0

Q
0

Figura 3-11 Timing o secuencia temporal de las entradas y salidas de un FF RS.


Como ya se mencionó, el comportamiento de un biestable también puede ser especificado por una
secuencia temporal o timing de sus entradas, salidas y estados internos. En la figura 3-11 se muestra el
timing de la salida Q de un FF RS asincrónico para una dada secuencia temporal de sus entradas de control R
y S.

2.2. Flip Flop tipo JK asincrónico.


Posee dos entradas de control J y K y su comportamiento es idéntico al FF RS excepto para la
condición de la activación de ambas entradas (J = K = 1). La entrada J es la puesta a 1 de la salida (se
corresponde con la entrada S del FF RS) y la entrada K es la puesta a 0 de la salida (se corresponde con la
entrada R del FF RS). En la figura 3-12 (a) y (b) se muestra la implementación circuital mediante compuertas
lógicas y el símbolo del FF respectivamente.

J Q Q
J

Figura 3-12 FF tipo J-K;


K Q
(a) Implementación circuital. K Q
(b) Símbolo lógico.

(a) (b)
FIGURA 3-12
Como puede comprobarse a partir del esquema circuital de la figura 3-12 (a), cuando J = K = 1 las
salidas Q y Q’ cambian de estado y comienzan a oscilar entre los dos estados a una frecuencia dada por el
retardo interno de los componentes del circuito.

2.3. Flip Flop tipo D asincrónico.


Este FF posee una sola entrada de control D (de Data en inglés) o entrada de datos y, como se
muestra en la figura 3-13 (a), se puede implementar a partir de un FF tipo JK en donde la entrada K, a través
de una compuerta negadora, es la inversa de la entrada J. De esta forma nunca se presenta la condición de J =
K = 0 o J = K = 1.

D J Q D Q

Figura 3-13 FF tipo D asincrónico;


K Q Q
(a) Implementación circuital a partir de un FF JK.
(b) Símbolo lógico.
(a) (b)

51
Introducción a los Sistemas Digitales II

FIGURA 3-14
Figura 3-14 Timing o secuencia temporal de la entrada y salida de un FF tipo D asincrónico.

Cuando D = 1, J toma valor ALTO y K valor BAJO con lo que la salida Q se coloca en ALTO; de
esta forma el valor ALTO presente en la entrada D es transferido a la salida Q con el correspondiente retardo
de tiempo de propagación del circuito. Lo mismo ocurre para cuando D = 0, transfiriéndose este valor BAJO
a la salida Q. En la figura 3-13 (b) se muestra el símbolo del FF. Este FF no tiene otra utilidad más que la de
producir un retardo de tiempo entre la señal de entrada y la de salida, como se muestra en el timing de la
figura 3-14. Luego se verá que es de suma utilidad cuando se implementa para trabajar en forma sincrónica.

2.4. Flip Flops Sincrónicos.


Estos dispositivos poseen una entrada adicional por la cual se les inyecta una señal de sincronismo.
En estos FF las entradas de control no actúan directamente sobre el circuito sino que lo hacen sólo en
aquellos tiempos en los que la señal de sincronismo esté activa. Una señal de sincronismo puede definirse
activa de dos maneras diferentes: por nivel o por flanco.
Una señal de sincronismo activa por nivel puede ser activa por nivel ALTO o por nivel BAJO. Una
señal de sincronismo se dice activa por nivel ALTO si las entradas de control son capaces de producir un
cambio de estado interno del FF solo durante los momentos en que dicha señal se mantiene en valor ALTO.
Caso contrario se dice activa por nivel BAJO.
Una señal de sincronismo activa por flanco puede ser activa por flanco de subida o por flanco de
bajada. Se denomina flanco de subida o flanco positivo de una señal lógica, al instante de tiempo en que
dicha señal bascula de 0 a 1. El flanco de bajada o flanco negativo se produce cuando la señal pasa de 1 a 0.
Se dice entonces que un circuito secuencial es sincrónico por flanco positivo cuando las entradas de control
son capaces de producir un cambio de estado interno del circuito solo en aquellos instantes de tiempo en los
que la señal de sincronismo bascula de 0 a 1. Caso contrario el circuito es sincrónico por flanco negativo.

2.5. Flip Flop tipo RS sincrónico por nivel.


En la figura 3-15 (a) se muestra la forma en que se puede implementar un FF tipo RS sincrónico por
nivel alto a partir de un FF RS asincrónico. La entrada que recibe la señal de sincronismo se llama G (de
Gate en inglés = puerta). Cuando G = 1 (señal de sincronismo activa), los valores de las entradas externas de
control R y S ingresan, a través de las respectivas compuertas AND, a las entradas R1 y S1 del FF RS
asincrónico, con lo que el estado interno del FF cambia en función de los valores de R y S.

52
Introducción a los Sistemas Digitales II

Figura 3-15 FF tipo RS sincrónico por nivel


ALTO;
(a) Implementación circuital a partir de un FF
RS asincrónico;
(b) Símbolo lógico.

Cuando G = 0 (señal de sincronismo inactiva), las salidas de las compuertas AND se mantienen en
valor BAJO con lo que R1 = S1 = 0 y la salida del FF no cambia de estado, independientemente de los
valores adoptados por las entradas externas de control R y S. El símbolo de este FF se muestra en la
figura 3-15 (b). En la figura 3-16 (a) se muestra que con el simple agregado de una compuerta inversora en la
entrada G, se invierte la lógica de la señal de sincronismo y se transforma el FF en uno sincrónico por nivel
BAJO. En la figura 3-16 (b) se muestra su símbolo. En la figura 3-17 se muestra el timing para un FF RS
sincrónico por nivel ALTO.

Figura 3-16 FF tipo RS sincrónico por nivel


BAJO
(a) Implementación circuital a partir de un FF
RS asincrónico.
(b) Símbolo lógico.

Figura 3-17 Timing o


secuencia temporal de las
entradas y salidas de un FF
tipo RS sincrónico por nivel
ALTO.

2.6. Flip Flop tipo RS sincrónico por flanco.


Como ya se mencionó, en este tipo de FF las entradas R y S actúan en forma directa sobre el estado
interno del circuito sólo en los instantes en los que la señal de sincronismo bascula de 0 a 1 (señal de

53
Introducción a los Sistemas Digitales II

sincronismo activa por flanco positivo o flanco de subida) o cuando la señal de sincronismo bascula de 1 a 0
(señal de sincronismo activa por flanco negativo o flanco de bajada). Para implementar este tipo de FFs se
requiere de circuitos detectores de flancos. En la figura 3-18 se muestra la implementación de un circuito
detector de flancos positivos y el timing de sus señales de entrada y salida.

Clk
Clk*
Clk

Clk

Clk
Figura 3-18 Circuito detector de flancos positivos y timing
de señales. Clk*

FIGURA 3-18
Una señal de sincronismo, a la que llamaremos Clk, ingresa a una de las entradas de una compuerta
AND y la inversa de esta señal (generada a través de un negador), Clk’, ingresa a la otra entrada de la
compuerta AND. Tal como puede observarse en el timing de la figura 3-18, la señal Clk’ ingresa a la AND
con un pequeño retardo de tiempo (de algunos nanosegundos) introducido por la compuerta NOT, con lo que
a la salida de la AND obtenemos un pulso positivo de muy corta duración cuyo comienzo coincide con el
flanco positivo de la señal Clk. La duración o ancho de este pulso es de algunos nanosegundos y está dado
justamente por el retardo introducido en la compuerta NOT.
En la figura 3-19 (a) se muestra la implementación de un FF tipo RS sincrónico por flanco positivo a
partir de un FF RS sincrónico por nivel ALTO. Como puede observarse, la entrada de sincronismo ingresa al
FF sincrónico por nivel a través de un detector de flancos positivos, de manera que este último circuito
produce en su salida un pulso positivo de muy corta duración justo en el momento en que la señal de
sincronismo produce un flanco positivo. Las compuertas AND “dirigen” este pulso de muy corta duración
hacia la entrada S1 o R1 del FF RS asincrónico, de acuerdo con los niveles presentes en las entradas R y S.
Por ejemplo, con S = 1 y R = 0 la señal Clk* pasa por la compuerta AND inferior para producir un pulso
positivo en la entrada S1 del FF asincrónico que resulta en Q = 1. En la figura 3-19 (b) se muestra el símbolo
para este FF RS sincrónico por flanco positivo.

Figura 3-19
(a) Implementación circuital a
partir de un FF RS
sincrónico por nivel ALTO
(b) Símbolo lógico.

En la figura 20 (a) y (b) se muestra la implementación de un FF tipo RS sincrónico por flanco


negativo a partir de un FF RS sincrónico por nivel ALTO y el símbolo para este tipo de FF respectivamente.
La implementación se ha llevado a cabo utilizando un circuito detector de flancos negativos que, en forma
similar al anterior, genera un pulso positivo de muy corta duración justo en el momento en que la señal de
sincronismo produce un flanco negativo. En la figura 3-21 se muestra el circuito detector de flancos
negativos y el timing de sus señales.

54
Introducción a los Sistemas Digitales II

Figura 3-20 FF tipo R-S sincrónico por flanco negativo;


(a) Implementación circuital a partir de un FF RS sincrónico por nivel ALTO; (b) Símbolo lógico.

Clk*
Clk

Clk

Clk
Figura 3-21 Circuito detector de flancos negativos y timing de
señales.
Clk*

En la figura 3-22 se muestra el timing para un FF RS sincrónico por flanco positivo.

Clk 0

R
0
Figura 3-22 Timing o
secuencia temporal de las S
entradas y salidas de un FF RS 0
sincrónico por flanco positivo.
Q
0

2.7. Flip Flops tipo JK y tipo D sincronizados por nivel.


Aplicando el mismo criterio que para los FF tipo RS, se puede implementar un FF tipo JK sincrónico
por nivel ALTO o nivel BAJO, por lo que no se describirán nuevamente los circuitos sino que simplemente
se presentarán sus símbolos. En la figura 3-23 (a) y (b) se muestran los símbolos para Flip Flops tipo JK
sincronizados por nivel ALTO y BAJO respectivamente.

55
Introducción a los Sistemas Digitales II

J Q J Q D J Q D Q

G G G G
K Q K Q K Q G Q

(a) (b) (c) (d)

Figura 3-23 (a) Símbolo lógico de un FF tipo JK sincronizado por nivel ALTO
(b) Símbolo lógico de un FF tipo JK sincronizado por nivel BAJO.
(c) Implementación circuital de un FF tipo D sincronizado por nivel ALTO a partir de un FF JK sincronizado por
nivel ALTO.
(d) Símbolo lógico de un FF tipo D sincronizado por nivel ALTO.
En la figura 3-23 (c) se muestra como implementar un FF tipo D sincronizado por nivel ALTO a
partir de un FF JK sincronizado por nivel ALTO y en la figura 3-23 (d) se muestra su correspondiente
símbolo.
El timing para un FF tipo D sincrónico por nivel ALTO se muestra en la figura 3-24.

Clk

D
Figura 3-24 Timing de las
entradas y salidas de un FF
tipo D sincronizado por nivel
Q ALTO.

2.8. Flip Flops tipo JK y tipo D sincronizados por flancos.


Aplicando el mismo criterio que para los FFs tipo RS se puede implementar un FF tipo JK sincrónico
por flanco positivo o por flanco negativo, por lo que no se describirán nuevamente los circuitos sino que
simplemente se presentarán sus símbolos. En la figura 3-25 (a) y (b) se muestran los símbolos para Flip
Flops tipo JK sincronizados por flancos positivos y negativos respectivamente.

J Q J Q D J Q D Q
Clk Clk Clk Clk
K Q K Q K Q Clk Q

(a) (b) (c) (d)

Figura 3-25 (a) Símbolo lógico de un FF tipo JK sincronizado por flanco positivo.
(b) Símbolo lógico de un FF tipo JK sincronizado por flanco negativo.
(c) Implementación circuital de un FF tipo D sincronizado por flanco positivo a partir de un FF JK sincronizado
por flanco positivo.
(d) Símbolo lógico de un FF tipo D sincronizado por flanco positivo
En la figura 3-25 (c) se muestra como implementar un FF tipo D sincronizado por flanco positivo a
partir de un FF JK sincronizado por flanco positivo y en la figura 3-25 (d) se muestra su correspondiente
símbolo.
El timing para un FF tipo D sincrónico por flanco positivo se muestra en la figura 3-26.

56
Introducción a los Sistemas Digitales II

Clk

Figura 3-26 Timing de las entradas y D


salidas de un FF tipo D sincronizado por
flanco positivo. Q

2.9. Flip Flop tipo T.


Ya se vio que para un FF tipo JK asincrónico la condición de entrada J = K = 1 no estaba permitida
ya que la salida Q cambia de estado y comienza a oscilar entre los dos estados a una frecuencia cuyo valor es
inversamente proporcional al retardo de propagación existente entre las entradas y la salida del circuito. Esto
no sucede así cuando dicho FF tipo JK está sincronizado por flancos (positivos o negativos). Esto puede
comprobarse a partir de la implementación del FF JK sincrónico por flanco negativo mostrada en la
figura 3-27, en donde podemos observar que para la condición de entrada señalada, las dos entradas de
control del FF JK asincrónico estarán en valor ALTO (J1 = K1 = 1) sólo durante el tiempo correspondiente
al ancho del pulso de la señal Clk*. El ancho de dicho pulso es menor al retardo de propagación existente
entre las entradas y la salida del FF, por lo que cuando se presenta el pulso el FF cambia de estado y antes de
volver a cambiar de estado (es decir, antes del intervalo de tiempo correspondiente al retardo de propagación
entre las entradas y salidas) el pulso de la señal Clk* ya se extinguió por lo que las entradas J1 y K1 ya
volvieron al estado BAJO y el FF mantiene el último estado adquirido. De esta manera el FF cambia de
estado una sola vez y no vuelve a bascular hasta que se presente el próximo flanco negativo en la entrada
Clk, independientemente de que J y K se mantengan en valor ALTO. Cabe mencionar que si las entradas J y
K se mantienen en estado BAJO (J = K = 0) el FF no cambia de estado por mas que se presenten flancos
negativos en la señal de sincronismo.

Figura 3-27 Implementación de un FF JK sincrónico por flanco negativo con J = K = 1 que muestra el principio de
funcionamiento de un FF tipo T.

En la figura 3-28 (a) y (b) se muestra el símbolo de un FF tipo T sincrónico por flanco negativo y su
implementación a partir de un FF JK sincrónico por flanco negativo respectivamente.

57
Introducción a los Sistemas Digitales II

Figura 3-28 FF tipo T sincrónico por flanco negativo


T Q T J Q (a) Símbolo lógico;
Clk Clk (b) Implementación a partir de un FF tipo JK sincrónico
por flanco negativo.
Clk Q K Q

(b)
(a)
FIGURA 3-28

Clk

Figura 3-29 Timing de las entradas y salidas de un FF tipo T sincronizado por flanco positivo.

En resumen, cuando la entrada de control T está en valor ALTO, la salida Q cambia de estado con
cada flanco (positivo o negativo, dependiendo de la sincronización del FF) de la señal de sincronismo y
cuando T está en valor BAJO el FF no cambia de estado. En la figura 3-29 se muestra el timing para la salida
Q de un FF tipo T sincrónico por flanco positivo en respuesta a la secuencia temporal de las entradas de
control T y sincronismo Clk mostradas.

2.10. Entradas asíncronas.


La mayoría de los FFs sincrónicos también tienen una o más entradas asincrónicas que operan
independientemente de las entradas de control y de la entrada de sincronismo. Estas entradas se pueden
utilizar para colocar la salida del FF en valor ALTO (entrada SET) o en estado BAJO (entrada CLR) en
cualquier momento, sin importar las condiciones de las otras entradas. Es decir que la acción de estas
entradas sobre el circuito tiene prioridad sobre las demás. Estas entradas pueden ser activas en ALTO o en
BAJO, lo cual se indica en el símbolo del FF con la ausencia o presencia del círculo negador respectivamente
junto al nombre de la señal. Mientras la entrada SET se mantenga activa la salida Q se mantendrá en ALTO;
mientras la entrada CLR se mantenga activa la salida Q se mantendrá en BAJO; mientras ambas señales
permanezcan inactivas el FF responderá a las entradas de control y sincronismo, no pudiéndose activar
ambas entradas asincrónicas simultaneamente ya que podría dar como resultado una respuesta ambigua.
En la figura 3-30 (a) y (b) se muestran los símbolos de dos FFs sincrónicos por flancos negativos
(RS y JK respectivamente) con entradas asincrónicas SET y CLR activas en nivel ALTO y en la
figura 3-30 (c) y (d) se muestran los símbolos de dos FFs, también sincrónicos por flancos negativos (D y T
respectivamente) con sus entradas asincrónicas SET y CLR activas en nivel BAJO.

58
Introducción a los Sistemas Digitales II

Figura 3-30
(a) Símbolo lógico de un FF tipo RS sincronizado por flanco negativo con entradas asincrónicas SET y CLR activas en nivel ALTO.
(b) Símbolo lógico de un FF tipo JK sincronizado por flanco negativo con entradas asincrónicas SET y CLR activas en nivel ALTO.
(c) Símbolo lógico de un FF tipo D sincronizado por flanco negativo con entradas asincrónicas SET y CLR activas en nivel BAJO.
(d) Símbolo lógico de un FF tipo T sincronizado por flanco negativo con entradas asincrónicas SET y CLR activas en nivel BAJO.

3. Aplicaciones de los Flip-Flops.


Los flip - flops sincronizados por flancos son dispositivos versátiles que se pueden usar en una
amplia gama de aplicaciones, incluyendo el conteo y almacenamiento de datos binarios, transferencia de
datos binarios de una ubicación a otra y muchas más.

3.1. Almacenamiento y transferencia de datos. Registros.


El uso más común de los FFs es el almacenamiento de datos o información codificada en binario.
Por lo general estos datos se almacenan en grupos de FFs llamados registros. Los diversos tipos de registros
se clasifican de acuerdo a la forma en que los datos pueden ingresar al registro para su almacenamiento y a la
forma en la cual se les da salida del registro. Las diferentes clasificaciones se listan a continuación:
1. Entrada en paralelo - salida en paralelo
2. Entrada en serie - salida en serie
3. Entrada en paralelo - salida en serie
4. Entrada en serie - salida en paralelo
Cada uno de estos tipos de registros y algunas variaciones se encuentran disponibles en forma de
circuito integrado. A continuación se analizará genericamente la implementación y el comportamiento de
cada uno de estos registros.

3.1.1. Registro con entrada en paralelo - salida en paralelo.


En la figura 3-31 se muestra un registro de 4 bits implementado con FFs tipo D sincrónicos por
flanco negativo. Las entradas en paralelo están conformadas por la entrada D de los FFs y designadas como
I0, I1, I2 e I3 y las salidas son O0, O1, O2 y O3 conformadas por la salida Q de los FFs. Todas las entradas
de sincronismo Clk de los FFs están conectadas a un mismo punto conformando la entrada STORE (de
almacenamiento en inglés). Al momento de presentarse un flanco negativo de la señal aplicada a la entrada
STORE, las salidas O3 a O0 adquieren el estado de las entradas I3 a I0 respectivamente, manteniendo dicho
estado hasta la aparición del próximo flanco negativo en la señal STORE (es decir que los datos presentes en
la entrada son transferidos a la salida y almacenados como un estado interno del registro). El registro se
puede colocar a cero en cualquier momento (independientemente del estado de las entradas de datos Ii y de
la señal de sincronismo STORE) colocando en valor ALTO la entrada RESET que activa la entrada
asíncrona CLR de todos los FFs que componen el registro.
59
Introducción a los Sistemas Digitales II

Figura 3-31 Registro de 4 bits entrada / salida paralela.

3.1.2. Registros de desplazamiento.


Un registro de desplazamiento es un grupo de FFs configurado de tal manera que los datos
almacenados en los FFs se desplazan de un FF al siguiente para cada flanco activo de la señal de sincronismo
aplicada. En la figura 3-32 se muestra una forma de configurar los FF tipo D sincrónicos por flanco negativo
para que operen como un registro de desplazamiento de 4 bits. Todas las entradas de sincronismo Clk de los
FFs están conectadas a un mismo punto conformando la entrada SHIFT (desplazamiento). Al momento de
presentarse un flanco negativo de la señal aplicada a la entrada SHIFT, la salida Q de cada FF adquiere el
estado de su entrada D. De esta manera y en forma simultánea, el estado de la entrada de datos D del FF3,
que es el estado actual de la ENTRADA DE DATOS del registro, se transfiere a la salida del FF3, la entrada
de datos del FF2 (estado actual de la salida del FF3) se transfiere a la salida del FF2, la entrada de datos del
FF1 (estado actual de la salida del FF2) a la salida del FF1 y la entrada de datos del FF0 (estado actual de la
salida del FF1) se transfiere a la salida del FF0 que es la SALIDA DE DATOS del registro. Así, este registro
de desplazamiento está conformado como un Registro de entrada serie - salida serie. El registro se puede
colocar a cero en cualquier momento (independientemente del estado de las entradas de datos y de la señal
de sincronismo SHIFT) colocando en valor ALTO la entrada RESET que activa la entrada asíncrona CLR de
todos los FFs que componen el registro.

Figura 3-32 Registro de 4 bits entrada serie / salida serie.

60
Introducción a los Sistemas Digitales II

3.1.3. Registro con entrada en paralelo - salida en serie.


En los registros de entrada paralelo - salida paralelo vimos que la transferencia de datos se realiza en
forma sincrónica, es decir, los datos que están presentes en la entrada del registro se transfieren a la salida
ante la activación de la correspondiente señal de sincronismo. También se pueden realizar transferencias de
datos en forma asíncrona actuando sobre las entradas asíncronas de un FF en la forma adecuada y esto es lo
que se necesita en la implementación un registro con entrada paralelo - salida serie para conseguir la carga de
datos paralela, ya que es la salida serie la que se realiza en forma síncrona. La figura 3-33 muestra la
implementación de un registro de 4 bits de este tipo. Podemos observar que son 4 FFs conectados en cascada
con la misma configuración de un registro de desplazamiento en donde la entrada SHIFT ingresa a las
entradas de sincronismo de todos los FFs (excepto al FF3) para producir la salida del dato almacenado en
forma serial sobre la línea de salida de datos serie. Entonces, para introducir el dato en paralelo al registro,
debemos usar las entradas asíncronas. Cuando la entrada ENT (ENable Transfer = habilitación de
transferencia) se mantiene en valor BAJO, las salidas de todas las compuertas AND se mantienen en BAJO,
no actuando sobre las salidas de los FFs a través de las entradas asíncronas CLR y SET. Cuando la entrada
ENT se hace ALTA, sucederá lo siguiente:

Figura 3-33 Registro de 4 bits con entrada paralelo / salida serie.

• Se colocará en valor ALTO la salida de la AND1 o la salida de la AND2, dependiendo del estado de la
entrada de datos I0, colocándose en estado ALTO o BAJO la salida del FF0 si I0=1 ó I0=0
respectivamente.
• Se colocará en valor ALTO la salida de la AND3 o la salida de la AND4, dependiendo del estado de la
entrada de datos I1, colocándose en estado ALTO o BAJO la salida del FF1 si I1=1 ó I1=0
respectivamente.
• Se colocará en valor ALTO la salida de la AND5 o la salida de la AND6, dependiendo del estado de la
entrada de datos I2, colocándose en estado ALTO o BAJO la salida del FF2 si I2=1 ó I2=0
respectivamente.
• Se colocará en valor ALTO la salida de la AND7 o la salida de la AND8, dependiendo del estado de la
entrada de datos I3, colocándose en estado ALTO o BAJO la salida del FF3 si I3=1 ó I3=0
respectivamente.

61
Introducción a los Sistemas Digitales II

En resumen, cuando la entrada ENT está activa, los datos presentes en las líneas de entrada de datos
paralela I3 a I0 son almacenados en el registro (carga paralela del registro) y luego los datos son transferidos
en serie sobre la línea de salida de datos serie con cada flanco negativo de la señal SHIFT.

3.1.4. Registro con entrada serie - salida en paralelo.


En la figura 3-34 se muestra la implementación de un registro de 4 bits de este tipo, el cual es
basicamente un registro de desplazamiento en donde se toma la salida de cada FF para conformar la salida
paralelo Q3 a Q0.

Figura 3-34 Registro de 4 bits con entrada serie / salida paralelo.

3.2. Divisores de frecuencia / contadores.


La figura 3-35 (a) muestra tres FFs tipo T sincrónicos por flanco negativo con sus entradas T
colocadas en valor ALTO y conectados en una configuración en cascada, de tal manera que la salida Q de un
FF ingresa a la entrada de sincronismo del siguiente. De esta forma cada FF cambiará de estado (basculará)
siempre que la señal en su entrada Clk pase de ALTO a BAJO (flanco negativo). Analicemos el
funcionamiento del circuito suponiendo que alimentamos al FF0 en su entrada Clk con una señal de reloj de
una frecuencia fija “f”. La evolución temporal de las formas de onda de cada una de las salidas Q0, Q1 y Q2
a medida que ingresan pulsos al FF0 se muestra en el timing de la figura 3-35 (b).

1. El FF0 cambia de estado en el flanco negativo de cada pulso de la señal de entrada de reloj. Así, la forma
de onda de la salida Q0 tiene una frecuencia f0 que es exactamente la mitad de la frecuencia de la señal
de reloj (f0 = f/2).
2. El FF1 cambia de estado cada vez que la salida Q0 pasa de ALTO a BAJO (flanco negativo), por lo tanto
la forma de onda de Q1 tiene una frecuencia f1 exactamente igual a la mitad de la frecuencia de la salida
Q0, y por lo tanto igual a un cuarto de la frecuencia de la señal de reloj: f1 = f0/2 = f/4.
3. El FF2 cambia de estado cada vez que la salida Q1 pasa de ALTO a BAJO (flanco negativo). Así la
forma de onda de Q2 tiene una frecuencia f2 igual a la mitad de la frecuencia de la salida Q1, y por lo
tanto igual a un octavo de la frecuencia de la señal de reloj: f2 = f1/2 = f/8.

Como puede observarse, cada FF divide la frecuencia de su entrada de sincronismo en dos. Entonces,
si agregáramos un cuarto FF a la cadena, éste tendría en su salida una frecuencia igual a (1/16) de la
frecuencia de reloj, etcétera. Usando el número apropiado de FFs, este circuito podría dividir una frecuencia
en cualquier potencia de dos. Específicamente, usando N FFs produciría una frecuencia de salida en el

62
Introducción a los Sistemas Digitales II

último FF igual a (1/2N) de la frecuencia de entrada. A esta aplicación de los FFs se le denomina división de
frecuencia.

Q2 Q1 Q0

“0”

SET SET SET

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

FF2 FF1 FF0

Q Clk Q Clk Q Clk Clk


CLR CLR CLR

CLR
(a)

CLR

1 2 3 4 5 6 7 8 9 10 11
Clk

Q0 0 0 1 0 1 0 1 0 1 0 1 0

Q1 0 0 0 1 1 0 0 1 1 0 0 1

Q2 0 0 0 0 0 1 1 1 1 0 0 0

CONTEO BINARIO
000 000 001 010 011 100 101 110 111 000 001 010
Q2 Q1 Q0

VALOR DECIMAL 0 0 1 2 3 4 5 6 7 0 1 2

(b)

FIGURA 3-35: Contador Asincrónico Ascendente


Figura 3-35 Contador asincrónico ascendente
(a) Implementación a partir de FFs tipo T sincrónicos por flanco negativo
(b) Timing o evolución temporal de las formas de onda de cada una de las salidas Q0, Q1 y Q2 en respuesta a
la señal de reloj Clk y la señal de puesta a cero CLR.

Operación de Conteo
Además de funcionar como un divisor de frecuencia, el circuito de la figura 3-35 también opera
como un contador binario. Esto se puede ver examinando la secuencia de los estados de los FFs después de
que ocurre cada flanco negativo de un pulso del reloj (examinar el timing de la figura 3-35 (b)). Supongamos
que los valores de salida Q2 Q1 Q0 representan un número binario donde Q2 está en la posición de peso 22,
Q1 está en la posición de peso 21 y Q0 en la posición de peso 20. Al aplicar un valor ALTO en la entrada
CLR del circuito, todos los FFs se colocan en estado BAJO, es decir que Q2 Q1 Q0 = 0002. Una vez liberada
la señal CLR (una vez que dicha señal vuelve al estado BAJO), las salidas mantienen ese estado hasta la
aparición del flanco negativo del 1er pulso de reloj, después de lo cual adquieren el estado Q2 Q1 Q0 = 0012.
Después del flanco negativo del 2do pulso de reloj los FFs adquieren el estado Q2 Q1 Q0 = 0102. Después
del flanco negativo del 3er pulso de reloj los FFs adquieren el estado Q2 Q1 Q0 = 0112 y así sucesivamente
hasta que después del flanco negativo del 7mo pulso de reloj Q2 Q1 Q0 = 1112. Con el ingreso del octavo
flanco negativo los FFs retornan al estado 0002 y la secuencia binaria se repite a sí misma para los siguientes
pulsos. En la figura 3-36 se presentan estos resultados en una forma tabular.
Así, para los primeros siete pulsos de entrada (luego de haber liberado el reseteo), el circuito
funciona como un contador binario en el cual los estados de los FFs representan un número binario
equivalente al número de pulsos que han ocurrido. Con este contador se puede contar desde 0 hasta 1112 =
710 antes que retorne a 0. El número binario representativo de los estados del contador se incrementa con el
ingreso de cada pulso, por lo que se lo denomina contador binario ascendente.

63
Introducción a los Sistemas Digitales II

Valor 22 21 20
decimal Q2 Q1 Q0
0 0 0 0 Reseteo del contador y liberación del reseteo
1 0 0 1 Después del pulso Nº 1
2 0 1 0 Después del pulso Nº 2
3 0 1 1 Después del pulso Nº 3
4 1 0 0 Después del pulso Nº 4
5 1 0 1 Después del pulso Nº 5
6 1 1 0 Después del pulso Nº 6
7 1 1 1 Después del pulso Nº 7
0 0 0 0 Después del pulso Nº 8, se reinicia en 000
1 0 0 1 Después del pulso Nº 9
2 0 1 0 Después del pulso Nº 10
3 0 1 1 Después del pulso Nº 11
. · · · · · · · ·
. · · · · · · · ·
. · · · · · · · ·

Figura 3-36 Secuencia de los estados de las salidas del contador en respuesta al flanco negativo de cada pulso ingresado a
partir de la liberación del reseteo.

Módulo del contador


El módulo del contador indica el número de estados que puede adoptar el contador, es decir el
número de estados en la secuencia de conteo o el máximo factor de división de frecuencia (obtenido en el
último FF de la cadena). Para el caso particular del contador de la figura 3-35, el mismo es un circuito
secuencial compuesto por 3 FFs y ya se ha visto que cada FF posee una variable de estado, por lo que el
circuito posee 3 variables de estado lo que lleva a 23 = 8 estados diferentes (0002 al 1112) por lo que es un
contador módulo 8. En general, si se conectan N FFs en la configuración de la figura 3-35, el contador tendrá
2N estados diferentes y por lo tanto será un contador módulo 2N capaz de contar hasta 2N – 1 antes de regresar
a su estado 0 y de obtener un factor de división máximo de 2N.

Contador Descendente
En la figura 3-37 (a) y (b) se muestra el circuito de un contador binario descendente y el timing de
sus salidas respectivamente. Como puede observarse, la configuración general es la misma de la figura 3-35
a excepción de que ahora es la salida Q’ (no la Q) de un FF la que ingresa a la entrada de sincronismo del
siguiente. De esta forma el FF1 cambia de estado cada vez que la salida Q’ del FF0 presenta un flanco
negativo en su entrada de sincronismo, lo que es equivalente a decir que cambia de estado cada vez que la
salida Q0 pasa de BAJO a ALTO (flanco positivo). De la misma forma el FF2 cambia de estado cada vez
que la salida Q’ del FF1 presenta un flanco negativo en su entrada de sincronismo, lo que es equivalente a
decir que cambia de estado cada vez que la salida Q1 pasa de BAJO a ALTO (flanco positivo). En este caso
las entradas asíncronas CLR permanecen inactivas.

64
Introducción a los Sistemas Digitales II

Q2 Q1 Q0

SET

SET SET SET

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

(a) FF2 FF1 FF0

Q Clk Q Clk Q Clk Clk


CLR CLR CLR

“0”

SET

1 2 3 4 5 6 7 8 9 10 11
Clk

Q0 1 1 0 1 0 1 0 1 0 1 0 1
(b)

Q1 1 1 1 0 0 1 1 0 0 1 1 0

Q2 1 1 1 1 1 0 0 0 0 1 1 1

CONTEO BINARIO
111 111 110 101 100 011 010 001 000 111 110 101
Q2 Q1 Q0

VALOR DECIMAL 7 7 6 5 4 3 2 1 0 7 6 5

Figura 3-37 Contador asincrónico descendente: implementación a partir de FFs tipo T sincrónicos por flanco negativo y
timing de las formas de onda de cada una de las salidas Q0, Q1 y Q2 en respuesta a la señal de reloj Clk y la
señal de puesta a uno SET.

Valor 22 21 20
Decimal Q2 Q1 Q0
7 1 1 1 Seteo del contador y liberación del seteo
6 1 1 0 Después del pulso Nº 1
5 1 0 1 Después del pulso Nº 2
4 1 0 0 Después del pulso Nº 3
3 0 1 1 Después del pulso Nº 4
2 0 1 0 Después del pulso Nº 5
1 0 0 1 Después del pulso Nº 6
0 0 0 0 Después del pulso Nº 7
7 1 1 1 Después del pulso Nº 8, se reinicia en 111
6 1 1 0 Después del pulso Nº 9
5 1 0 1 Después del pulso Nº 10
4 1 0 0 Después del pulso Nº 11
. · · · · · · · ·
. · · · · · · · ·
. · · · · · · · ·

Figura 3-38 Secuencia de los estados de las salidas del contador en respuesta al flanco negativo de cada pulso ingresado a
partir de la liberación del seteo.

Al aplicar un valor ALTO en la entrada SET del circuito, todos los FFs se colocan en estado ALTO,
es decir que Q2 Q1 Q0 = 1112. Una vez liberada la señal SET (una vez que dicha señal vuelve al estado
BAJO), las salidas mantienen ese estado hasta la aparición del flanco negativo del 1er pulso de reloj, después
de lo cual adquieren el estado Q2 Q1 Q0 = 1102. Después del flanco negativo del 2do pulso de reloj los FFs

65
Introducción a los Sistemas Digitales II

adquieren el estado Q2 Q1 Q0 = 1012. Después del flanco negativo del 3er pulso de reloj los FFs adquieren
el estado Q2 Q1 Q0 = 1002 y así sucesivamente hasta que después del flanco negativo del 7mo pulso de reloj
Q2 Q1 Q0 = 0002. Con el ingreso del octavo flanco negativo los FFs retornan al estado 1112 y la secuencia
binaria se repite a sí misma para los siguientes pulsos. Así, el número binario representativo de los estados
del contador se decrementa con el ingreso de cada pulso, por lo que se lo denomina contador binario
descendente. En la figura 3-38 se presentan estos resultados en una forma tabular.

4. Transferencia entre registros usando un bus común.


Registros de tres estados.
Veamos el caso de la transferencia de datos entre registros internos de un microprocesador. Estos
registros internos son registros de entrada - salida paralela que intercambian datos entre ellos (transferencia
de información) a través de un conjunto común de líneas de conexión llamado “bus interno”. Así, cada
registro tendrá sus entradas y salidas unidas a las líneas del bus interno del uP y por lo tanto se deberán tomar
las precauciones necesarias para realizar el conexionado de cada registro al bus.
Supongamos a modo de ejemplo un uP hipotético con un bus interno de 4 líneas y 3 registros de 4
bits a los que llamaremos A, B y C. En la figura 3-39 se muestra la interconexión de estos 3 registros a través
del bus interno con la circuitería lógica necesaria para poder realizar la transferencia de datos entre ellos.
Como se puede observar, cada una de las salidas de los registros está conectada a la correspondiente línea del
bus a través de un buffer no inversor de tres estados con el propósito de evitar los inconvenientes eléctricos y
de niveles lógicos que, como ya se ha visto, se producirían al quedar “cortocircuitadas” dichas salidas a
través de las líneas del bus interno. Las entradas de habilitación de los buffers de un registro se conectan a un
mismo punto y conforman la entrada “OE” (Output Enable ≡ habilitación de salida) que permite que las
salidas del registro se conecten electricamente al bus al colocarse estos buffers en un estado de baja
impedancia cuando dicha línea OE se activa (en valor ALTO). Las señales OEA, OEB y OEC que habilitan
las salidas de los registros A, B y C respectivamente provienen de la unidad de control del uP y se activan en
forma excluyente para asegurarse que sólo un registro tenga sus salidas habilitadas y que las salidas de los
otros se mantengan en un estado de alta impedancia. Las entradas de sincronismo de los FFs (activas por
nivel ALTO) que conforman un registro provienen de la salida de una compuerta AND a la que ingresan la
señal de reloj (señal de sincronismo interna del uP) junto con la entrada “IE” (Input Enable ≡ habilitación de
entrada), de manera que un pulso positivo de la señal de reloj podrá actuar sobre la entrada de sincronismo G
de cada FF -para permitir en cada FF la transferencia del dato presente en la entrada D hacia la salida Q- sólo
si la señal de habilitación de entrada IE está activa (en valor ALTO); caso contrario los pulsos de reloj no
ingresan a la entrada de sincronismo G. De esta manera, asignando los valores apropiados a las señales de
habilitación OE e IE, se puede seleccionar cuál registro colocará sus datos en el bus interno y cuál o cuáles
(podría ser más de uno) almacenará los datos presentes en el bus. El contenido de cualquiera de los 3
registros se puede transferir en paralelo hacia los otros registros.
Veamos como ejemplo qué valores deben adoptar las señales de habilitación para realizar la
transferencia del registro A al registro C (C ← A): en primer lugar, sólo el registro A deberá tener sus salidas
habilitadas, para lo cual necesitamos que OEA = 1 y OEB = OEC = 0, lo que colocará el contenido del
registro A en las líneas del bus interno. Luego, sólo el registro C deberá tener sus entradas habilitadas por lo
que IEC = 1 y IEA = IEB = 0, lo que permitirá que el registro C almacene los datos presentes en el bus
interno cuando ocurra el pulso positivo de la señal de reloj.

66
Introducción a los Sistemas Digitales II

Figura 3-39 Tres registros de 4 bits, A, B y C interconectados a través de un bus interno de 4 líneas y la circuitería lógica
necesaria para poder realizar la transferencia de datos entre ellos.
A cada uno de los registros con su circuitería lógica asociada, mostrada en la figura 3-39, lo
llamaremos “registro de tres estados”; este tipo de registros se puede conseguir comercialmente en la forma
de CI y en la figura 3-40 se muestra su símbolo lógico.
En las figuras 3-41 (a) y (b) se muestran dos representaciones simplificadas de las conexiones del
bus con los registros de la figura 3-39.

67
Introducción a los Sistemas Digitales II

IE I3 I2 I1 I0
Clk
OE O3 O2 O1 O0

Figura 3-40 Símbolo lógico de un registro de tres estados de 4 bits.

[4]

4
IE I3 I2 I1 I0 IE I3 I2 I1 I0
Clk Clk
OE O3 O2 O1 O0 OE O3 O2 O1 O0

[4]

[4]

4
IE I3 I2 I1 I0 IE I3 I2 I1 I0
Clk Clk
OE O3 O2 O1 O0 OE O3 O2 O1 O0

[4]
Reloj Reloj

[4]

4
IE I3 I2 I1 I0 IE I3 I2 I1 I0
Clk Clk
OE O3 O2 O1 O0 4 OE O3 O2 O1 O0

[4]

(a) (b)

Figura 3-41 (a) y (b): Dos representaciones simplificadas de las conexiones del bus con los registros de la figura 3-39.

68
Introducción a los Sistemas Digitales II

Sincronización del Bus (Timing de señales)


Para que la transferencia de datos entre registros se lleve a cabo correctamente, la activación de las
señales involucradas en la transferencia debe ocurrir en los tiempos apropiados. Para ilustrar este concepto,
en la figura 3-42 se muestra el diagrama de sincronización o de evolución temporal (timing) de las señales
implicadas en la transferencia del dato 1011 del registro A al registro C (en la figura no se han dibujado las
señales que permanecen inactivas). Antes del tiempo t1 todas las salidas de los registros están deshabilitadas
y ninguno de ellos pondrá sus datos sobre el bus, por lo que las líneas del bus están en un estado de “Hi-Z” o
también llamado “flotante” lo cual se representa mediante las líneas rayadas en el diagrama. La unidad de
control del uP generará las señales de habilitación para las salidas y entradas de datos de los registros (OEA,
OEB, OEC, IEA, IEB, y IEC) en sincronía con los flancos positivos o negativos de la señal de reloj (señal de
sincronismo interna del uP).
En t1 y en sincronía con el flanco positivo de la señal de reloj, se le solicita a la unidad de control la
activación de la señal de habilitación de salida del registro A (OEA), lo que ocurrirá luego de transcurrido un
intervalo de tiempo ∆t1 correspondiente al retardo de propagación de la lógica de control de la misma unidad.
La activación de esta señal debe habilitar a los buffers triestado, colocándolos en un estado de baja
impedancia, para permitir que las salidas del registro A se conecten electricamente al bus, pero esto no
ocurrirá sino hasta haber transcurrido un intervalo de tiempo ∆t2 correspondiente al retardo de propagación
de dichos buffers de salida. Entonces en el tiempo (t1 + ∆t1 + ∆t2) los datos del registro A son volcados al
bus; pero debido a que los cables del bus presentan ciertas características eléctricas (valores de capacidad,
inductancia y resistencia distribuidas en su extensión y cuyo estudio no abarcan este curso) que introducen
un retardo en el establecimiento de las señales volcadas sobre el mismo, hay que esperar un tiempo para que
los niveles lógicos queden establecidos en el bus. En el diagrama mostrado en la figura 3-42, el bus de datos
debe estabilizar los datos que recibe en un tiempo menor a ∆t3, ya que transcurrido ese intervalo de tiempo se
presenta el flanco negativo del reloj (en el tiempo t2) solicitándole a la unidad de control la activación de la
señal de habilitación de entrada del registro C (IEC), lo que ocurrirá luego de transcurrido un intervalo de
tiempo ∆t4 correspondiente al retardo de propagación de la lógica de control de la misma unidad. A partir de
este tiempo t2 + ∆t4, el registro C queda habilitado para leer los datos presentes en el bus en el momento en
que se presente un pulso positivo de la señal de reloj. Este pulso se presenta a partir del tiempo t3 y finaliza
en t4, con lo que ya habido suficiente tiempo para que el bus estabilice los datos recibidos y que la unidad de
control active la señal IEC. El ancho de este pulso es el tiempo del que dispone el registro para leer los datos.
El flanco negativo de la señal de reloj que se produce en el tiempo t4 da la orden de desactivación de las
señales OEA y IEC, con lo que luego de un retardo de tiempo de propagación de la lógica de control, estas
señales retornan a su estado inactivo y como resultado las salidas del registro A pasan al estado de Hi-Z junto
con el bus interno y el registro C queda inhabilitado para recibir otro pulso positivo de la señal de reloj.
En la figura 3-43 se muestra la forma simplificada del mismo diagrama de sincronización, en donde
la actividad de las líneas del bus se muestra en una sola forma de onda. En adelante, de ser necesario, se
usará este diagrama simplificado de sincronización.

69
Introducción a los Sistemas Digitales II

Figura 3-42 Diagrama de sincronización o de evolución temporal (timing) de las señales implicadas en la transferencia del
dato 1011 del registro A al registro C

Figura 3-43 Forma simplificada del diagrama de sincronización de la figura 3-42.

70
Introducción a los Sistemas Digitales II

5. Circuitos Monoestables.
Llamamos monoestable a un circuito secuencial cuya salida posee un único estado estable, pudiendo
bascular al otro estado y mantenerse en este nuevo estado sólo durante un intervalo de tiempo
predeterminado por el mismo circuito. El pasaje de la salida al estado inestable se produce ante la activación
de una entrada de sincronismo, que normalmente es activa en el modo de flancos. El tiempo durante el cual
la salida permanece en su estado inestable se implementa mediante un circuito resistivo – capacitivo,
operando la carga y descarga de un capacitor. La resistencia y el capacitor que forman parte de este circuito
son componentes externos al CI del monoestable, de manera de poder elegir el tiempo de activación del
monoestable a partir de la elección de los valores de estos componentes, ya que este tiempo será
proporcional al producto R.C, que es la constante de tiempo de un circuito resistivo - capacitivo. En la
figura 3-44 se muestra el símbolo lógico de un monoestable y la secuencia temporal o timing de su salida Q
para una dada secuencia temporal de su entrada de sincronismo Clk.

Clk
Clk Q

Q T~ R.C T~ R.C

R C Estado estable = “0”

Figura 3-44 Símbolo lógico de un circuito monoestable y secuencia temporal o timing de su entrada y salida.
En la figura 3-45 se muestra la implementación de un monoestable (también llamado temporizador o
timer) a partir de un FF D sincrónico por flanco positivo y un circuito resistivo - capacitivo conectado en
forma conveniente. El estado estable de la salida del circuito es el “0” con lo que el capacitor se mantiene
descargado a través del diodo. Cuando se aplica un flanco positivo en la entrada de sincronismo, el “1”
presente en la entrada de datos se transfiere a la salida y se mantendrá hasta tanto el FF sea reseteado. Con la
salida Q en estado alto, el capacitor comienza a cargarse a través de R y cuando alcanza el nivel de tensión
correspondiente al “1” se activa la entrada CLR, reseteándose el FF y pasando la salida Q a “0”, con lo que el
dispositivo pasa a su estado estable y el capacitor se descarga instantaneamnete a través del diodo. En la
misma figura también se ve el timing de las señales involucradas en el funcionamiento del timer.

Figura 3-45 Implementación de un monoestable (temporizador o timer) a partir de un FF tipo D sincrónico por flanco positivo

6. Circuitos Astables.
Llamamos astable a un circuito secuencial cuya salida no posee ningún estado estable y por lo tanto
oscila entre ambos valores dando como resultado una señal lógica que evoluciona en forma periódica a una
frecuencia predeterminada por el mismo circuito. El circuito no presenta entradas y comienza a oscilar al
momento de ser alimentado. A la señal de salida de estos osciladores se la denomina “señal de reloj” y el
período T de dicha señal se consigue mediante la implementación de un circuito con un oscilador de cristal

71
Introducción a los Sistemas Digitales II

de cuarzo o bien -en forma más sencilla pero menos estable- con un circuito resistivo - capacitivo operando
la carga y descarga de un capacitor. La resistencia y el capacitor que forman parte de este circuito son
componentes externos al CI del oscilador, de manera de poder elegir la frecuencia de la señal de reloj a partir
de la elección de los valores de estos componentes, ya que el período T de dicha señal será proporcional al
producto R.C que es la constante de tiempo de un circuito resistivo - capacitivo. En la figura 3-46 se muestra
el símbolo lógico de un oscilador y la secuencia temporal o timing de su salida Q o señal de reloj.

Q Q

R C

Figura 3-46 Símbolo lógico de un circuito astable (oscilador) y secuencia temporal o timing de su salida Q (señal de reloj).
En la figura 3-47 se muestra la implementación de un oscilador (también llamado reloj) a partir de
dos compuertas inversoras y un circuito resistivo - capacitivo conectado en forma conveniente.

Figura 3-47 Implementación de un oscilador (reloj) y timing de la salida Q (señal de reloj) y tensión del capacitor Vc.
El análisis del circuito puede realizarse considerando que al dar la alimentación del mismo el
capacitor se encuentra descargado (Vc = 0V) y su salida Q en “1”. Bajo estas circunstancias, el condensador
comienza a cargarse a través de R a un ritmo dado por la constante de tiempo R.C hasta que, al alcanzar el
nivel de tensión correspondiente al “1”, el inversor 2 cambia el estado de su salida a “0” (la salida Q del
oscilador bascula a “0”) y la salida del inversor 1 bascula a “1” invirtiéndose la situación, con lo que el
capacitor comienza a descargarse través de R a un ritmo dado por la constante de tiempo R.C hasta alcanzar
el nivel de tensión correspondiente al “0”, con lo que salida del inversor 1 vuelve a “1” (la salida Q del
oscilador bascula a “1”), repitiéndose el ciclo a una frecuencia dada por el periodo T que es proporcional a la
constante de tiempo dada por el producto de R.C. En la misma figura también se muestra el timing de la
salida Q y de la carga y descarga del capacitor Vc.

----------------------------------
72

También podría gustarte