2009
dce
Thiết kế mạch số dùng HDL
Chương 3: Thiếtkế mạch luậnlý
Chương
3:
Thiết
kế
mạch
luậnlý
tuần tự
0
9
Nội dung chính
g
20
0
• Các phần tử lưu trữ
Fli
Fl
e
rin
g
•
Fli
p-
Fl
op
• Bus và các thiết b
ị
ba tr
ạ
n
g
thái
g
ine
e
ị ạ g
•Thiết kế máy tuần tự
•
Đồ thị biến đổitrạng thái (State
En
g
•
Đồ
thị
biến
đổi
trạng
thái
(State
-
Transaction Graph)
Bộ h ể ã ốitiế hiệ t ề dữ
uter
•
Bộ
c
h
uy
ể
n m
ã
n
ối
tiế
p c
h
o v
iệ
c
t
ruy
ề
n
dữ
liệu (Serial-line code converter)
o
mp
•Rút gọn trạng và các trạng thái tương
đươn
g
C
o
©2009, Pham Quoc Cuong
2
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
g
0
9
Nội dung chính
g
20
0
• Các phần tử lưu trữ
Fli
Fl
e
rin
g
•
Fli
p-
Fl
op
• Bus và các thiết b
ị
ba tr
ạ
n
g
thái
g
ine
e
ị ạ g
•Thiết kế máy tuần tự
•
Đồ thị biến đổitrạng thái (State
En
g
•
Đồ
thị
biến
đổi
trạng
thái
(State
-
Transaction Graph)
Bộ h ể ã ốitiế hiệ t ề dữ
uter
•
Bộ
c
h
uy
ể
n m
ã
n
ối
tiế
p c
h
o v
iệ
c
t
ruy
ề
n
dữ
liệu (Serial-line code converter)
o
mp
•Rút gọn trạng và các trạng thái tương
đươn
g
C
o
©2009, Pham Quoc Cuong
3
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
g
0
9
Mạch tuần tự
g
20
0
• Ngõ ra ở thời điểm t phụ
thuộc vào ngõ vào tạithời
e
rin
g
thuộc
vào
ngõ
vào
tại
thời
điểm t và “lịch sử” ngõ
vào trước đó
1
a
g
ine
e
•Cần những phần tử lưu
trữ lại các trạng thái quá
Sequential
y
1
b
c
a
y2
En
g
khứ của mạch
•Mạch tuần tự có thể là
đ đị hh á ất
Circuit
y3
uter
đ
ơn
đị
n
h
h
ay x
á
c su
ất
,
đồng bộ hay bất đồng bộ
•
Các phầnmềmtổng hợp
o
mp
•
Các
phần
mềm
tổng
hợp
hiện chỉ hỗ trợ đồng bộ
(synchronous)
C
o
©2009, Pham Quoc Cuong
4
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
(synchronous)
0
9
Các phần tử bộ nhớ (Storage elements)
g
20
0
•Lưu trữ thông tin dưới dạng nhị phân
e
rin
g
• Level sensitive
Latches
g
ine
e
Latches
Ngõ ra của mạch thay đổi ngay khi một hay
nhiều ngõ vào thay đổi (tín hiệu enable tích
En
g
nhiều
ngõ
vào
thay
đổi
(tín
hiệu
enable
tích
cực)
Ed iti
uter
•
Ed
ge sens
iti
ve
Flip-Flop
o
mp
Ngõ ra của mạch chỉ thay đổi khi có tín hiệu
đồng bộ
C
o
©2009, Pham Quoc Cuong
5
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
đồng
bộ
0
9
Latches
g
20
0
e
rin
g
g
ine
e
En
g
S1 R1 Q
next
Q’
next
S2 R2 Q
next
Q’
next
uter
00 Q Q’ Hold
0
1
0
1
Reset
00 1 1
Not allowed
0
1
1
0
Set
o
mp
0
1
0
1
Reset
10 1 0 Set
0
1
1
0
Set
10 0 1 Reset
C
o
©2009, Pham Quoc Cuong
6
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
11 0 0
Not allowed
11 Q Q’ Hold
0
9
Latches trong suốt (D-latch)
g
20
0
•Dữ liệu ngõ ra chỉ thay đổi theo ngõ vào
khi l t h đ hé h t độ (bl)
e
rin
g
khi
l
a
t
c
h
đ
ược p
hé
p
h
oạ
t
độ
ng
(
ena
bl
e
)
• Clocked Latch
g
ine
e
En
g
uter
o
mp
Enable = 0, Hold state
C
o
©2009, Pham Quoc Cuong
7
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
0
9
D-latch
g
20
0
e
rin
g
g
ine
e
En
g
uter
o
mpC
o
©2009, Pham Quoc Cuong
8
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
0
9
Nội dung chính
g
20
0
• Các phần tử lưu trữ
Fli
Fl
e
rin
g
•
Fli
p-
Fl
op
• Bus và các thiết b
ị
ba tr
ạ
n
g
thái
g
ine
e
ị ạ g
•Thiết kế máy tuần tự
•
Đồ thị biến đổitrạng thái (State
En
g
•
Đồ
thị
biến
đổi
trạng
thái
(State
-
Transaction Graph)
Bộ h ể ã ốitiế hiệ t ề dữ
uter
•
Bộ
c
h
uy
ể
n m
ã
n
ối
tiế
p c
h
o v
iệ
c
t
ruy
ề
n
dữ
liệu (Serial-line code converter)
o
mp
•Rút gọn trạng và các trạng thái tương
đươn
g
C
o
©2009, Pham Quoc Cuong
9
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
g
0
9
Flip-Flop
g
20
0
•Hoạt động đồng bộ với cạnh lên hoặc
ố ủ lk
e
rin
g
xu
ố
ng c
ủ
a xung c
l
oc
k
D FF
g
ine
e
Master-slave FF
J
-
KFF
En
g
J
-
K
FF
T FF
uter
o
mpC
o
©2009, Pham Quoc Cuong
10
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
0
9
D Flip-Flop
g
20
0
DQQ
next
D
Q
e
rin
g
00 0
01 0
D
Q
g
ine
e
10 1
11 1
clk Q'
En
g
uter
o
mpC
o
©2009, Pham Quoc Cuong
11
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
0
9
Master-slave Flip-Flop
g
20
0
• D FF có thể được hiện thực từ 2 D-latch
ới ấ tú
Mt
Sl
e
rin
g
v
ới
c
ấ
u
t
r
ú
c
M
as
t
e
r
-
Sl
ave
D
D
Q
Q
Data
g
ine
e
En
En
Q'
Q
En
g
•
Transmission gate (non
-
restoring)
clock
uter
Transmission
gate
(non
restoring)
~enable
~enable
o
mp
enable
output_sig
input_sig
C
o
©2009, Pham Quoc Cuong
12
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
enable
enable
0
9
JK FF và T FF
g
20
0
• JK Flip Flop
e
rin
g
J Q
g
ine
e
clk
Q'
K
En
g
•
T Flip Flop (Toggle FF)
uter
•
T
Flip
Flop
(Toggle
FF)
T Q
o
mp
clk
Q
'
C
o
©2009, Pham Quoc Cuong
13
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
clk
Q
0
9
Nội dung chính
g
20
0
• Các phần tử lưu trữ
Fli
Fl
e
rin
g
•
Fli
p-
Fl
op
• Bus và các thiết b
ị
ba tr
ạ
n
g
thái
g
ine
e
ị ạ g
•Thiết kế máy tuần tự
•
Đồ thị biến đổitrạng thái (State
En
g
•
Đồ
thị
biến
đổi
trạng
thái
(State
-
Transaction Graph)
Bộ h ể ã ốitiế hiệ t ề dữ
uter
•
Bộ
c
h
uy
ể
n m
ã
n
ối
tiế
p c
h
o v
iệ
c
t
ruy
ề
n
dữ
liệu (Serial-line code converter)
o
mp
•Rút gọn trạng và các trạng thái tương
đươn
g
C
o
©2009, Pham Quoc Cuong
14
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
g
0
9
Bus và các thiết bị ba trạng thái
g
20
0
•Bus
ế ố ề ế
e
rin
g
K
ế
t n
ố
i nhi
ề
u thi
ế
t bị với nhau
Đ
ườn
g
dữ li
ệ
u tốc đ
ộ
cao
g
ine
e
g ệ ộ
•Thiết bị ba trạng thái
Kết ốiàb
En
g
Kết
n
ối
v
à
o
b
us
Ngõ ra là hàm của ngõ vào nếu tín hiệu điều
ể
uter
khi
ể
n tích cực
N
g
õ ra ở dạn
g
tổn
g
trở cao
(
Hi-Z
)
nếu tín hiệu
o
mp
g g g (
)
điều khiển không tích cực
C
o
©2009, Pham Quoc Cuong
15
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
0
9
Nội dung chính
g
20
0
• Các phần tử lưu trữ
Fli
Fl
e
rin
g
•
Fli
p-
Fl
op
• Bus và các thiết b
ị
ba tr
ạ
n
g
thái
g
ine
e
ị ạ g
• Thiết kế máy tuần tự
•
Đồ thị biến đổitrạng thái (State
En
g
•
Đồ
thị
biến
đổi
trạng
thái
(State
-
Transaction Graph)
Bộ h ể ã ốitiế hiệ t ề dữ
uter
•
Bộ
c
h
uy
ể
n m
ã
n
ối
tiế
p c
h
o v
iệ
c
t
ruy
ề
n
dữ
liệu (Serial-line code converter)
o
mp
•Rút gọn trạng và các trạng thái tương
đươn
g
C
o
©2009, Pham Quoc Cuong
16
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
g
0
9
Máy tuần tự - Định nghĩa
g
20
0
•Trạng thái (State) của máy tuần tự là những thông tin
hi
ệ
n t
ạ
i của má
y
e
rin
g
ệ ạ y
•Trạng thái ở thời điểm t + 1 được quyết định bởi trạng
thái ở thời điểm t và giá trị đầu vào tại thời điểm t
g
ine
e
•Tập hợp các trạng thái của máy trạng thái là hữu hạn
nên được gọi là máy trạng thái hữu hạn (Finite State
Machine
-
FSM
)
En
g
Machine
FSM
)
Present State
(PS)
Input
uter
Next-state Logic Memory
Next state
(NS)
(PS)
o
mpC
o
©2009, Pham Quoc Cuong
17
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
Feedback of present state
Block Diagram of a sequential
machine
0
9
Máy trạng thái đồng bộ
(Synchronous sequential machine)
g
20
0
(Synchronous
sequential
machine)
• Máy trạng thái bất đồng bộ gặp vấn đề race
condition
e
rin
g
condition
• Máy trạng thái đồng bộ sử dụng xung clock để
đồng bộ các trạng thái ngõ vào
g
ine
e
đồng
bộ
các
trạng
thái
ngõ
vào
• Tín hiệu xung clock có thể đối xứng hay bất đối
xứng
En
g
xứng
•Thời khoảng xung clock phải lớn hơn thời gian
tính toán chuyểntrạng thái
uter
tính
toán
chuyển
trạng
thái
• Máy trạng thái hữu hạn đồng bộ (Synchronous
FSMs)
o
mp
FSMs)
Số trạng thái
Điềukhiển chuyểntrạng thái bằng xung clock
C
o
©2009, Pham Quoc Cuong
18
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
Điều
khiển
chuyển
trạng
thái
bằng
xung
clock
0
9
Mealy machine vs. Moore machine
g
20
0
Next-state
C
State register
OutputInput
Output
C
e
rin
g
C
ombinational
Logic
State
register
(Memory)
C
ombinational
Logic
C
l
oc
k
g
ine
e
Feedback of present state
Coc
Block Diagram of a Mealy sequential machine
En
g
Block
Diagram
of
a
Mealy
sequential
machine
Next
-
state
St t i t
OutputInput
Output
uter
Next state
Combinational
Logic
St
a
t
e reg
i
s
t
er
(Memory)
Output
Combinational
Logic
Clock
o
mp
Feedback of
p
resent state
Clock
C
o
©2009, Pham Quoc Cuong
19
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
p
Block Diagram of a Moore sequential machine
0
9
Nội dung chính
g
20
0
• Các phần tử lưu trữ
Fli
Fl
e
rin
g
•
Fli
p-
Fl
op
• Bus và các thiết b
ị
ba tr
ạ
n
g
thái
g
ine
e
ị ạ g
•Thiết kế máy tuần tự
•
Đồ thị biến đổitrạng thái (State
En
g
•
Đồ
thị
biến
đổi
trạng
thái
(State
-
Transaction Graph)
Bộ h ể ã ốitiế hiệ t ề dữ
uter
•
Bộ
c
h
uy
ể
n m
ã
n
ối
tiế
p c
h
o v
iệ
c
t
ruy
ề
n
dữ
liệu (Serial-line code converter)
o
mp
•Rút gọn trạng và các trạng thái tương
đươn
g
C
o
©2009, Pham Quoc Cuong
20
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
g
0
9
Đồ thị biến đổi trạng thái
g
20
0
•Một máy trạng thái có thể biểu diễn bằng
Đồ thị trạng thái bảng trạng thái
e
rin
g
Đồ
thị
trạng
thái
,
bảng
trạng
thái
Giản đồ thời gian
Sơ đồ ASM (Abstract state machine)
g
ine
e
Sơ
đồ
ASM
(Abstract
state
machine)
• Đồ thị chuyển trạng thái (STG) là một đồ thị có
hướng
En
g
hướng
Các đỉnh biểu diễn các trạng thái (nếu là Moore
machine thì thêm giá trị ngõ ra)
uter
Các cạnh biểu diễn sự chuyển đổi từ trạng thái này
đến trạng thái khác
Tê á h
o
mp
•
Tê
n c
á
c cạn
h
Mealy machine: input/output
Mhiit
C
o
©2009, Pham Quoc Cuong
21
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
M
oore mac
hi
ne:
i
npu
t
0
9
Ví dụ - Mealy
g
20
0
Next state/Output table
reset
e
rin
g
State
Next state/output
input
S_0
1/0
0/1
g
ine
e
01
S_0 S_1/1 S_2/0
S_1 S_2
1/0
1/0
En
g
S_1
S_2
S3
S_3/1
S_4/0
S5/0
S_4/0
S_4/1
S5/1
S_3 S_4
0/0, 1/1
0/1
0/0 1/1
uter
S
_
3
S_4
S5
S
_
5/0
S_5/1
S0/0
S
_
5/1
S_6/0
S0/1
S5
S6
0/10/0 1/1
o
mp
State transition graph
S
_
5
S_6
S
_
0/0
S_0/1
S
_
0/1
-/-
S
_
5
S
_
6
0/10/1
State transition table
C
o
©2009, Pham Quoc Cuong
22
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
State
transition
table
0
9
Ví dụ
g
20
0
Next State/Output
1/0
0/1
e
rin
g
State Input
01
S0
S1/0
S2/1
S_2 S_0 S_1
1/0
0/1
g
ine
e
S
_
0
S_1
S_2
S
_
1/0
S_0/1
-
S
_
2/1
-
S_0/0
1/1 0/0
En
g
S_0/0 S_1/0
0
St t
Next State/Output
It
uter
00
11
St
a
t
e
I
npu
t
01
S0 S1/0 S3/1
o
mp
S_3/1 S_2/1
1
_
S_1
S_3
S_2
_
S_2/1
-
S_1/0
_
-
S_0/1
S_3/0
C
o
©2009, Pham Quoc Cuong
23
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
State transition graph
State transition table
0
9
Các điều kiện
g
20
0
•Mỗi đỉnh chỉ biểu diễn duy nhất một trạng
thái
e
rin
g
thái
•Mỗi c
ạ
nh chỉ biểu diễn du
y
nhất m
ộ
t s
ự
g
ine
e
ạ y ộ ự
biến đổi từ trạng thái hiện tại đến trạng
thái tiếp theo
En
g
thái
tiếp
theo
•Tại mỗi đỉnh phải có tất cả các cạnh có thể
uter
ra khỏi đỉnh đó
•
Tạimỗi đỉnh chỉ có duy nhấtmộtcáchđi
o
mp
Tại
mỗi
đỉnh
chỉ
có
duy
nhất
một
cách
đi
ra khỏi đỉnh đó tại thời điểm xác định
C
o
©2009, Pham Quoc Cuong
24
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
0
9
Xây dựng đồ thị chuyển mã BCD thành
Excess
-
3 (1)
g
20
0
Excess
3
(1)
• Mã Excess-3 là mã self-
complementing
(bù 9)
Decimal digit BCD Excess-3
e
rin
g
complementing
(bù
9)
6
10
= 0110
2
6
excess-3
= 0110
2
+ 0011
2
0 0000 0011
1 0001 0100
g
ine
e
2 0010 0101
3 0011 0110
En
g
4 0100 0111
5
0101
1000
uter
5
0101
1000
6 0110 1001
7
0111
1010
o
mp
7
0111
1010
8 1000 1011
C
o
©2009, Pham Quoc Cuong
25
Advanced Digital Design with the Verilog HDL -
cha
p
ter 3
9 1001 1100