Professional Documents
Culture Documents
Decimos que un sistema lógico es secuencial cuando sus salidas dependen de los valores de
las entradas actuales y de los valores que hayan tomado anteriormente, desde la puesta en
marcha del sistema. Es decir, de toda la secuencia de entradas desde el inicio.
La principal diferencia entre los sistemas lógicos secuenciales (sls) y los combinatorios (slc)
es que en los últimos, las salidas en cada instante dependen únicamente de las entradas en
aquel mismo instante;
X SLC Y
m n
Yt = f(Xt)
Fig. 1.1 Ecuación general de los SLC´s (t es el tiempo)
Mientras que en los secuenciales, las salidas dependen de todos los valores que hayan ido
tomando las entradas desde el inicio
X SLS Y
m n
Yt = f(Xt, Xt-1 , …, X0 )
Fig. 1.2 Ecuación general de los SLS´s (t es el tiempo)
Por tanto, mientras en los circuitos combinatorios, el valor de las salidas en cada instante se
calcula directamente a partir de las señales de entrada, en los circuitos secuenciales se
calcula a partir de las señales de entrada y de algún mecanismo de memoria que permita
conservar los valores que ha ido tomando la entrada desde la puesta en marcha del sistema.
X0 Y0 X0 Y0
. Bloque de . . Bloque de .
. puertas . . puertas .
. . . lógicas .
lógicas
Xm Yn Xm Yn
Mem
1
2. Elementos de memoria
Ya que estamos hablando de circuitos lógicos, las entradas de estos serán valores booleanos
(verdadero o falso, 1 o 0, ...) Por esta razón, los elementos que se utilizan como memoria en
los SLS tendrán que ser capaces de almacenar la información bit a bit.
Definimos el elemento básico de memoria, que denominamos biestable, como un circuito
lógico que pueda:
- Mantener un bit de información indefinidamente
- Modificar su contenido en función de algún tipo de entrada.
El circuito más elemental capaz de mantener un valor booleano durante un tiempo indefinido
es el mostrado en la figura 2.1
Habitualmente y por comodidad, lo representaremos con los dos inversores orientados para
el mismo lado y llamaremos Q y Q´a sus terminales accesibles, ya que siempre presentarán
valores complementarios.
Q´
Fig. 2.2 Biestable elemental con los terminales de salida Q y Q´
Se puede observar fácilmente que este circuito se puede mantener de forma totalmente
estable en cualquiera de los dos estados posibles mostrados en la figura 2.3, de aquí que se
llame biestable.
0 1 Q=1 1 0 Q=0
1 0 Q´=0 0 1 Q´=1
Cuando Q vale 1 diremos que el biestable está guardando un 1, y cuando valga 0 diremos que
guarda un 0. Este circuito permite guardar un bit pero no se puede modificar.
2
2.2 Biestable S-R
R
Q
Q´
S
Fig. 2.4 Biestable S-R
R=0, S=0
(0+0)´=1 (0+1)´=0
0 0
R 1 R 0
Q=1 Q=0
0 Q´=0 1 Q´=1
S 0 S 0
(1+0)´=0 (0+0)´=1
Fig 2.5 Con las entradas R=0 y S=0, el circuito se comporta como el del apartado anterior
Esta información se puede reflejar en una tabla de verdad, donde le hacemos constar los
s entradas de S y R y los valores después de pasar por las
puertas NOR, que las llamaremos Q+ y Q´+
R S Q Q´ Q+ Q´+
0 0 0 1 0 1
0 0 1 0 1 0
En estos dos casos las salidas no ofrecen ninguna modificación y son estables, pero veamos
los otros casos.
3
R=0, S=1
Q=0 R 0 (0+1)´=0
0 0 (0+0)´=1
Q=0 R 1 Q=1
1 Q´=1 0
S 0 1 Q´=0
S
(0+0)´=1 (1+1)´=0
R S Q Q´ Q+ Q´+
0 0 0 1 0 1
0 0 1 0 1 0
0 1 0 1 1 0
-------------------------------------------------------------------------------------------------------
Q=1
(0+0)´=1 (0+0)´=1
R 0 1 R 0 1
Q=1 Q=1
0 Q´=0 0 Q´=0
S 0 S 1
(1+0)´=0 (1+1)´=0
R S Q Q´ Q+ Q´+
0 0 0 1 0 1
0 0 1 0 1 0
0 1 0 1 1 0
0 1 1 0 1 0
4
R=1, S=0
Este caso es simétrico al anterior y por tanto, la tabla nos quedará de la siguiente forma:
R S Q Q´ Q+ Q´+
0 0 0 1 0 1
0 0 1 0 1 0
0 1 0 1 1 0
0 1 1 0 1 0
1 0 0 1 0 1
1 0 1 0 0 1
R=1, S=1
0 (0+1)´=0 (1+0)´=0
R 1
0 Q=0
R 0 Q=0
1 0
0 Q´=1 1 Q´=0
S S
(0+0)´=1 (0+1)´=0
5
2.3 Tabla de transiciones
En el apartado anterior se ha obtenido una tabla con los valores que introducen las señales R
y S y la situación inicial de Q (Q´es el complementario) por un lado, y por el otro, la
situación en la que queda el biestable, Q+ (Q+´).
R S Q Q´ Q+ Q´+
Tabla de transiciones del biestable S-R
0 0 0 1 0 1
0 0 1 0 1 0 R S Q+
0 1 0 1 1 0 0 0 Q Q mantiene su valor
0 1 1 0 1 0 0 1 1 Q pasa a valer 1
1 0 0 1 0 1 1 0 0 Q pasa a valer 0
1 0 1 0 0 1 1 1 prohibida
1 1 0 1 prohibida
1 1 1 0 prohibida
Esta es la tabla que llamamos de transiciones, la que a partir de las entradas describe el
comportamiento de la salida. Esta tabla describe perfectamente el comportamiento del
biestable, por lo que a partir de ahora nos basta con disponer de:
- Un símbolo que represente el biestable.
- La tabla de transiciones que defina su comportamiento.
6
2.4 Sincronización
En los circuitos combinacionales la única noción temporal que interviene es el “presente”, sin
embargo, en los circuitos secuenciales se tiene en cuenta la evolución temporal de las
tiempo
1
clk 0
1
Por nivel 1 0
Por nivel
1
Por nivel 0 0
Tipo de
sincronización 1
Por flanco ascendente 0
Por flanco
1
Por flanco descendente 0
7
2.5 Biestable S-C por nivel
Un biestable S-C por nivel 1, es decir que sólo admite cambios cuando la señal de reloj valga
1, se puede obtener a partir de un biestable S-R.
Si en lugar de trabajar con nivel 1, lo hiciéramos con nivel 0, la tabla de transiciones sería
igual cambiando en la columna de clk los 1´s por 0´s y viceversa.
En el símbolo, se modifica la entrada de clk
Símbolo del biestable S-C sincronizado por nivel 0
C Q
o clk
S Q´
8
2.6 Biestable D por nivel
Algunas veces interesa disponer de otras entradas al biestable que permitan modificar su
contenido independientemente del reloj. Refiriéndonos a la figura 2.13, le añadimos las
entradas Cl (Clear: poner a 0), y Pr (Preset: poner a 1), que modifican el contenido del
biestable en cualquier momento.
Las entradas asíncronas se indican arriba y abajo del símbolo.
Cl Pr Cl clk C S Q+
C 0 0 1 0 0 Q
R Q Q C Cl Q 0 0 1 0 1 1
clk clk 0 0 1 1 0 0
Q´
S S Q´ S Q´ 0 0 1 1 1 prohibida
Pr
0 0 0 X X Q
Pr 0 1 X X X 0
1 0 X X X 1
Fig 2.16 Biestable S-C sincronizado por nivel 1 con entradas asíncronas
1 1 X X X prohibida
9
2.8 Biestable S-C por flanco
En determinado tipo de circuitos puede ser posible que se necesite un biestable en el que el
tiempo durante el que se pueda hacer cambios sea muy corto.
En estos casos, aceptar que el biestable conmute durante todo el tiempo que el reloj está a 1
o a 0 sincronizado por nivel puede ser demasiado. El reloj es una señal eléctrica y tiene un
límite de frecuencia más allá del cual no se puede hacer que vaya más rápido, y por tanto que
dure menos.
En estos casos se utilizan biestables sincronizados por flanco en los cuales sólo se admite
que conmute en el momento en el que el reloj pasa de 0 a 1 si es flanco ascendente o de 1 a 0
si es flanco descendente.
Una posible forma de implementar una sincronización así es hacerlo con un biestable amo-
esclavo (“master-slave”) que está constituido por dos biestables: el amo y el esclavo
sincronizados, uno por nivel 1, y el otro por nivel 0, con las salidas del amo conectadas a las
entradas del esclavo.
S S Q S Q Q S Q
clk o clk clk
C C Q´ C Q´ Q´ C Q´
tiempo
Activo para el esclavo
Activo para el amo Activo para el amo
clk
C
Q del amo conmuta Q del amo no cambia
Q amo Q del amo conmuta
10
2.9 Biestable J-K
J K Q S C Q+
J
S Q Q J Cl Q 0 0 0 0 0 0
clk 0 0 1 0 0 1 J K Q+
C Q´ Q´ K Q´ 0 1 0 0 0 0 0 0 Q
K
0 1 1 0 1 0
Pr
0 1 0
1 0 0 1 0 1 1 0 1
1 0 1 0 0 1 1 1 Q´
1 1 0 1 0 1
1 1 1 0 1 0
Fig 2.19 Biestable J-K sincronizado por flanco ascendente con entradas asíncronas
Hasta ahora hemos descrito cada biestable con su tabla de transiciones. Ésta define
completamente el funcionamiento del biestable desde la entrada hasta la salida.
Al diseñar circuitos nos encontraremos que muchas veces queremos saber el valor que
tenemos que poner en la entrada para obtener una determinada salida, es decir la tabla
contraria a la de transiciones que llamaremos de excitaciones.
Tabla de transición del biest. J-K Tabla de excitación del biest. J-K
J K Q+ Q -> Q+ J K
0 0 Q 0 -> 0 0 X Cada línea significa:
0 1 0 0 -> 1 1 X Si en la salida (Q) tengo este valor y quiero
1 0 1 1 -> 0 X 1 que pase a este otro (Q+ ), en las entradas
1 1 Q´ 1 -> 1 X 0 (J-K) tengo que tener estos valores.
Fig 2.20 Comparación de las tablas de transición y excitación del biestable J-K
11
Caso 0->1:
Si tenemos un 0 a la salida y queremos obtener un 1, tenemos dos opciones:
Poner el biestable a 1: J=1, K=0
Invertir el 0 que teníamos (Q´): J=1, K=1
Observamos que el valor de K no influye (K=X). Para obtener un 1 a la salida es suficiente con
poner J=1.
Caso 1->0:
Si tenemos un 1 a la salida y queremos obtener un 0, tenemos dos opciones:
Poner el biestable a 0: J=0, K=1
Invertir el 1 que teníamos (Q´): J=1, K=1
Observamos que el valor de J no influye (J=X). Para obtener un 0 a la salida es suficiente
con poner K=1.
Caso 1->1:
Si tenemos un 1 a la salida y queremos mantenerlo, tenemos dos opciones:
Mantener el 1 que teníamos: J=0, K=0
Poner el biestable a 1: J=1, K=0
Observamos que el valor de J no influye (J=X). Para obtener un 1 a la salida es suficiente
con poner K=0.
El biestable tipo D por flanco ascendente lo podemos obtener a partir del J-K.
D J Q Q D Q D Q+ Q -> Q+ D
clk 0 0 0 -> 0 0
o K Q´ Q´ Q´ 1 1 0 -> 1 1
1 -> 0 0
1 -> 1 1
Fig 2.21 Biestable D sincronizado por flanco ascendente
12
2.12 Biestable T por flanco
El biestable T, al igual que el D, dispone de una sola entrada que lo que hace es cambiar de
valor la salida cuando la entrada está a 1 o mantenerla si está a 0.
El biestable tipo T por flanco ascendente lo podemos obtener a partir del J-K.
T J Q Q T Q T Q+ Q -> Q+ T
clk 0 Q 0 -> 0 0
K Q´ Q´ Q´ 1 Q´ 0 -> 1 1
1 -> 0 1
1 -> 1 0
Fig 2.21 Biestable T sincronizado por flanco ascendente
13