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
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ữ
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
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õ
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ộ
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
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
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
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ự
•
ố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
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
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
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
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ị
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
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
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ộ
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
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
Đ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
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
• 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
•
Đồ
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
(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
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
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
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
_
-
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ỉ
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
p
ter 3
9 1001 1100