Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ELECTRONICA DIGITAL-Tema 6 Sistemas Secuenciales
ELECTRONICA DIGITAL-Tema 6 Sistemas Secuenciales
www.lanzarotecaliente.com
1.- BIESTABLES.
X (t) Z
S (t)
G
Los biestables tipo LACTCH son sensibles a nivel, mientras que los biestables tipo FLIP –
FLOP son sensibles al flanco de subida y al flanco de bajada.
Necesitamos:
- Dos estados: 0 y 1.
- Que pueda escribir.
- Que tenga capacidad de memoria.
Este tipo de circuito si que pueden tener realimentación, por lo que ya no se llaman sistemas
combinacionales. Para representar las salidas hay que tener en cuenta el retardo.
X X Y NOR (X, Y)
Z1 0 0 1
0 1 0
1 0 0
Z0 1 1 0
Y
X0
Y0
NOR
Retardo.
X=0
Ejemplo: Utilicemos la primera entrada como X = 0 e Y = 0. Reposo Z1 = Z0
Y=0
X=0 X=0 Z0 = 0
Y=1 Z1 = 1
X=1 Z0 = 1
Y=0 Z1 = 0
Tema VI : Implementación de sistemas secuenciales síncronos.
Y=1
t
Z0
t t
Z1 t
X=0
Y=1
t
Z0
t
Z1 t
Cuando se hace esto, comienza un comportamiento inestable llamado oscilamiento, por eso, se
prohibe que en este tipo de circuitos, las dos entradas puedan tener el valor 1 a la vez.
R (t) S (t) Q ( t + t )
0 0 Q (t)
0 1 1
1 0 0
1 1 Prohibido.
Un biestable del tipo LATCH cambia si la entrada de reloj CLK = 1 (durante todo el rato que
CLK = 1 puede cambiar el estado). Por tanto, cuando CLK = 0, las entradas valen 0 en el biestable.
R
R ant
Q
CLK
Q
S ant
S
X (t) Z (t) = X ( t – 1 )
R S Q Delay Q (t + 1) D R S
0 0 0 0 D (t) 0 1 0
0 0 1 1 0 0 1 0 1
0 1 0 1 1 1
0 1 1 1 S (t) = D
Tema VI : Implementación de sistemas secuenciales síncronos.
1 0 0 0 R (t) = D
1 0 1 0
SÍNCRONO
Lo que hacemos es ponerle un inversor a R.
D(t) Q
Es casi igual que el anterior. Se diferencian en que él si que está permitido que R y S valgan 1en
el mismo estado de tiempo.
Son iguales sólo que hay que modificar los valores para las entradas 1,1.
Q (t +1)
Q (t) JK = 00 JK = 01 JK = 10 JK = 11
0 0 0 1 1
1 1 0 1 0
S = 0 y R = ind. S=1yR=0
S=0yR=1 S=0yR=1
S = indiferente y R = 0 S=1yR=0
S = 0 y R = indiferente. S = ind. Y R = 0
Estos son los valores que han de tomar las entradas para conseguir los estados.
Los valores de la tabla de verdad para estas funciones son los siguientes:
Q J K S R
0 0 0 0 -
0 0 1 0 -
0 1 0 1 0
0 1 1 1 0
1 0 0 - 0
1 0 1 0 1
1 1 0 - 0
1 1 1 0 1
S K R K
0 0 1 1 - - 0 0
Tema VI : Implementación de sistemas secuenciales síncronos.
Q - 0 0 - Q 0 1 1 0
J J
S=Q·J R=Q·K
K(t) Q (t)
J (t) Q (t)
Toggle Q T Q(t+1) S R
T (t) Q (t+1) 0 0 0 0 -
0 Q (t) 0 1 1 1 0
1 Q (t) 1 0 1 - 0
1 1 0 0 1
Esto es por ejemplo, un registro de n bits, que almacena una secuencia de n bits.
( Dn-1 D0 )
n–1 0
CLK
( Qn-1 Q0)
X (t) F
Sistema Z (t)
S (t) Combinacional
G S (t+1) S (t)
Sistema Registro
Combinacional
CLK
Tema VI : Implementación de sistemas secuenciales síncronos.
SÍNTESIS:
Alto nivel
Descripción funcional
No basada en el estado.
Para empezar hay que poner Zi en función de todas las X que hay.
Zi (t) = Fi ( Xn , Qm)
Sj (t+1) = Gj (Xn, Qm)
Para conseguir que esto sea el estado siguiente, sabiendo como funciona el
Biestable, varío la entrada (síntesis de entradas) para hacerlo funcionar como
yo quiero.
Para conseguir esto, tengo que seguir unos pasos una vez elegido el biestable que voy a utilizar
(SR, JK, D, T).
Sj (t+1) = Gj (Xn, Qm)
Contador X {0, 1}
X(t) mod 4 Z (t) Z {0, 1, 2, 3}
t 1
Z (t ) X (i ) mod 4
t 0
2.- Especificación de alto nivel basada en el estado:
0
Estados: S0, S1, S2, S3
S0
1 1
S3 0 S1 0
0
1 1
S2
S0 0 0 Z0 0 0 S (t+1)
S1 0 1 Z1 0 1 S(t) Z (t) X (t) = 0 X (t) = 1
S2 1 0 Z2 1 0 0 0 0 0 0 0 0 1
S3 1 1 Z3 1 1 0 1 0 1 0 1 1 0
1 0 1 0 1 0 1 1
1 1 1 1 1 1 0 0
Para este caso no es necesario modificar la tabla. El bit de salida es el mismo que el bit de
estado. Q (t+1) = D(t)
Z (t) = (Z1 (t), Z0 (t)) Z1 (t) = q1 (t)
S (t) = ( q1 (t), q0 (t)) Z0 (t) = q0 (t)
X (t) = 0 X (t) = 1 d1 q0 d0 q0
0 0 0 1 0 0 1 1 0 1 1 0
0 1 1 0 X 0 1 0 1 X 1 0 0 1
1 0 1 1
1 1 0 0 q1 q1
q1 Z1
d1
q1
q0 Z0
d0
X q0
CLK
J K Q(t)
0 0 Q(t) Construimos una K 0= X
0 1 0 tabla de verdad J0 = X
1 0 1 más útil
1 1 Q(t)
q0 q0
J1 K1
0 0 - - - - 0 0 J1 = K1 = X · q0
X 0 1 - - X - - 1 0
q1 q1
Implementamos:
J1 Q1 Z1
X
Tema VI : Implementación de sistemas secuenciales síncronos.
K1 Q1
J0 Q0 Z0
K0 Q0
CLK
ANÁLISIS:
Entradas a lo biestables
1.- Análisis combinacional
Salidas del sistema
2.- Función de transición.
3.- Especificación de alto nivel no basada en el estado.
4.- Descripción funcional.
Ejemplo:
Q1
T1
Q1
Z
Q0
Z = q1 · q0
T0
T1 = X · q0 + X · q1
Q0
T0 = ( X q0) + q0 · q1
S0
0
Diagrama de estados
0 1
1
1
S3 S1
1 0
1 0
Tema VI : Implementación de sistemas secuenciales síncronos.
0
S2
0
T1 = X · Q0
T0 = X
T1 q0
0 0 0 0
X 0 1 1 0
q1
Q0 Z0
X T0
Q0
1
1 3
2 Q1
1 T1
0 0 Q1 Z1
X Q0
CLK
Ejemplo de análisis.
0 1 0
Q1 = A3
0 0 0
S(t)
1 0 1
Q0 = A2
1 0 0
X1 = A1
0 0 0
X(t)
X0 = A0
Tema VI : Implementación de sistemas secuenciales síncronos.
0 1 0
1 1 1
1 0 0
0 1 0
1 0 0 Z
1 0 0
0 0 1 D0 Q1
0 0 0
1 0 0 D1 Q0
0 1 0
Z (t) S (t+1)
S (t) X(t) = 0 X (t) = 1 X (t) = 2 X (t) = 3 X (t) = 0 X (t) = 1 X (t) = 2 X (t) = 3
0 0 0 1 0 S0 S1 S2 S2
1 0 0 1 0 S0 S0 S3 S3
2 0 0 0 0 S0 S3 S2 S0
3 0 0 0 1 S0 S2 S0 S3
0/0
S0
0/0 ; 1/0
2/0 ; 0/0 2/1 1/0
3/0
3/1 S3 0/0; 2/1; S1
3/1 3/0
1/0 2/0
1/0 S2
Hacemos que el biestable tome un estado inicial independientemente del estado del reloj.
La señal de puesta a 0 se llama CLEAR = Cl
La señal de puesta a 1 se llama PRESET = Pr
Las dos señales no pueden estar activadas a la vez.
Q (t)
Pr
t
Cl
Cl
R Q
Tema VI : Implementación de sistemas secuenciales síncronos.
CLK
S Q
Pr
Pr
MÓDULOS SECUENCIALES.
1) Registros:
E Si Cl = 0 Z = 0
n Si Cl = 1 Q(t) si L = 0
Q (t+1)
LOAD E (t) si L = 1
Cl
CLK
0 1
L
MUX
CLK Registro Cl
Z (t) = Q (t)
Ejemplo: n = 2
Q1 E1 Q0 E0
0 1 0 1
D1 D0
Q1 Q0
Tema VI : Implementación de sistemas secuenciales síncronos.
CLK Cl
Z1 Z0
Registro de desplazamiento:
Cl
CLK
Qj (t+1) = Qj+1 (t)
Cl
CLK
Qn-1 Qj+1 Qj-1 Q0
C1 C0 Q (t+1)
0 0 Q (t)
0 1 Desp izqda
1 0 Desp decha
1 1 E (t)
t (t) = Q (t)
Ejemplo: para n = 3
Q2 Q1 ESD E2 Q1 Q0 Q2 E1 Q0 ESI Q1 E0
0 1 2 3 0 1 2 3 0 1 2 3
0 C1 1 C1 1 C1
1 C0 0 C0 0 C0
Cl
D2 D1 D0
Q2 Q1 Q0
CLK
2) Contador:
CLK
LOAD Cl
CONTAR
Si Cl = 0 el contador adopta el estado .
n Si Cl = 1: E (t) si LOAD = 1
Q (t+1) ( Q (t) +1) mod p si LOAD = 0 y
Q CUENTA=1
Q (t) si LOAD = CUENTA = 0