Chương 4THIẾT KẾ HỆ THỐNG SỐ... GIỚI THIỆU Trong các thi t kế hệ thống số, người ta thường chia hệ thống ết kế hệ thống số, người ta thường chia hệ thống thành 2 phần:... GIỚI THIỆU tt
Trang 1Chương 4
THIẾT KẾ HỆ THỐNG SỐ
Trang 21 GIỚI THIỆU
Trong các thi t kế hệ thống số, người ta thường chia hệ thống ết kế hệ thống số, người ta thường chia hệ thống
thành 2 phần:
Trang 31 GIỚI THIỆU (tt)
Khối datapath: thực hiện các hoạt động xử lý dữ liệu các mạch tổ → các mạch tổ
hợp, tuần tự (thanh ghi).
Khối control: xác định trình tự của các hoạt động FSM. → các mạch tổ
dữ liệu khác nhau.
Các tín hiệu trạng thái (status signals): mô tả các trạng thái của
datapath.
qua các ngõ data inputs, data outputs, control inputs và control
outputs.
Trang 42 MỘT SỐ VÍ DỤ THIẾT KẾ
B = 0 ;
while A 0 do
if a
0 = 1 then
B = B + 1 ;
End if;
Right-shift A ;
End while;
Pseudo-code for the bit counter
Done
B B 1 +
B 0
s Load A
a 0
Reset
S3
0
1
0
1
0
1
s S1
S2
1
0
A = ? 0 Shift right A
ASM Chart for the pseudo-code
Trang 52 MỘT SỐ VÍ DỤ THIẾT KẾ
L
E Counter
si L
E Shift
LB EB
LA
EA
0
Clock
0
B
z a
0
Data
n
A
n
log 2 n
log 2 n
EA
LB
s
a 0
Reset
S3
0
1
0
1
0
1
s
S2 S1
0
1
Done
Trang 62 MỘT SỐ VÍ DỤ THIẾT KẾ
An algorithm for multiplication
P = 0 ; for i = 0 to n 1 do
if b i = 1 then
P = P + A ; end if;
Left-shift A ; end for;
(b) Pseudo-code
–
(a) Manual method
Multiplicand (A)
1 1
Product (P)
Multiplier (B)
1
0 0
1 1 1
1 1 0
1 1 0 1
1 0 0 0
0 1 0 1 1 0
1 0 0 1 1 1 1
Binary 13
11
13 13 143 Decimal
ASM chart for the multiplier
Shift left A , Shift right B Done
P P A + B 0 = ?
P 0
s Load A
b 0
Reset
S3
0
1
0
1
0
1
s S1
S2
1
0 Load B
Trang 72 MỘT SỐ VÍ DỤ THIẾT KẾ
Datapath circuit for the multiplier
E
L
E
L
E
0 DataA LA
EA
A Clock
P
DataP Register EP
Sum
0
z
B
b 0
DataB LB
EB
+
2n
Shift-left register Shift-right register
n
n
2n 2n
2n
2n
ASM chart for the multiplier
Shift left A , Shift right B Done
P P A + B 0 = ?
P 0
s Load A
b 0
Reset
S3
0
1
0
1
0
1
s S1
S2
1
0 Load B
Trang 82 MỘT SỐ VÍ DỤ THIẾT KẾ
b 0
Reset
S3
0
1
0
1
s
0
1
Done
Psel = EP 0
s
0
1 S1
S2 Psel = EA EB 1
Trang 92 MỘT SỐ VÍ DỤ THIẾT KẾ
R = 0 ; for i = 0 to n 1 do Left-shift RA ;
if R B then
q i = 1 ;
R = R B ; else
q i = 0 ; end if;
end for;
9 140 9 50 45 5
15
100
10 10
01100 1001
00001111
1001 001 01 10000 1001 1110 1001 101
Q A B
R (a) An example using decimal numbers
(b) Using binary numbers
–
–
Trang 102 MỘT SỐ VÍ DỤ THIẾT KẾ
R B ?
R 0 C n 1 –
s
0 1 S1
S2
0
Load A Load B
Shift left R||A
C C 1 -
Shift 0 into Q Shift 1 into Q
R R B –
C 0 = ?
1
1 0 S3
Reset
Done S4
0
1
s
Trang 112 MỘT SỐ VÍ DỤ THIẾT KẾ
Datapath circuit for the divider
E
L E
L E
DataB
LR ER
EQ
Clock
Q
Register
EB 0
R
DataA LA
EA
+
E
B
w
Rsel
n
Left-shift register
n
Left-shift register
n n
n n
Left-shift register
an 1- A
w 0
1
Trang 122 MỘT SỐ VÍ DỤ THIẾT KẾ
Rsel = LR LC 0
s
S1
S2
Done
s
EQ Rsel = EC 1
LR
S4
S3
Reset
ER EA
c out
z
1
0
1
0
Trang 13Q&A