secuencia les
DESCRIPTION
secuencialesTRANSCRIPT
LÓGICA SECUENCIAL
0. In
troducción
1. S
ecuenciales asíncronos y síncronos
2. Latchesy Flip-Flops: tip
os
3. F
recuencia de re
loj: tie
mpos de set-u
p y hold
4. R
egistro
s
5. C
ontadores
Secuencial
input
output=F(input,state)
nm
Circuito Secuencial:
•Es un circuito con memoria (e
stado)
•Para una determ
inada entra
da, la
salida depende del estado
(depende de entra
das anteriores)
state
INTRODUCCIÓN
Combinacional
input
output=F(input,state)
nm
Memoria
S(input,state)
state
•Un circuito combinacionaldeterm
ina la salida y el próximo estado
•El estado estácontenido de una memoria, que se constru
ye con
Latcheso Flip-flo
ps(FFs)
ASÍNCRONOS / SÍNCRONOS
•Las memorias re
quieren una inicialización (re
set), p
ara que el
circuito comience en un estado predeterm
inado
•Dos tip
os de circuitos secuenciales:
•Circuito secuencial asíncrono:
•Memoria im
plementada con latches(activo por n
ivel)
•El estado cambia con las entra
das
•Más difíc
il de diseñar (g
litchespueden afectar a
l estado)
•Circuito secuencial síncrono:
•Memoria im
plementada con FFs(activo por fla
nco de re
loj)
•El estado cambia (síncronamente) con el re
loj
•Más sencillo
de diseñar (g
litchesno afectan al estado)
Combinacional
input
output
nm
Latches
state
rst
Combinacional
input
output
nm
FFs
state
rst
clk
i0input
Combinacional
input
output
nm
Latches
state
rst
ASÍNCRONOS / SÍNCRONOS
output
S0
S1
i1i2
i0
i0
S2
i0
i1
i2i2
i2i1
i1
i2i0
state
rst
S0
S1
S2
F(i0 ,S
0 )F(i2 ,S
0 )F(i1 ,S
1 )F(i2 ,S
2 )F(i0 ,S
2 )
ASÍNCRONOS / SÍNCRONOS
Combinacional
input
output
nm
FFs
Sstate
rst
clk
S0
S1
i1i2
i0
i0
S2
i0
i1
i2i2
i1
i0input
output
i1i2
i0
state
rst
(asynch)
S0
S1
S0
F(i0 ,S
0 )F(i1 ,S
0 )F(i1 ,S
1 )F(i1 ,S
0 )F(i0 ,S
0 )
i1
F(i2 ,S
1 )
clk
LATCH / FLIP-FLOP
D-Latch
DQ
E
SR-Latch
SQ
R
S R Q+
0 0 Q
0 1 0
1 0 1
1 1 X
Latch: B
áscula biestableactiva por n
ivel
D-Latchactiva por señal habilita
ción (e
nable) (E
)
SR-Latchactiva por señal re
set (R
) o set(S)
EDQRSQ
01
0x
11
0x
10
11
10
01
00
10
00
01
10
01
E D Q+
0 X Q
1 0 0
1 1 1
E Q+
0 Q
1 D
LATCH / FLIP-FLOP
D-Latch
DQ
E
C E Q+
1 X 0
0 0 Q
0 1 D
C
D-Latch
DQ
E
P E Q+
1 X 1
0 0 Q
0 1 D
P
SR-Latch
SQ
R
E S R Q+ Q
+
0 X X Q
Q
1 1 1 Q
Q
1 1 0 0
1
1 0 1 1
0
1 0 0 X
X
E
Se pueden definir v
ariantes, in
virtie
ndo entra
das/salidas e
incorporando nuevas entra
das:
•Clear(C), P
reset(P)
•Enable(E)
Ejemplos:
SR-Latchcon Enable(E)
Q
D-Latchcon Clear(C)
D-Latchcon Preset(P)
LATCH / FLIP-FLOP
D-FF
DQ
clk
Q+
X Q
↑D
JK-FF
JQ
KJ K Q+
X X X Q
↑0 0 Q
↑0 1 0
↑1 0 1
↑1 1 Q
Flip-Flop: B
áscula biestableactiva por fla
nco (↑
o ↓)de re
loj (c
lk)
D-FF activa por fla
nco ↑
(ascendente o positiv
o) d
e clk
JK-FF activa por fla
nco ↑
de clk, donde J (set), K
(reset)
clk
01
00
10
00
01
10
1101
11
01
10
10
clk
DQclk
JQ K
clk
clk
D Q+
X X Q
↑0 0
↑1 1
clk
T-FF activa por fla
nco ↑
de clk, donde T (to
ggle)
T-FF
TQ
clk
T Q+
X X Q
↑0 Q
↑1 Q
01
00
11
clk
TQ*
LATCH / FLIP-FLOP
(*)Suponiendo Q=0 al principio)
clk
Variantes de FFsinvirtie
ndo entra
das/salidas, e incorporando:
•Clear(C) y Preset(P), p
ara re
set/setasíncronos
•Reset (R
) y Set(S), p
ara re
set/setsíncronos
•Enable(E)
LATCH / FLIP-FLOP
T-FF
TQ
clk
C
C T Q+
1 X X 0
0 X X Q
0 ↓0 Q
0 ↓1 Q
D-FF
DQ
clk
PP E Q+
1 X X 1
0 X 0 Q
0 ↑1 D
E
T-FF con Clear(C)
D-FF con Preset(P) y
Enable(E)
D-FF
DQ
clk
SS E Q+
X X X Q
↑1 X 1
↑0 0 Q
↑0 1 D
E D-FF con Set(S) y
Enable(E)
JK-FF
JQ
Kclk
JK-FF con Clear(C) y
Preset(S)
S C J K Q+Q
+
1 0 X X X 0 1
0 1 X X X 1 0
0 0 X X X X X
1 1
↓0 0 Q Q
1 1 ↓0 1 0 1
1 1 ↓1 0 1 0
1 1 ↓1 1 Q Q
C S
Q
clk
clk
clk
clk
LATCH / FLIP-FLOP
Los latchespueden im
plementarse con puerta
s lógicas, o usando
otro
s latches
RS
SR
10
01
01
10
00
0/1
1/0
11
00
a a
+b
1 0
0 b
1b0b
0b
SR-Latch
SQ
RQ
SR-Latch
SQ
RQ
SR-Latch
SQ
REQ
SR E
SR
DE
SR
D-Latch
DQ
EQ
LATCH / FLIP-FLOP
Los FFspueden im
plementarse con dos latches(m
aster/s
lave), o
usando otro
s FFs
QDE
DE
Dclk
Qmaster
Master
Latch
Slave
Latch
clk
D
Qmaster
QMaster E
=1
SlaveE=0
Master E
=0
SlaveE=1
Master E
=1
SlaveE=0
Master E
=0
SlaveE=1
D-FF
DQ
clk
D-FF
DQ
clk
P
DE
DE
Dclk
Master
Latch
Slave
Latch
Q
P
D-FF
DQ
clk
S
D
clk
S
DE
01
clk
Q
ET-FF
TQ
clk
S
D
clk
S
T
clk
QE
S
FRECUENCIA DE RELOJ
Parámetro
s temporales de los FFs:
•Tiempo de setup(ts
FF ). E
l tiempo mínimo en que las entra
das
síncronasdeben perm
anecer e
stables antes del fla
nco de clk
•Tiempo de hold(th
FF ): T
iempo mínimo en que las entra
das
síncronasdeben perm
anecer e
stables después del fla
nco de clk
•Retardo (td
FF ): T
iempo máximo en que la salida cambia
D-FF
DQ
clk
clk
DQ
Violación del ts
FF
Violación del th
FF
tsFFthFF
tdFF
Frecuencia de clkmáxima (fc
lk(m
ax) ) e
n circuitos síncronosdepende
del m
áximo re
tardo en S (td
S(m
ax) ) (fu
nción del lo
gic-depth)
input
output
nm
FFs
Sstate
clk
rst FS
tdFFtdS(m
ax)
tsFFthFF
tdS(m
in)
Tclk -ts
FF >tdFF +tdS(m
ax)
Tclk
fclk(m
ax) =1/T
clk(m
in) =1/(td
FF +tdS(m
ax) +tsFF )
thFF <tdFF +tdS(m
in)
clk
stateFS
S1
S2
F(input,S
1 )
S(input,S
1 )Para evitar violación ts :
Para evitar violación th :
FRECUENCIA DE RELOJ
REGISTROS
Register4-bit
Register
DQ
clk L
L Q[j]+
X X Q[j]
↑0 Q[j]
↑1 D[j]
44
Serial Load Register
S Q[j]+ Q[3]+
X X Q[j] Q[3]
↑0 Q[j] Q[3]
↑1 Q[j+1] D j=0,1,2,3j=
0,1,2
4-bit
Register
DQ
clk S
4
DQ
E DQ
E
DQ
E DQ
E
DQ
E DQ
E
DQ
E DQ
E
D[3:0]
Q[3:0]
4
4
32
10
32
10
Lclk
DQ
E
DQ
E
DQ
E
DQ
E
D
Q[3:0]
43
21
0
Sclk
clk c
lk
REGISTROSj=0,1,2
RightShiftRegister: D
esplaza un bitpor fla
nco de clk
4-bit
Register
DQ
clk L
4
L S Q[j]+ Q[3]+
X X X Q[j] Q[3]
↑0 0 Q[j] Q[3]
↑1 X D[j] D[3]
↑0 1 Q[j+1] 0(1)
S
(1) C
uando se produce desplazamiento, el nuevo Q[3] +puede ser:
Q[3] += 0 es un desplazamiento lógico (L
SR)
Q[3] += Q[3] es un desplazamiento aritm
ético (A
SR)
Q[3] += Q[0] es una ro
tación (R
OR)
De form
a análoga puede constru
irse un LeftShiftRegister
Q[0] += 0 para LSL/ASL, Q
[0] += Q[3] para ROL
DQ
E
DQ
E
DQ
E
DQ
E
D[3:0]
Q[3:0]
4
32
10
Sclk 0L
40
12
3
4
10
clk
REGISTROS
ASR: N
o cambia el M
SB
LSR: M
SB cambia a ‘0’
ASL: LSB cambia a ‘0’
LSL: LSB cambia a ‘0’
1000
0100
0
1000
1100
ROR: M
SB cambia con el LSB
1001
1100
0101
1010
0
0101
1010
0
ROL: LSB cambia con el M
SB
1100
1001
REGISTROS
Barre
lShiftRegister:
4-bit
Register
DQ
E
4
4
•Desplazamientos (A
SR/LSR/ROR/ASL/LSL/ROL) d
e un
número arbitra
rio de bits
•El circuito (combinacional) b
arre
l-shifte
rocupa un elevado
número de puerta
s lógicas
4-bit
Barre
l
Shifte
r
4Q
D4
LS
clk
D QO
O(0)
Q(0)
Q(1)
Q(2)
Q(3)0
D(0)
1
LS 3
000
001
010
011
10X
11X
L S[3:0] M[2:0]
1 XXXX 11X
0 0000 000
0 0001 001
0 0010 010
0 0011 011
0 01XX 011
0 1XXX 10X
4
Ejemplo del barre
l-shifte
rpara el bit
O(0) p
ara desplazamientos ASR/ASL
en función de S>0/S<0
(S codific
a número con signo)
M
clk↑
CONTADORES
Contador síncrono: La entra
da clkde todos los FF es la misma
R E Q[3:0] Q+[3:0]
1 X XXXX 0000
0 0 XXXX Q[3:0]
0 1 0000 0001
0 1 0001 0010
0 1 0010 0011
0 1 0011 0100
0 1 0100 0101
0 1 0101 0110
0 1 0110 0111
0 1 0111 1000
...
0 1 1110 1111
0 1 1111 0000
R E Q+[3:0]
1 X 0000
0 0 Q[3:0]
0 1 Q[3:0]+1
4-bit
Counter
Q
clk E
R
4clk↑
4-bit
Register
DQ
E
4
4
4-bit
Adder
4Q
0001
4
Rclk
B AO
E
clk↑
DQ
EE
Q
DQ
E
Q
DQ
E
Q
DQ
E
Q
Q[3:0]
21
04
3clkR
RR
RR
Q+[0
]=Q[0] (s
i E=1)
Q+[1
]=Q[1] (s
i Q[0]*E
=1)
Q+[2
]=Q[2] (s
i Q[1]*Q
[0]*E
=1)
Q+[3
]=Q[3] (s
i Q[2]*Q
[1]*Q
[0]*E
=1)
Ejemplo: C
ontador a
scendente binario
CONTADORES
Ejemplo: C
ontador síncronoascendente BCD (M
ódulo 10)
4-bit
Counter
Q
clk ER
4
R
EQ
01
23
4-bit
BCD
Counter
Q
clk E
R
4
R E Q[3:0] Q+[3:0]
1 X XXXX 0000
0 0 XXXX Q[3:0]
0 1 0000 0001
0 1 0001 0010
0 1 0010 0011
0 1 0011 0100
0 1 0100 0101
0 1 0101 0110
0 1 0110 0111
0 1 0111 1000
0 1 1000 1001
0 1 1001 0000
0000
0001
0010
1001
0000
1000
0011
clk
RQa
a
tda(m
ax)
tdFF +tda(m
ax)
clk↑