Documente Academic
Documente Profesional
Documente Cultură
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 realimentacin, 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
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
1 0 0 0 R (t) = D
1 0 1 0
SNCRONO
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 slo 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
Q - 0 0 - Q 0 1 1 0
J J
S=QJ R=QK
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 )
n1 0
CLK
( Qn-1 Q0)
X (t) F
Sistema Z (t)
S (t) Combinacional
G S (t+1) S (t)
Sistema Registro
Combinacional
CLK
SNTESIS:
Alto nivel
Descripcin funcional
No basada en el estado.
Para empezar hay que poner Zi en funcin 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, varo la entrada (sntesis 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.- Especificacin 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
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 ms 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
K1 Q1
J0 Q0 Z0
K0 Q0
CLK
ANLISIS:
Tema VI : Implementacin de sistemas secuenciales sncronos.
Entradas a lo biestables
1.- Anlisis combinacional
Salidas del sistema
2.- Funcin de transicin.
3.- Especificacin de alto nivel no basada en el estado.
4.- Descripcin 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
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 anlisis.
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)
0 1 0
X0 = A0
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)
Tema VI : Implementacin de sistemas secuenciales sncronos.
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 seal de puesta a 0 se llama CLEAR = Cl
La seal de puesta a 1 se llama PRESET = Pr
Las dos seales no pueden estar activadas a la vez.
Q (t)
Pr
Cl
Cl
R Q
CLK
S Q
Pr
Pr
MDULOS 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
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)
Tema VI : Implementacin de sistemas secuenciales sncronos.
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