Download Tema 5: Circuitos secuenciales

Document related concepts

Biestable wikipedia , lookup

Registro de desplazamiento wikipedia , lookup

Sistema secuencial wikipedia , lookup

Flanco (electrónica) wikipedia , lookup

Metaestabilidad wikipedia , lookup

Transcript
Estructura de computadores
Tema 5:
Tema 5: Sistemas secuenciales
Circuitos secuenciales
5.1 Introducción: tablas de transición, cronogramas.
Hemos visto como en los circuitos combinacionales, las salidas sólo
dependen de las entradas en el mismo instante de tiempo. Existe otro tipo de
circuitos digitales en los cuales esto no es así. Son los llamados circuitos o
sistemas secuenciales.
Circuitos secuenciales
Son aquellos en los cuales las salidas en un instante de tiempo
determinado dependen de las entradas en ese instante y en instantes
anteriores de tiempo.
Como consecuencia de la definición anterior podemos llegar a la
conclusión de que este tipo de circuitos son capaces de memorizar información
y que esta información en un momento dado depende de las entradas
ocurridas en el circuito hasta ese momento.
El circuito no es capaz de memorizar todas las entradas ocurridas hasta
un instante de tiempo determinado, sino solo una cierta parte. A la información
almacenada se le denomina estado del sistema, y el número máximo de
informaciones almacenables es el número de estados posibles del sistema.
El diagrama de bloques de un circuito secuencial es:
E
S
Q(t)
Circuito
combinacional
Q(t+1)
Elementos de
almacenamiento
El circuito secuencial recibe información binaria de su ambiente a través
de las entradas E, las cuales, en combinación con el estado actual Q(t)
(almacenado en los elementos de almacenamiento), determinan el valor binario
de las salidas S y el siguiente estado Q(t+1).
Las salidas de un circuito secuencial son las salidas del circuito
combinacional.
1
Estructura de computadores
Tema 5: Sistemas secuenciales
5.1.1 Funciones de transición
Un circuito o sistema secuencial queda definido por dos funciones
lógicas, llamadas funciones de transición:
1. Función de salida: nos indica cómo depende la salida o salidas, de
las entradas actuales y del estado actual.
2. Función de transición de estado: nos indica como depende el
nuevo estado del estado anterior y de las entradas al sistema.
5.1.1.1 Función de salida
Si designamos por:
S(t) = salidas en el mismo instante de tiempo t
E(t) = entradas en el mismo instante de tiempo t
Q(t) = estado en el instante de tiempo t
La función de salida puede expresarse:
S (t) = F [ E (t), Q (t) ]
5.1.1.2 Función de transición de estado
Nos indica si unas determinadas entradas producen un cambio en el
estado y a qué estado se cambia. La función puede expresarse:
Q(t+1) = G [ E(t), Q(t) ]
Tanto F como G son funciones lógicas, exactamente iguales a las
estudiadas hasta ahora. La única novedad, que confiere a los circuitos
secuenciales propiedades totalmente distintas a los combinacionales, es el
hecho de que existe realimentación. La función G nos da los valores Q en
función de los propios valores Q anteriores. Las mismas variables son variables
de entrada y salida de la función.
Las funciones F y G pueden expresarse mediante tablas de verdad.
como cualquier otra función. Por el hecho de existir realimentación, se les
denomina tablas de transición del circuito secuencial.
5.1.2 Cronogramas
Hemos visto que los circuitos secuenciales tienen una estructura tal que
las salidas dependen del tiempo, ya que el estado depende de las entradas y
éstas son función del tiempo.
Aunque las tablas de transición permiten definir un circuito secuencial,
cuando éste es complejo, es más cómodo manejar una representación gráfica
de las variables en función del tiempo. A esta representación se le llama
cronograma.
Más adelante veremos los cronogramas de los distintos biestables.
2
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2 Biestables
Los biestables son circuitos lógicos capaces de permanecer en uno de
entre dos estados estables, aún después de desaparecer la causa que provocó
el paso al estado alcanzado. Son, pues, capaces de almacenar una
información binaria (1 bit).
5.2.1 Tipos de biestables.
Deben distinguirse tres aspectos en las señales de entrada que
producen la transición de un estado a otro:
1. La lógica de disparo, que determinará que el biestable cambie de
estado cuando en sus entradas se dé una cierta combinación de
señales. Es el modo de funcionamiento. Puede haber tantos
biestables como lógicas de cambio nos imaginemos. En la práctica
sólo se usan 4 tipos de biestables.
2. El tipo de disparo, que determinará la forma en que las excitaciones
de entrada afectan al estado del biestable.
3. El sincronismo en el disparo, que determinará si el funcionamiento
del biestable se hará de acuerdo con la presencia de una señal
adicional a las entradas, y que se denomina señal de reloj.
Combinando estos tres aspectos, los fabricantes han comercializado una
gran variedad de biestables, que son suficientes para las necesidades de
diseño. Podemos clasificar los biestables según estos criterios.
1. Atendiendo a la lógica de disparo (modo de funcionamiento):
q Biestables R-S
q Biestables J-K
q Biestables D
q Biestables T
2. Atendiendo al sincronismo en el disparo y tipo de disparo:
q Asíncronos (latches): funcionan sin señal de reloj.
q Síncronos (flip-flops): funcionan con señal de reloj.
§
Disparo por nivel de tensión: alto ("1") o bajo ("0")
§ Nivel alto ("1"): El biestable podrá cambiar de estado
cuando la señal de reloj esté a "1".
§ Nivel bajo ("0"): El biestable podrá cambiar de estado
cuando la señal de reloj esté a "0".
§
Disparo por flanco: de subida o bajada
§ Flanco de subida: El biestable podrá cambiar de estado en
el instante en que la señal de reloj pase de "0" a "1".
§ Flanco de bajada: El biestable podrá cambiar de estado en
el instante en que la señal de reloj pase de "1" a "0".
3
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.1.1 Biestables asíncronos (latches)
Asíncronos quiere decir que funcionan sin señal de reloj; cualquier
cambio en las entradas produce un cambio en las salidas, en cualquier
momento. En el caso de tener varios biestables asíncronos en un circuito, cada
uno actuaría de forma independiente a los otros.
5.2.1.2 Biestables síncronos (flip-flops)
Son los que funcionan en sincronismo con una señal de reloj. A estos
también se les llama circuitos secuenciales sincronizados, y son el tipo de
circuito más utilizados en la práctica, ya que son relativamente sencillos de
diseñar.
Un circuito secuencial síncrono emplea señales que afectan los
elementos de almacenamiento sólo a instantes discretos de tiempo. La
sincronización se logra por medio de un dispositivo de sincronía, llamado
generador de reloj, que produce un tren periódico de pulsos de reloj, a
intervalos fijos.
Esto significa que en los biestables síncronos, la tabla de transición solo
se cumple cuando se activa la señal de reloj. Si la señal de reloj no se activa,
no se produce ninguna transición. Por tanto, aunque en las entradas haya una
combinación de señales que conduzcan a una transición de estado, ésta no se
producirá hasta que se active la señal de reloj, y no volverá a producirse una
nueva transición hasta que se active de nuevo la señal de reloj.
La señal de reloj puede activarse de dos formas: por nivel o por flanco.
5.2.1.2.1 Biestables activados por nivel (de tensión):
Un biestable activado por nivel podrá cambiar de estado cuando la
señal de reloj esté a un determinado nivel de tensión: "1" (nivel alto) o "0" (nivel
bajo).
Nivel alto
Nivel bajo
5.2.1.2.2 Biestables activados por flanco:
Un biestable activado por flanco ignora el pulso de reloj mientras está
en un nivel constante y se dispara sólo durante una transición de la señal de
reloj, de "0" a "1" (flanco de subida) o de "1" a "0" (flanco de bajada).
Reloj
Reloj
t
Flanco de subida
t
Flanco de bajada
4
Estructura de computadores
Tema 5: Sistemas secuenciales
El diseño de circuitos asíncronos complejos es más difícil que el de
circuitos síncronos, puesto que su comportamiento depende en gran medida de
los retardos de propagación de las puertas lógicas y de la sincronía de los
cambios de las entradas.
De todas formas, siempre se necesita algo de diseño asíncrono, ya que:
1. los latches (elementos de almacenamiento en circuitos asíncronos)
se utilizan como bloques de construcción de los flip-flops
(elementos de almacenamiento en circuitos síncronos).
2. Los biestables (flip-flops) que vamos a estudiar decimos que tienen
entradas síncronas, ya que los datos se transfieren sincronizados con
la señal de reloj, sólo durante el flanco de disparo del pulso de reloj.
Pero la mayoría de los IC disponibles en el mercado presentan
también entradas asíncronas, las cuales pueden cambiar el estado
del flip-flop independientemente del reloj. Estas entradas pueden ser
por nivel alto ("1") o por nivel bajo ("0") y son prioritaras sobre las
otras señales de entrada. Podemos tener las siguientes:
• Inicialización o Preset (PRE): pone al biestable en estado SET
("1").
• Borrado o Clear (CLR): pone al biestable en estado RESET ("0").
En su forma más elemental, un biestable consiste en dos inversores
interacoplados (realimentados), la salida de uno conectada a la entrada del otro
y viceversa, como se ve en la figura:
1
0
0
1
0
1
1
0
Este circuito es capaz de estar en dos estados estables, pero para
cambiar de estado, hay que actuar sobre las salidas, por lo que no es útil.
Se requiere un circuito de entrada, separado del de salida. Además, se
necesita que el biestable responda a una lógica de disparo, es decir, cambie de
estado según un criterio preestablecido fijo.
Ahora vamos a estudiar los 4 tipos básicos de biestables: R-S, J-K, D y
T, estudiando su tabla de de transición, circuito y cronograma, tanto para el
caso de que funcionen asíncronamente (sin señal de reloj) como
síncronamente (con señal de reloj). Veremos los casos en que la señal de reloj
se activa por nivel (alto/bajo) o por flanco (subida/bajada).
5
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.2 Biestable R-S (latch)
El único biestable que tiene sentido como asíncrono es el R-S. Los
demás requieren reloj para un correcto funcionamiento.
Este biestable tiene dos entradas:
• R (Reset): permite poner a 0 el estado del biestable.
• S (Set): permite ponerlo a 1.
Tiene dos salidas complementarias: Q y Q'. Para analizar la tabla de
transición basta con que nos fijemos en Q.
La tabla de transición es la siguiente, en forma normal y forma
compacta:
R
0
0
0
0
1
1
1
1
S
0
0
1
1
0
0
1
1
Q(t) Q(t+1)
0
0
1
1
0
1
1
1
0
0
1
0
0
ND
1
ND
R
0
0
1
1
S
0
1
0
1
Q(t+1)
Q(t)
1
0
ND
Comentario
No cambia
Se activa Set
Se activa Reset
No Definido
ND = No definido
En el último caso, el hecho de que el nuevo estado no está definido no
quiere decir que el biestable se deteriore si R=S=1. Lo que significa es que no
podemos predecir en qué estado quedará.
El símbolo como bloque del biestable R-S es el siguiente:
R
Q
R'
Q
S
Q'
S'
Q'
y el circuito puede ser implementado con sólo dos puertas NOR con
acoplamiento cruzado y con entrada activa a nivel alto o con dos puertas NAND
con entrada activa a nivel bajo:
R
S
Q
Q'
R'
S'
Q
Q'
En el caso de utilizar puertas NAND, las órdenes Reset y Set suceden
para entradas a nivel bajo (0); en este caso, el biestable se llama biestable
R'S', y su tabla de verdad es todo invertido (R=S=0 no permitido, etc.)
6
Estructura de computadores
Tema 5: Sistemas secuenciales
Vamos a explicar el funcionamiento del biestable R-S (latch) con el
primer circuito (con puertas NOR). Lo que hacemos es cambiar los valores de
las dos entradas R y S y observaremos las señales de salida Q y Q'.
R
S
1
Q
2
Q'
Suponemos que R=S=Q=0 (nivel bajo). Dado que la salida Q se
realimenta a una entrada de la puerta 2 y su otra entrada es S=0, la salida de la
puerta 2 tiene que ser Q'=1. Pero esta salida está acoplada de nuevo a una
entrada de la puerta 1, asegurando así que su salida sea Q=0, es decir, el
biestable no cambia de estado.
Cuando la salida Q esté a nivel bajo (Q=0), el latch se encuentra en
estado RESET ("0") y permanecerá indefinidamente en él hasta que se le
aplique un nivel alto en la entrada S (S=1). Al tener S=1, la salida de la puerta 2
se pone a nivel bajo (Q'=0). Como tenemos que R=0 y Q'=0, la salida de la
puerta 1 se pone a nivel alto (Q=1). Este nivel alto en la salida Q se realimenta
a una de las entradas de la puerta 2, asegurando que su salida Q' permanece a
nivel bajo (Q'=0) incluso cuando se elimine el nivel alto de la entrada S (S=0).
Cuando la salida Q esté a nivel alto (Q=1), el latch se encuentra en
estado SET ("1"), y permanecerá indefinidamente en él hasta que se le aplique
un nivel alto en la entrada R (R=1).
Si estando en este estado SET (Q=1), eliminamos simultánemente los
niveles altos de las dos entradas (R=S=0), como la salida Q se realimenta en
una entrada de la puerta 2, y la otra entrada es S=0, su salida estará a nivel
bajo (Q'=0). Como esta salida está acoplada de nuevo a una entrada de la
puerta 1, y la otra entrada es R=0, su salida estará a nivel alto (Q=1). Vemos
que el biestable no cambia de estado.
En operación normal, las salidas de un latch (Q y Q') son siempre
complementarias una de la otra. Sin embargo, se produce una condición de
funcionamiento no válida en un biestable R-S cuando se aplican
simultáneamente niveles altos a las dos entradas R y S (R=S=1). En esta
situación, las dos salidas deberían estar forzósamente a nivel bajo (Q=Q'=0), lo
que viola la condición de complementariedad de las salidas.
Además, si se eliminan simultánemente los niveles altos de las dos
entradas (R=S=0), las dos salidas van a tender al nivel alto y, dado que
siempre va a existir un cierto retraso de propagación de la señal eléctrica a
través de las puertas, una de las puertas dominará en la transición a nivel alto
(una de las puertas siempre será más lenta que la otra). Esto hará que la salida
de la puerta más lenta permanezca a nivel bajo. Cuando se produce esta
situación, no se puede predecir el siguiente estado del latch. Si los tiempos
de propagación de las dos puertas fueran exactamente iguales se producirían
oscilaciones 0,1,0,1,...
7
Estructura de computadores
Tema 5: Sistemas secuenciales
Los cronogramas correspondientes a un biestable R-S con puertas
NOR y NAND son los siguientes. Como estamos analizando el biestable como
asíncrono, no dependerá de una señal de reloj, sino de cómo cambiemos las
entradas R y S y del estado anterior. Igual que hemos hecho antes, lo que
hacemos ahora es cambiar los valores de las dos entradas R y S y
observaremos las señales de salida Q y Q'. Los estados de las entradas R y S
los hemos elegido arbitrariamente para realizar los cronogramas, partiendo en
ambos casos de que Q se encuentra a nivel bajo (Q=0).
R
S
Q
Q'
t
Cronograma biestable R-S (puertas NOR)
Mantiene el estado anterior
Estados no definidos
NOTA: La condición R=S=1 origina un modo de funcionamiento no
válido del biestable, lo que es un gran inconveniente en cualquier latch de tipo
RESET-SET.
NOTA: Mientras no se diga lo contrario, de ahora en adelante
supondremos que los tiempos de propagación de las puertas lógicas que
componen los biestables son nulos, con lo cual la respuesta del biestable será
inmediata.
R'
S'
Q
Q'
t
Cronograma biestable R-S (puertas NAND)
Mantiene el estado anterior
NOTA: en este caso, la condición R=S=0 tiene el mismo problema que
antes.
8
Estructura de computadores
Tema 5: Sistemas secuenciales
Este tipo de biestable, y todos los que vamos a ver, pueden tener una
entrada adicional de habilitación (STROBE o ENABLE), que puede activarse
en estado alto ("1") o bajo ("0"). Cuando esta señal está activa, el biestable
funciona (puede cambiar de estado); cuando está inactiva, no funciona.
En el caso del biestable R-S, debemos añadir la siguiente lógica al circuito
para tener dicha entrada de habilitación. El símbolo lógico o de bloques es el
mismo que antes pero añadimos esta entrada de habilitación.
R
Q
EN
Q'
S
El biestable R-S puede funcionar de forma asíncrona (tal como hemos
visto hasta ahora), pero también de forma síncrona, es decir, utilizando una
señal de reloj como entrada de habilitación. Cuando enumeramos los distintos
tipos de biestables, dentro de los síncronos (flip-flops) vimos que la señal de
reloj se podía activar por "nivel" o por "flanco".
Los símbolos lógicos o de bloques de los biestables R-S síncronos
son los siguientes. Todos tienen una entrada adicional de reloj (Clock). En el
caso de los flip-flops disparados por flanco colocamos un triángulo dentro del
bloque en la entrada del reloj. Este triángulo se denomina "indicador de entrada
dinámica". Para distinguir si se activa por flanco de subida o por flanco de
bajada, colocamos un círculo (como los de negación) en la entrada del reloj.
Activados por nivel:
R
Q
Clock
S
R
Q
Clock
Q'
Activado por nivel alto ("1")
S
Q'
Activado por nivel bajo ("0")
Activados por flanco:
R
Q
R
Clock
S
Q
Clock
Q'
Activado por flanco de subida
S
Q'
Activado por flanco de bajada
NOTA: Esta misma nomenclatura se utiliza en el resto de biestables.
9
Estructura de computadores
Tema 5: Sistemas secuenciales
Vamos a analizar ahora los cronogramas correspondientes a estos
cuatro casos. Al tratarse de biestables síncronos, ahora dependerán de una
señal de reloj. Igual que antes, cambiamos las entradas R y S y comprobamos
las señales de salida Q y Q'. Podemos poner los cuatro casos en un sólo
cronograma.
Reloj
R
S
Qna
Qnb
Qfs
Qfb
t
Cronograma biestables R-S (síncronos)
Donde:
Qna = Salida biestable activado por nivel alto ("1")
Qnb = Salida biestable activado por nivel bajo ("0")
Qfs = Salida biestable activado por flanco de subida
Qfb = Salida biestable activado por flanco de bajada
Nota: Las salidas Q' las ignoramos, puesto que su señal simplemente es
la inversa de Q.
Recuerda:
q
Un flip-flop activado por nivel sólo puede cambiar mientras la señal de
reloj esté en un determinado nivel: nivel alto ("1") o nivel bajo ("0").
q
Un flip-flop activado por flanco no puede cambiar de estado excepto en el
flanco de disparo de un pulso de reloj. Las entradas R y S se pueden
cambiar en cualquier momento sin que varíe la salida, salvo en esos
instantes. Para detectar los flancos, se utiliza un circuito "detector de
transición de impulsos", que se conecta a la entrada ENABLE.
Ejemplo de IC: el 74LS279 tiene 4 latches R'S'.
10
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.3 Biestable J-K
El flip-flop J-K es uno de los más ampliamente utilizados. Las
denominaciones J y K de sus entradas no tienen ningún significado conocido,
excepto el hecho de que son dos letras consecutivas del alfabeto.
Es similar al R-S, pero elimina la indeterminación que se presenta
cuando las dos entradas son "1". En este caso, para esa combinación el estado
cambia de valor, es decir, si tenía el valor "0" pasa a valor "1" y viceversa.
La razón de utilizar el biestable R-S es porque es mucho más simple y
económico que el biestable J-K. Hay muchos casos en que tenemos la certeza
de que el circuito conectado al biestable no podrá activar simultánemente las
dos entradas a la vez ("1").
La tabla de transición es la siguiente, en forma normal y forma
compacta:
J
0
0
0
0
1
1
1
1
K
0
0
1
1
0
0
1
1
Q(t) Q(t+1)
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
J
0
0
1
1
K
0
1
0
1
Q(t+1)
Q(t)
0
1
Q(t)'
Comentario
No cambia
Se activa Reset
Se activa Set
Invierte Q(t)
ND = No definido
El símbolo como bloque es:
J
Q
J
Clock
K
Q
Clock
Q'
Activado por flanco de subida
K
Q'
Activado por flanco de bajada
Ejemplo de IC: el 74HC112 tiene 2 flip-flops J-K (flanco de bajada), con
entradas asíncronas de inicialización y borrado.
11
Estructura de computadores
Tema 5: Sistemas secuenciales
Ejemplo de cronograma: se aplican las siguientes formas de onda a las
entradas J, K y de reloj. Determinar la salida Q para un biestable activado por
flanco de subida y para otro activado por flanco de bajada, suponiendo que se
encuentran inicialmente en estado RESET ("0").
Reloj
J
K
Qfs
Qfb
Cronograma biestables J-K (flanco de subida y flanco de bajada)
t
Donde:
Qfs = Salida biestable activado por flanco de subida
Qfb = Salida biestable activado por flanco de bajada
El biestable J-K no tiene sentido como asíncrono:
Supongamos que el estado inicial es Q(0)=0 y que J=K=1. Mirando la
tabla de transición vemos que, para las entradas indicadas, el estado cambia al
estado Q(1)=1. Ahora bien, apenas ha cambiado, como las señales de entrada
siguen indicando que cambie, volverá a cambiar a un estado Q(2)=0, y así
sucesivamente. Vemos que el funcionamiento es inestable, pues el estado
estaría cambiando continuamente.
Si por el contrario, dotamos al biestable J-K de una entrada de reloj que
sincronice las transiciones, el problema puede solucionarse. Para que
efectivamente se solucione, es necesario que la señal de reloj se active durante
un periodo de tiempo muy breve, de tal modo que en este periodo no pueda
haber más que una transición. Es conveniente pues, que la señal de reloj actúe
por flanco, reduciendo así al mínimo el período de tiempo en el cual está activa.
Para que las señales de entrada puedan ser tenidas en cuenta cuando
se producen flancos de la señal de reloj, deberán estar en unos niveles
claramente definidos. Por tanto, las restantes señales de entrada deben actuar
siempre por nivel.
12
Estructura de computadores
Tema 5: Sistemas secuenciales
Finalmente, como ya hemos comentado, hay biestables síncronos con
entradas asíncronas. El más utilizado es el J-K síncrono, con dos entradas
asíncronas adicionales, llamadas Preset (puesta a "1") y Clear (puesta a "0"),
análogas a las Set y Reset de un biestable R-S. Estas entradas PRE' y CLR'
(asíncronas) son prioritarias sobre las entradas síncronas, y se activan por nivel
bajo (las complementamos), por lo que deben mantenerse en estado alto para
el funcionamiento síncrono. El símbolo de este biestable es:
Preset ≈ Set (Biestable R-S)
PRE'
J
Q
Clock
K
Q'
CLR'
Clear ≈ Reset (Biestable R-S)
Ejemplo de cronograma para el biestable anterior, teniendo en cuenta
que Q está inicialmente a nivel bajo:
Reloj
J
K
PRE'
CLR'
Qfs
Qfb
t
Cronograma biestables J-K (síncronos y con 2 entradas asíncronas)
Debería seguir a "1" hasta el siguiente flanco
de subida pero la entrada CLR' se ha activado.
Debería cambiar a "0", pero la entrada PRE' se ha
activado; ya no podrá cambiar hasta el próximo flanco.
Donde:
PRE' = Entrada asíncrona PRESET (se ignora cuando es "1")
CLR' = Entrada asíncrona CLEAR (se ignora cuando es "1")
Qfs = Salida biestable activado por flanco de subida
Qfb = Salida biestable activado por flanco de bajada
13
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.4 Biestable D (Datos)
Sólo tiene una entrada D, y su funcionamiento es tal, que el estado
siguiente Q(t+1) es la entrada D, independientemente del estado actual del
biestable Q(t).
Su tabla de transición es:
D
0
0
1
1
Q(t) Q(t+1)
0
0
1
0
0
1
1
1
D
0
1
Q(t+1)
Comentario
0
No depende de Q(t)
1
No depende de Q(t)
Puede observarse que el nuevo estado coincide siempre con la entrada
D. Si lo definimos así, esto no es un biestable, ya que no almacena ninguna
información. Lo que ocurre es que este biestable no tiene sentido como
asíncrono.
El biestable D síncrono es un elemento típico de almacenamiento
gobernado por la señal de reloj. La señal lógica que haya en la entrada D, no
modificará el estado Q hasta que se active la señal de reloj. Esto constituye
una memoria elemental de 1 bit, ya que el valor presente en la entrada D,
queda almacenado al llegar la señal de reloj. Para cambiar el contenido de esta
celdilla de memoria, no hay más que colocar el nuevo valor en la entrada D y
activar la señal de reloj, momento en el cual el nuevo valor queda almacenado
en el biestable.
Su símbolo como bloque es:
D
Q
Clock
D
Q
Clock
Q'
Activado por flanco de subida
Q'
Activado por flanco de bajada
Puede obtenerse también a partir de un biestable J-K y un inversor,
según podemos observar en el esquema siguiente:
D
J
Q
Clock
K
Q'
J
0
0
1
1
K
0
1
0
1
Q(t+1)
Q(t)
0
1
Q(t)'
Biestable D a partir de un J-K
14
Estructura de computadores
Tema 5: Sistemas secuenciales
Ejemplo de IC: el 74AHC74 tiene 2 flip-flops D (flanco de subida), con
entradas asíncronas de inicialización y borrado.
Vamos a analizar ahora los cronogramas.
Reloj
D
Qna
Qnb
Qfs
Qfb
t
Cronograma biestables D (síncronos)
Donde:
Qna = Salida biestable activado por nivel alto ("1")
Qnb = Salida biestable activado por nivel bajo ("0")
Qfs = Salida biestable activado por flanco de subida
Qfb = Salida biestable activado por flanco de bajada
Nota: Las salidas Q' las ignoramos, puesto que su señal simplemente es
la inversa de Q.
Recuerda:
q
Un flip-flop activado por nivel sólo puede cambiar mientras la señal de
reloj esté en un determinado nivel: nivel alto ("1") o nivel bajo ("0").
q
Un flip-flop activado por flanco no puede cambiar de estado excepto en el
flanco de disparo de un pulso de reloj. Las entradas R y S se pueden
cambiar en cualquier momento sin que varíe la salida, salvo en esos
instantes.
15
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.5 Biestable T
Tiene una única entrada T. Si esta entrada está inactiva ("0"), el estado
no cambia. Si T está activa ("1"), el estado cambia.
Su tabla de transición es:
T
0
0
1
1
Q(t) Q(t+1)
0
0
1
1
0
1
1
0
T
0
1
Q(t+1)
Q(t)
Q(t)'
Comentario
No cambia el estado
Invierte el estado
Su símbolo como bloque es:
T
Q
T
Clock
Q
Clock
Q'
Activado por flanco de subida
Q'
Activado por flanco de bajada
Puede comprobarse que un biestable J-K con las dos entradas unidas
actúa como un biestable T, razón por la cual éste no existe comercialmente,
sólo existe a nivel teórico.
T
J
Q
Clock
K
Q'
J
0
0
1
1
K
0
1
0
1
Q(t+1)
Q(t)
0
1
Q(t)'
Biestable T a partir de un J-K
Por tanto, todo lo dicho para el biestable J-K es aplicable para el
biestable T.
Reloj
T
Qfs
Qfb
Cronograma biestables T (flanco de subida y bajada)
t
NOTA: Si lo hacemos por nivel (alto o bajo), el biestable estará oscilando
continuamente entre 0 y 1, cuando T=1 en el nivel correspondiente, y después
no sabremos en que estado se ha quedado.
16
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.6 Flip-flops Maestro-Esclavo
Otra clase de flip-flops son los maestro-esclavo disparados por nivel,
que han sido reemplazados progresivamente por los dispositivos disparados
por flanco.
Consiste en dos latches R-S con una entrada de habilitación (reloj), un
inversor y algún circuito adicional. Al latch de la izquierda lo llamaremos
"maestro", y al de la derecha lo llamaremos "esclavo". La diferencia es que el
"maestro" está sincronizado con una señal de reloj, y el "esclavo" lo está por
una señal de reloj invertida y se controla mediante las salidas del "maestro" en
lugar de por las entradas externas.
El "maestro" podrá cambiar de estado durante los flancos de subida, y
este estado se transfiere al "esclavo" durante el siguiente flanco de bajada. El
estado del "esclavo" depende únicamente del estado del "maestro" en el
momento que se produce el flanco de bajada, y aparece en sus salidas Q y Q'.
5.2.6.1 Biestable R-S maestro-esclavo
S
S
Reloj
Q
S
Clock
R
R
Q
Q
Q'
Q'
Clock
Q'
R
La tabla de verdad es la misma que la estudiada para biestables R-S.
J
0
0
1
1
K
0
1
0
1
Q(t+1) Comentario
Q(t)
No cambia
0
Reset
1
Set
Q(t)' Invierte Q(t)
R
0
0
1
1
S
0
1
0
1
Q(t+1)
Q(t)
1
0
ND
Comentario
No cambia
Set
Reset
No Definido
Podemos ver un ejemplo de funcionamiento en el siguiente cronograma:
Reloj
S = Sm
R = Rm
Qm = S e
Q = Qe
t
Cronograma biestable J-K Maestro-Esclavo
17
Estructura de computadores
Tema 5: Sistemas secuenciales
5.2.6.2 Biestable J-K maestro-esclavo
J
S
Q
S
Clock
Reloj
R
K
Q
Q
Q'
Q'
Clock
Q'
R
La tabla de verdad es la misma que la estudiada para biestables J-K.
J
0
0
1
1
K
0
1
0
1
Q(t+1) Comentario
Q(t)
No cambia
0
Reset
1
Set
Q(t)' Invierte Q(t)
R
0
0
1
1
S
0
1
0
1
Q(t+1)
Q(t)
1
0
ND
Comentario
No cambia
Set
Reset
No Definido
18
Estructura de computadores
Tema 5: Sistemas secuenciales
5.3 Registros y Contadores
Hasta ahora hemos estudiado circuitos combinacionales y circuitos
secuenciales por separado. En este apartado vamos a unir ambos conceptos,
para poder analizar los bloques funcionales secuenciales básicos, como son
los registros y los contadores.
Los registros y los contadores son bloques funcionales secuenciales que
se utilizan extensamente en el diseño de sistemas digitales. Los registros son
útiles para almacenar y manipular información; los contadores se emplean en
los circuitos que secuencian y controlan las operaciones de los sistemas
digitales.
5.3.1 Registros
Un registro no es más que una agrupación de biestables del mismo tipo.
Puesto que un biestable es capaz de almacenar 1 bit de información, si
tenemos "n" biestables, el registro será capaz de almacenar "n" bits de
información binaria (de forma temporal).
El registro más sencillo consta tan sólo de flip-flops sin puertas lógicas
externas. Estas puertas son las que determinan los nuevos datos a almacenar.
5.3.1.1 Registros de almacenamiento (tipo D)
El registro tipo D es un conjunto de biestables D y es el más utilizado
como almacén temporal de información. Cada entrada D se conecta a una
línea de entrada de información y cada salida Q se conecta a una línea de
salida de información. Por otro lado, todas las señales de reloj van unidas entre
sí, activando todos los flip-flops por flanco (de subida o bajada) o por nivel para
que la información se almacene en todos los biestables al mismo tiempo.
El esquema es el de la figura (para n=4 bits):
Q3
Q2
Q1
Q0
Q
Q
Q
Q
Clock
Clock
Clock
Clock
D
R
D
R
D
R
D
R
Reloj
Clear
D3
D2
D1
D0
19
Estructura de computadores
Tema 5: Sistemas secuenciales
En este caso, la señal de reloj es con flanco de subida. Además,
podemos observar como estos flip-flops tienen una entrada asíncrona de Reset
activada por 0 (Clear') para la inicialización del registro con ceros antes de su
operación, aunque esto es opcional (depende del uso que vayamos a darle al
registro en el sistema). Lo que haremos será tener la entrada Clear' a un valor
de "1" durante la operación normal sincronizada, haremos que sea "0" sólo
cuando queramos inicializar el registro.
La transferencia de información nueva a un registro se conoce como
carga del registro. Como estamos utilizando una señal de reloj por flanco
para la sincronización de todos los flip-flops, todos los bits del registro se
cargan de manera simultánea. Por ello decimos que la carga se hace en
paralelo.
La entrada de reloj en los biestables tipo D puede ser por flanco o por
nivel. La actuación por flanco requiere un circuito mucho más caro que por nivel
y no presenta ventajas salvo en casos muy particulares. Por esta razón, en los
computadores se utilizan casi siempre registros D activados por nivel, pero con
una señal de reloj, realmente se trata de actuación por nivel con señal de reloj
de corta duración.
5.3.1.2 Registros de desplazamiento
Son registros en los cuales la información contenida en un biestable
puede ser transferida al biestable adyacente. La transferencia se realiza en
todos los biestables simultáneamente, es decir, la información contenida en el
biestable 1 pasa al 2, al mismo tiempo que la información que había antes en el
2 pasa al 3, y así sucesivamente. Están conectados en cascada. La nueva
información en el primer biestable se toma de una entrada, y la información del
último biestable se pierde.
Hay varios tipos de registros de desplazamiento:
1. Atendiendo a la entrada de información en el registro:
1.1. Entrada paralelo: se puede modificar el valor de todos los biestables a
la vez (igual que en un registro tipo D).
1.2. Entrada serie: sólo hay una entrada conectada a un biestable (como
hemos descrito anteriormente).
2. Atendiendo a la salida de información:
2.1. Salida paralelo: todos los biestables son accesibles (sus salidas).
2.2. Salida serie: sólo el último biestable (su salida) es accesible. Los datos
van saliendo uno detrás de otro, mediante desplazamientos sucesivos.
3. Atendiendo al sentido del desplazamiento:
3.1. Desplazamiento sólo hacia la derecha / izquierda.
3.2. Desplazamiento en ambos sentidos, no simultáneo.
3.3. Rotación hacia la izquierda / derecha.
20
Estructura de computadores
Tema 5: Sistemas secuenciales
Para caracterizar o designar un registro de desplazamiento hay que
indicar todas sus características: tipo de entrada, tipo de salida y sentido del
desplazamiento. Por ejemplo, la designación: "SRG8" indica que es un registro
de desplazamiento (SRG, Shift Register) con una capacidad de 8 bits.
Suponiendo registros de 4 bits, los posibles movimientos de datos en
los registros de desplazamiento son:
Caso 1
Caso 2
Entrada: Serie
Salida : Serie
Desplazamiento: Hacia la derecha
Entrada: Serie
Salida : Serie
Desplazamiento: Hacia la izquierda
Entrada
Salida
Salida
Entrada
Caso 3
Caso 4
Caso 5
Entrada: Paralelo
Salida : Serie
Entrada: Serie
Salida : Paralelo
Entrada: Paralelo
Salida : Paralelo
Entradas
Entradas
Salida
Entrada
Salidas
Salidas
Caso 6
Caso 7
Desplazamiento: Rotación a la derecha
Desplazamiento: Rotación a la izquierda
Sus aplicaciones son muy numerosas. Entre ellas podemos citar:
•
•
•
•
•
•
Conversión paralelo-serie y viceversa
Rotaciones de los datos (multiplicar y dividir por 2 n )
Registros de memoria transitorios (buffers)
Sistemas para unidades aritméticas (+,·,/)
Como retardo de línea digital
Como generadores de secuencias
21
Estructura de computadores
Tema 5: Sistemas secuenciales
El circuito puede implementarse con biestables R-S, J-K o D síncronos,
con señal de reloj activa por flanco.
Veamos unos ejemplos de circuitos (esquemas).
Caso 1: Un registro de desplazamiento de 4 bits con entrada y salida
serie, desplazamiento a derecha.
Biestables R-S:
Entrada
S1 Q1
S2 Q2
S3 Q3
Clock
Clock
Clock
R1 Q1'
R2 Q2'
R3 Q3'
S4 Q4
Salida
Clock
R4
Q'
Reloj
Vamos a construir un cronograma para comprobar el funcionamiento del
registro. Suponemos que el registro se activa por flanco de subida.
Reloj
E' = R1
E = S1
Q1
Q2
Q3
S = Q4
t
Cronograma del registro con biestables R-S (síncronos con flanco de subida)
22
Estructura de computadores
Tema 5: Sistemas secuenciales
Biestables D:
Entrada
D1 Q1
Clock
Q1'
D2 Q2
Clock
Q2'
D3 Q3
Clock
Q3'
D4 Q4
Salida
Clock
Q4'
Reloj
Vamos a ver dos ejemplos de cronogramas, para comprobar el
funcionamiento, uno con flanco de subida y otro con flanco de bajada.
Reloj
E = D1
Q1
Q2
Q3
S = Q4
t
Cronograma del registro con biestables D (síncronos con flanco de subida)
Reloj
E = D1
Q1
Q2
Q3
S = Q4
t
Cronograma del registro con biestables D (síncronos con flanco de bajada)
23
Estructura de computadores
Tema 5: Sistemas secuenciales
Caso 4: Un registro de desplazamiento de 4 bits con entrada serie y
salida paralelo.
Biestables D:
Entrada
D1 Q1
D2 Q2
Clock
D3 Q3
Clock
Q1'
D4 Q4
Clock
Q2'
Clock
Q3'
Q4'
Reloj
S1
S2
S3
S4
Salidas de datos en paralelo
Caso 5: Un registro de desplazamiento de 4 bits con entrada paralelo y
salida paralelo.
Biestables D:
Entradas de datos en paralelo
E1
E2
D1 Q1
E3
D2 Q2
Clock
D3 Q3
Clock
Q1'
E4
D4 Q4
Clock
Q2'
Clock
Q3'
Q4'
Reloj
S1
S2
S3
S4
Salidas de datos en paralelo
Como podemos observar, en este tipo de registros no se realiza ningún
desplazamiento, por lo que no se puede considerar como registro de
desplazamiento.
24
Estructura de computadores
Tema 5: Sistemas secuenciales
5.3.2 Contadores
Un contador es un registro que pasa por una secuencia predeterminada
de estados al aplicársele pulsos de reloj.
Básicamente, son circuitos capaces de contar los impulsos que llegan
por una línea. El valor de la cuenta se expresa mediante un código, que en la
mayoría de los casos es binario natural, y a veces, BCD. Los impulsos de
entrada que son capaces de detectar son los flancos de la señal de entrada.
Dado que el estado del contador debe cambiar cuando llega un flanco de la
señal de entrada, se utilizan biestables T para construir los contadores,
conectando la línea con los impulsos a contar a la entrada de reloj. También
podemos utilizar biestables J-K.
5.3.2.1 Tipos de contadores
1. Atendiendo al código que cuentan
1.1. Binario (natural)
1.2. BCD
1.3. En anillo
1.4. En Gray
1.5. Johnson
2. Atendiendo al sentido de conteo
2.1. Contador hacia arriba (ascendentes)
2.2. Contador hacia abajo (descenentes)
2.3. Contador en ambos sentidos, no simultáneos
3. Atendiendo a la posibilidad de preselección
3.1. Contador con carga en paralelo
3.2. Contador con puesta a cero inicial solamente
4. Atendiendo a la forma de propagarse la señal de reloj internamente
4.1. Contador asíncrono (contadores con propagación)
4.2. Contador síncrono con acarreo serie
4.3. Contador síncrono con acarreo paralelo
Para caracterizar un contador se indican todas las posibilidades. Por
ejemplo, un contador BCD Aiken ascendente asíncrono.
Un contador es asíncrono cuando la salida del biestable es la entrada
de reloj del biestable siguiente. Estos contadores llevan una secuencia
(ascendente o descencente) que se repite indefinidamente.
Un contador es síncrono cuando la señal de reloj se conecta a la
entrada de reloj de cada uno de los biestables. Se utiliza cuando los estados
por los que pasa (secuencia) no son correlativos. Por ejemplo: 1,8,7,4, etc.
25
Estructura de computadores
Tema 5: Sistemas secuenciales
5.3.2.2 Diseño de contadores asíncronos
Supongamos un contador de módulo N, siendo (N-1) el mayor
número representable que contamos. Seguiremos los siguientes
pasos:
1. Calcular el número de biestables (flip-flops) necesarios: n.
Deberemos cumplir que:
2n-1 < N ≤ 2n
Donde: N = Número de estados (0..N-1)
n = Número de biestables (T o J-K).
2. Conectar las entradas de reloj de todos los biestables.
Activación del reloj
Flanco de bajada
Flanco de subida
Tipo contador
Ascendente
Descendente
Ascendente
Descendente
Salida a conectar a la entrada de
reloj del siguiente biestable
Q
Q'
Q'
Q
3. Conectar las entradas de todos los biestables a "1" lógico.
Biestables T:
conectando T="1"
Biestables J-K:
conectando J=K="1"
Ambos tipos podrán tener o no entradas asíncronas de PRESET Y CLEAR.
Sólo si nuestros biestables tienen una entrada asíncrona PRESET
seguimos con los siguientes pasos:
4. Escribir el número N-1 en binario.
5. Para todos los biestables que tienen un 1 en dicho valor binario, conectar su
salida Q junto con la señal de reloj en una puerta NAND.
6. Conectar la salida de la puerta NAND a las entradas PRESET del resto de
biestables, los que su valor binario era 0 en el valor N-1.
Por otro lado, sólo si nuestros biestables tienen una entrada asíncrona
CLEAR seguimos con los siguientes pasos:
4. Escribir el número N-1 en binario.
5. Para todos los biestables que tienen un 0 en dicho valor binario, conectar su
salida Q junto con la señal de reloj en una puerta NAND.
6. Conectar la salida de la puerta NAND a las entradas CLEAR del resto de
biestables, los que su valor binario era 1 en el valor N-1.
Lógicamente, si tenemos biestables con las dos entradas asíncronas
PRESET y CLEAR podemos utilizar cualquiera de los dos métodos descritos.
Si estas entradas se activan a nivel bajo lo hacemos como hemos descrito; si
se activan por nivel alto, utilizaremos una puerta AND en lugar de la NAND.
26
Estructura de computadores
Tema 5: Sistemas secuenciales
Un contador asíncrono es de módulo N cuando cuenta todos los estados
desde el 0 hasta el N-1 correlativamente.
Si nos piden diseñar un contador asíncrono módulo 5, éste contará 0,1,2,3,4.
Lo que hacemos utilizar biestables con entrada CLEAR, detectamos la última
combinación (N-1) y procedemos como hemos explicado para biestables
CLEAR, para que se reinicie la cuenta al llegar a N-1. Esto no es necesario si
fuera módulo potencia de 2, ya que se reinicia sólo. Por ejemplo, módulo 8.
Ejemplo
Vamos a ver como ejemplo, el circuito y cronograma de un contador
asíncrono de 3 bits, binario, con cuenta hacia arriba, sin preselección
(PRESET) ni puesta a cero (CLR). Utilizamos biestables T para realizar el
circuito. Recordemos la tabla de transición del biestable T:
T
0
0
1
1
Q(t) Q(t+1)
0
0
1
1
0
1
1
0
T
0
1
Q(t+1)
Q(t)
Q(t)'
Comentario
No cambia el estado
Invierte el estado
Necesitaremos "n" biestables. Tenemos que N = 8 estados. Se debe
cumplir:
2n-1 < N ≤ 2n ⇒ 2n-1 < 8 ≤ 2n ⇒ n ≥ 3
Con cuenta hacia arriba:
Q1 (LSB)
"1"
T1 Q1
Pulsos de reloj
"1"
Q2
T2 Q2
Q3 (MSB)
"1"
Clock
Clock
T3 Q3
Clock
Q2'
Q1'
Q3'
El funcionamiento se puede analizar en el siguiente cronograma:
Reloj
Q1
0
1
0
1
0
1
0
1
0
1
Q2
0
0
1
1
0
0
1
1
0
0
Q3
0
0
0
0
1
1
1
1
0
0
0
1
2
3
4
5
6
7
0
1
Cronograma reloj asíncrono 3 bits (cuenta hacia arriba)
27
t
Estructura de computadores
Tema 5: Sistemas secuenciales
Con cuenta hacia abajo:
Lo único que tenemos que cambiar en el circuito anterior es la señal de
reloj, para que se active por flanco de subida.
Q1 (LSB)
"1"
"1"
T1 Q1
Pulsos de reloj
Q2
T2 Q2
Q3 (MSB)
"1"
T3 Q3
Clock
Clock
Clock
Q2'
Q1'
Q3'
El funcionamiento se puede analizar en el siguiente cronograma:
Reloj
Q1
1
0
1
0
1
0
1
0
1
Q2
1
1
0
0
1
1
0
0
1
Q3
1
1
1
1
0
0
0
0
1
7
6
5
4
3
2
1
0
7
Cronograma reloj asíncrono 3 bits (cuenta hacia abajo)
Otra posibilidad hubiera sido conectar la salida Q' de cada biestable a la
entrada de reloj del siguiente, en vez de Q, manteniendo el flanco de bajada.
Q1 (LSB)
"1"
Pulsos de reloj
T1 Q1
Clock
Q1'
"1"
Q2
T2 Q2
Clock
Q2'
Q3 (MSB)
"1"
T3 Q3
Clock
Q3'
La mayor parte de los contadores asíncronos no funciona bien para
frecuencias elevadas, sobre todo cuando implementamos contadores con
módulo que no son potencia de 2.
Cuando utilizamos contadores que si son potencia de 2 (2,4,8,...), estos
funcionan bastante bien, tanto en modo ascendente como en modo
descendente. Sin embargo, en los otros casos conviene utilizar contadores
síncronos.
28
t
Estructura de computadores
Tema 5: Sistemas secuenciales
5.3.2.3 Diseño de contadores síncronos
Para los contadores síncronos podemos utilizar cualquier tipo de biestables:
R-S, J-K, D y T.
El procedimiento de diseño de contadores síncronos es:
1. Calcular el número de biestables (flip-flops) necesarios: n.
Deberemos cumplir que:
Donde:
2n-1 < N ≤ 2n
N = Número de estados
n = Número de biestables (R-S, J-K, D ó T).
2. Escribimos la tabla de funcionamiento del biestable .
3. Construimos una tabla de transiciones y excitaciones correspondientes
a las entradas del biestable utilizado. En esta tabla, averiguamos el valor
que deben de tener las entradas del biestable para que en la salida se
produzca cualquier transición (0-0, 0-1, 1-0, 1-1).
4. Utilizando esta última tabla, construimos la tabla de transiciones y
excitaciones del contador. En esta tabla averiguamos el valor que
debemos tener en las entradas para producir la secuencia de estados
pedida. Lo que conocemos son las salidas Q de los biestables, puesto que
son las combinaciones que queremos que cuente. Por tanto, ponemos
como posibles combinaciones de entrada los distintos valores que va a
contar en binario, y se trata de calcular las funciones lógicas
correspondientes a cada una de las entradas de los biestables en función
de las salidas.
5. Simplificar por Karnaugh las funciones lógicas obtenidas. Las tablas de
Karnaugh se pueden obtener directamente de la tabla anterior.
6. Realización del circuito a partir de las funciones simplificadas.
7. Comprobar el funcionamiento realizando un cronograma.
29
Estructura de computadores
Tema 5: Sistemas secuenciales
Ejemplo
Vamos a diseñar un contador que siga la siguiente secuencia con
biestables J-K: 0, 4, 6, 1, 14, 7 y vuelvan a repetirse. Utilizamos biestables J-K,
sin preselección (PRESET) ni puesta a cero (CLR).
1. Número de biestables:
Tenemos 6 posibles estados (N=6), por tanto:
2n-1 < N ≤ 2n
⇒ 2n-1 < 16 ≤ 2n
En este ejemplo vamos a utilizar n=4.
⇒ n≥ 3
2. Tabla de funcionamiento del biestable:
J
0
0
1
1
K
0
1
0
1
Q(t+1)
Q(t)
0
1
Q(t)'
Comentario
No cambia
Reset
Set
Invierte Q(t)
3. Tabla de transiciones y excitaciones de las entradas del biestable:
Transición
Q(t) ⇒ Q(t+1)
0⇒0
0⇒1
1⇒0
1⇒1
J
K
0
1
X
X
X
X
1
0
¿Qué valores pueden tomar las
entradas J-K para conseguir
dicha transición en la salida?
4. Tabla de transiciones y excitaciones del contador:
Q1
0
0
0
0
1
0
Q2
0
1
1
0
1
1
Q3
0
0
1
0
1
1
Q4
0
0
0
1
0
1
J1
0
0
0
1
X
0
K1
X
X
X
X
1
X
J2
1
X
X
1
X
X
K2
X
0
1
X
0
1
J3
0
1
X
1
X
X
K3
X
X
1
X
0
1
J4
0
0
1
X
1
X
K4
X
X
X
1
X
1
Para cada biestable x, rellenamos las columnas de Jx y Kx con los
valores que deben tomar las entradas para que en el siguiente estado cambie
su correspondiente Qx al valor del siguiente valor de la secuencia; si fuese el
último, entonces consideramos de nuevo el primero para que comience de
nuevo el ciclo.
30
Estructura de computadores
Tema 5: Sistemas secuenciales
5. Simplificamos por Karnaugh las funciones de las entradas.
q
J1 = Q2'
Q3 Q4
Q1Q2
00
00
01
11
10
0
1
X
X
0
X
0
0
X
X
X
X
X
X
X
X
01
11
10
q
q
K1 = 1
Q3 Q4
Q1Q2
00
K2 = Q1'
Q3 Q4
Q1Q2
00
01
01
11
10
01
11
10
01
X
X
X
X
X
X
1
1
X
X
X
0
X
X
X
X
0
1
X
X
1
X
X
X
X
X
X
X
X
X
X
X
00
01
11
10
X
X
X
X
X
X
1
1
X
X
X
0
X
X
X
X
J4 = Q3
Q3 Q4
Q1Q2
00
00
10
K3 = Q1'
Q3 Q4
Q1Q2
00
q
q
11
10
10
J2 = 1
01
11
11
q
00
01
q
No es necesario construir un
mapa de Karnaugh pues todas
las casillas serán X menos un
"1". Como podremos hacer un
grupo de 16 casillas (todas), la
función lógica será "1".
J3 = Q2+Q4
11
10
q
00
01
11
10
0
X
X
X
0
X
X
1
X
X
X
1
X
X
X
X
K4 = 1
31
Estructura de computadores
Tema 5: Sistemas secuenciales
6. Circuito a partir de las funciones simplificadas.
Q1 (MSB)
J1
Q1
J2
CLK1
K1
Q2
Q2
Q3
J3
CLK2
Q1'
K2
Q4 (LSB)
Q3
J4
CLK3
Q2'
K3
Q4
CLK3
Q3'
K4
Q4'
Reloj
"1"
7. Cronograma:
Reloj
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
4
6
1
14
7
0
4
6
1
(MSB) Q1
Q2
Q3
(LSB) Q4
Cronograma reloj síncrono (Secuencia: 0, 4, 6, 1, 14, 7)
NOTA: Para construir el cronograma, como ahora cambian todos los
biestables al mismo tiempo, tendremos que mirar la entrada de cada uno en el
estado anterior.
Ejemplos de IC:
q
q
q
q
74LS93: Asíncrono binario 4 bits
74LS163: Síncrono binario de 4 bits
74LS160: Décadas BCD síncrono
74LS190: Décadas ascendente / descendente
32
t