dce
2009
Thiết kế mạch số dùng HDL
Chương 3: Thiết kế mạch luậnlý
tuần tự
CuuDuongThanCong.com
/>
Co
omputer Eng
ginee
ering
g 200
09
Nội dung chính
•
•
•
•
•
Các phần tử lưu trữ
Fli Fl
Flip-Flop
ạ g thái
Bus và các thiết bịị ba trạng
Thiết kế máy tuần tự
Đồ thị biến đổi trạng thái (State
(StateTransaction Graph)
• Bộ chuyển
h ể mã
ã nối
ối tiế
tiếp cho
h việc
iệ truyền
t ề dữ
liệu (Serial-line code converter)
• Rút gọn trạng và các trạng thái tương
g
đương
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
2
Co
omputer Eng
ginee
ering
g 200
09
Nội dung chính
•
•
•
•
•
Các phần tử lưu trữ
Fli Fl
Flip-Flop
ạ g thái
Bus và các thiết bịị ba trạng
Thiết kế máy tuần tự
Đồ thị biến đổi trạng thái (State
(StateTransaction Graph)
• Bộ chuyển
h ể mã
ã nối
ối tiế
tiếp cho
h việc
iệ truyền
t ề dữ
liệu (Serial-line code converter)
• Rút gọn trạng và các trạng thái tương
g
đương
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
3
Co
omputer Eng
ginee
ering
g 200
09
Mạch tuần tự
• Ngõ ra ở thời điểm t phụ
thuộc vào ngõ vào tại thời
điểm t và “lịch sử” ngõ
vào trước đó
• Cần những phần tử lưu
trữ lại các trạng thái q
khứ của mạch
• Mạch tuần tự có thể là
đ định
đơn
đị h h
hay xác
á suất,
ất
đồng bộ hay bất đồng bộ
• Các phần mềm tổng hợp
hiện chỉ hỗ trợ đồng bộ
(synchronous)
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
a
b
c
y1
1
Sequential
y2
Circuit
y3
©2009, Pham Quoc Cuong
/>
4
Co
omputer Eng
ginee
ering
g 200
09
Các phần tử bộ nhớ (Storage elements)
• Lưu trữ thơng tin dưới dạng nhị phân
• Level sensitive
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
cực)
• Edge
Ed sensitive
iti
Flip-Flop
Ngõ ra của mạch chỉ thay đổi khi có tín hiệu
đồng bộ
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
5
Co
omputer Eng
ginee
ering
g 200
09
Latches
S1
R1
Qnext
Q’next
S2
R2
Qnext
Q’next
0
0
Q
Q’
Hold
0
0
1
1
Not allowed
0
1
0
1
Reset
0
1
1
0
Set
1
0
1
0
Set
1
0
0
1
Reset
1
1
0
0
Not allowed
1
1
Q
Q’
Hold
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
6
Co
omputer Eng
ginee
ering
g 200
09
Latches trong suốt (D-latch)
• Dữ liệu ngõ ra chỉ thay đổi theo ngõ vào
khi llatch
t h được
đ
phép
hé h
hoạtt động
độ (enable)
(
bl )
• Clocked Latch
Enable = 0, Hold state
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
7
Co
omputer Eng
ginee
ering
g 200
09
D-latch
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
8
Co
omputer Eng
ginee
ering
g 200
09
Nội dung chính
•
•
•
•
•
Các phần tử lưu trữ
Fli Fl
Flip-Flop
ạ g thái
Bus và các thiết bịị ba trạng
Thiết kế máy tuần tự
Đồ thị biến đổi trạng thái (State
(StateTransaction Graph)
• Bộ chuyển
h ể mã
ã nối
ối tiế
tiếp cho
h việc
iệ truyền
t ề dữ
liệu (Serial-line code converter)
• Rút gọn trạng và các trạng thái tương
g
đương
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
9
Co
omputer Eng
ginee
ering
g 200
09
Flip-Flop
• Hoạt động đồng bộ với cạnh lên hoặc
xuống
ố của
ủ xung clock
l k
D FF
Master-slave FF
J-K FF
T FF
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
10
Co
omputer Eng
ginee
ering
g 200
09
D Flip-Flop
D
clk
Q
Q'
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
D
Q
Qnext
0
0
0
0
1
0
1
0
1
1
1
1
©2009, Pham Quoc Cuong
/>
11
Co
omputer Eng
ginee
ering
g 200
09
Master-slave Flip-Flop
• D FF có thể được hiện thực từ 2 D-latch
với
ới cấu
ấ trúc
t ú Master-Slave
M t Sl
Data
D
Q
En
D
Q
En
Q'
clock
• Transmission gate (non-restoring)
(non restoring)
~enable
~enable
input_sig
output_sig
enable
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
enable
©2009, Pham Quoc Cuong
/>
12
Co
omputer Eng
ginee
ering
g 200
09
JK FF và T FF
• JK Flip Flop
J
Q
K
clk
Q'
• T Flip Flop (Toggle FF)
T
Q
clk
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
Q'
Q
©2009, Pham Quoc Cuong
/>
13
Co
omputer Eng
ginee
ering
g 200
09
Nội dung chính
•
•
•
•
•
Các phần tử lưu trữ
Fli Fl
Flip-Flop
ạ g thái
Bus và các thiết bịị ba trạng
Thiết kế máy tuần tự
Đồ thị biến đổi trạng thái (State
(StateTransaction Graph)
• Bộ chuyển
h ể mã
ã nối
ối tiế
tiếp cho
h việc
iệ truyền
t ề dữ
liệu (Serial-line code converter)
• Rút gọn trạng và các trạng thái tương
g
đương
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
14
Co
omputer Eng
ginee
ering
g 200
09
Bus và các thiết bị ba trạng thái
• Bus
Kết
ế nối
ố nhiều
ề thiết
ế bị với nhau
g dữ liệu
ệ tốc độ
ộ cao
Đường
• Thiết bị ba trạng thái
Kết nối
ối vào
à b
bus
Ngõ ra là hàm của ngõ vào nếu tín hiệu điều
khiển
ể tích cực
Ngõ
g ra ở dạng
g tổng
g trở cao (Hi-Z)
(
) nếu tín hiệu
điều khiển khơng tích cực
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
15
Co
omputer Eng
ginee
ering
g 200
09
Nội dung chính
•
•
•
•
•
Các phần tử lưu trữ
Fli Fl
Flip-Flop
ạ g thái
Bus và các thiết bịị ba trạng
Thiết kế máy tuần tự
Đồ thị biến đổi trạng thái (State
(StateTransaction Graph)
• Bộ chuyển
h ể mã
ã nối
ối tiế
tiếp cho
h việc
iệ truyền
t ề dữ
liệu (Serial-line code converter)
• Rút gọn trạng và các trạng thái tương
g
đương
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
16
Co
omputer Eng
ginee
ering
g 200
09
Máy tuần tự - Định nghĩa
• 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áyy
• 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
• 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)
Input
Next-state Logic
Next state
(NS)
Feedback of present state
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
Memory
Present State
(PS)
Block Diagram of a sequential
machine
©2009, Pham Quoc Cuong
/>
17
Co
omputer Eng
ginee
ering
g 200
09
Máy trạng thái đồng bộ
(Synchronous sequential machine)
• Máy trạng thái bất đồng bộ gặp vấn đề race
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
• Tín hiệu xung clock có thể đối xứng hay bất đối
xứng
• Thời khoảng xung clock phải lớn hơn thời gian
tính tốn chuyển trạng thái
• Máy trạng thái hữu hạn đồng bộ (Synchronous
FSMs)
Số trạng thái
Điều khiển chuyển trạng thái bằng xung clock
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
18
Co
omputer Eng
ginee
ering
g 200
09
Mealy machine vs. Moore machine
Input
Output
Next-state
C
Combinational
Logic
State register
(Memory)
Output
C
Combinational
Logic
Clock
C
oc
Feedback of present state
Block Diagram of a Mealy sequential machine
Input
Output
Next state
Next-state
Combinational
Logic
State
St
t register
i t
(Memory)
Output
Combinational
Logic
Clock
Feedback of ppresent state
Block Diagram of a Moore sequential machine
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
19
Co
omputer Eng
ginee
ering
g 200
09
Nội dung chính
•
•
•
•
•
Các phần tử lưu trữ
Fli Fl
Flip-Flop
ạ g thái
Bus và các thiết bịị ba trạng
Thiết kế máy tuần tự
Đồ thị biến đổi trạng thái (State
(StateTransaction Graph)
• Bộ chuyển
h ể mã
ã nối
ối tiế
tiếp cho
h việc
iệ truyền
t ề dữ
liệu (Serial-line code converter)
• Rút gọn trạng và các trạng thái tương
g
đương
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
20
Co
omputer Eng
ginee
ering
g 200
09
Đồ thị biến đổi trạng thái
• Một máy trạng thái có thể biểu diễn bằng
Đồ thị trạng thái
thái, bảng trạng thái
Giản đồ thời gian
Sơ đồ ASM (Abstract state machine)
• Đồ thị chuyển trạng thái (STG) là một đồ thị có
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)
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ên
Tê các
á cạnh
h
Mealy machine: input/output
Moore
M
machine:
hi
iinputt
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
21
Co
omputer Eng
ginee
ering
g 200
09
Ví dụ - Mealy
Next state/Output table
reset
Next state/output
S_0
0/1
1/0
S_1
State
1/0
S_2
0/1
0/0 1/1
S_3
0/0 1/1
S 5
S_5
S_4
0/0, 1/1
0/1
S 6
S_6
0/1
State transition graph
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
input
S_0
S_1
S_2
S 3
S_3
S_4
S 5
S_5
S_6
0
1
S_1/1
S_3/1
S_4/0
S 5/0
S_5/0
S_5/1
S 0/0
S_0/0
S_0/1
S_2/0
S_4/0
S_4/1
S 5/1
S_5/1
S_6/0
S 0/1
S_0/1
-/-
State transition table
©2009, Pham Quoc Cuong
/>
22
Co
omputer Eng
ginee
ering
g 200
09
Ví dụ
1/0
Next State/Output
0/1
S_2
S_0
State
S_1
1/1
S_0
S
0
S_1
S_2
0/0
0
S_0/0
Input
S_1/0
0
1
S_1/0
S
1/0
S_0/1
-
S_2/1
S
2/1
S_0/0
Next State/Output
St t
State
1
0
1
S_3/1
1
State transition graph
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
I
Input
t
0
1
S_1/0
S_2/1
S_1/0
S_3/1
S_0/1
S_3/0
0
S_2/1
S_0
S_1
S_3
S_2
State transition table
©2009, Pham Quoc Cuong
/>
23
Co
omputer Eng
ginee
ering
g 200
09
Các điều kiện
• Mỗi đỉnh chỉ biểu diễn duy nhất một trạng
thái
• Mỗi cạnh
ạ chỉ biểu diễn duyy nhất một
ộ sự
ự
biến đổi từ trạng thái hiện tại đến trạng
thái tiếp theo
• Tại mỗi đỉnh phải có tất cả các cạnh có thể
ra khỏi đỉnh đó
• 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
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
©2009, Pham Quoc Cuong
/>
24
Co
omputer Eng
ginee
ering
g 200
09
Xây dựng đồ thị chuyển mã BCD thành
Excess-3
Excess
3 (1)
• Mã Excess-3 là mã selfcomplementing (bù 9)
610 = 01102
6excess-3 = 01102 + 00112
Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com
chapter 3
Decimal digit
BCD
Excess-3
0
0000
0011
1
0001
0100
2
0010
0101
3
0011
0110
4
0100
0111
5
0101
1000
6
0110
1001
7
0111
1010
8
1000
1011
9
1001
1100
©2009, Pham Quoc Cuong
/>
25