Thiết kế logic số (Digital logic design)
Chương IV: Thiết kế các mạch số thông dụng
TS. Hoàng Văn Phúc Bộ môn KT Xung, số, Vi xử lý
https://sites.google.com/site/phucvlsi/teaching 1/2014
Mục đích, nội dung
Mục đích: Giới thiệu về kỹ thuật tiết kiệm tài nguyên bằng kỹ thuật lặp cứng
Nội dung: Khối nhân số nguyên có dấu và không dấu.
Thời lượng: 3 tiết bài giảng
Yêu cầu: Sinh viên có sự chuẩn bị sơ bộ trước nội dụng bài học.
2
Phép nhân số nhị phân
x . a = x0.a+2.x1.a+ 22x2.a+23.x3.a với x = x3x2x1x0, a = a3a2a1a0
0101 - số bị nhân 0111 - số nhân
(multiplicand) (multiplier)
-------
0101 - tích riêng
(partial products)
0101 0101
0000 ------- 0100011 - kết quả nhân (product)
3
Mạch nhân với hằng số
Nếu x là hằng số các phép nhân thành
x . a = x0.a+2.x1.a+ 22x2.a+23.x3.a với x = x3x2x1x0, a = a3a2a1a0
Mạch nhân kiểu cộng – dịch
4
phần là các phép dịch
Mạch nhân kiểu tổ hợp đơn giản
Cấu trúc lặp
5
Tốn tài nguyên
Ví dụ mạch nhân dịch phải (Right-shift-add)
P(0)
-> KHỞI TẠO GIÁ TRỊ 0 -> P1
-> ADDING 0 + P1 -> SHIFTING -> P2
-> P1 + 2P2 -> SHIFTING
-> ADDING P1 + 2P2 + 2^2P3 -> SHIFTING
-> ADDING P1+2P2+2^2P3+ 2^3P4
a 0 1 0 1 x 0 1 1 1 ---------------------- 2P(0) 0 0 0 0 0 0 0 0 0 +x0.a 0 1 0 1 ---------------------- 2p(1) 0 0 1 0 1 P(1) 0 0 1 0 1 +x1.a 0 1 0 1 ---------------------- 2p(2) 0 0 1 1 1 1 P(2) 0 0 1 1 1 1 +x2.a 0 1 0 1 ---------------------- 2p(3) 0 1 0 0 0 1 1 P(3) 0 1 0 0 0 1 1 +x3.a 0 0 0 0 ---------------------- P(4) 0 0 1 0 0 0 1 1 P
0 0 1 0 0 0 1 1 -> PRODUCT
6
Right-shift add - Multiplier
7
Left-shift-add EXAMPLE
-> KHỞI TẠO GIÁ TRỊ 0 -> P4
0 0 0 0 0 -> ADDING 0 + P4
-> SHIFTING -> P3
-> SHIFTING -> P2
0 0 0 1 1 1 1 -> ADDING P2 + 2P3 + 2^2P4 -> SHIFTING
-> ADDING P1 + 2P2 + 2^2P3 + 2^3P4
a 0 1 0 1 x 0 1 1 1 ---------------------- 0 0 0 0 P(0) 2P(0) 0 0 0 0 0 +x3.a 0 0 0 0 ---------------------- p(1) 0 0 0 0 0 0 2P(1) +x2.a 0 1 0 1 ---------------------- p(2) 0 0 0 1 0 1 -> ADDING P3 + 2P4 2P(2) 0 0 0 1 0 1 0 +x1.a 0 1 0 1 ---------------------- p(3) 2P(3) 0 0 0 1 1 1 1 0 +x3.a 0 1 0 1 ---------------------- P(4) 0 0 1 0 0 0 1 1 P
0 0 1 0 0 0 1 1 -> PRODUCT
8
Left-shift add - Multiplier
9
Biểu diễn số bù 2 (2’complement number representation)
2’s complement number: xn-1 xn-2… x1 x0 = -2n-1xn-1 +2n-2xn-2 + … + 2x1 + x0
Bù 1 (A) = not A Bù 2 (A) = not A+1
Signed (1010)= -6 Unsigned(1010)= 10
Tính chất 1: Bù 2(A) = - A Tính chất 2: Signed extend không làm thay đổi giá trị của một số dạng bù 2
-5 = (10114 bit = (11111011)8-bit
10
Biểu diễn số bù 2 (4-bit)
4-bit 2’complement number
11
Biểu thức Booth-2
xn-1 xn-2… x1 x0 = -2n-1xn-1 +2n-2xn-2 + … + 2x1 + x0
xn-1 xn-2… x1 x0 = -2n-1xn-1 +2n-2xn-2 + … + 2x1 + x0
= -2n-1xn-1 + 2n-1xn-2 -2n-2xn-2 + … + 22 x1 – 2 x1 + 2 x0 –x0 + 0 = 2n-1 (- xn-1 + xn-2) +2n-2 (-xn-2 + xn-3 )+ … + 2(-x1 + x0) + (-x0 + 0) = 2n-1 bn-1 +2n-2 bn-2 + … + 2b1 + b0
bi = (-xi + xi-1) với i = -1, n-2, và x-1 = 0.
12
!PROBLEM: Không áp dụng được sơ đồ số nguyên không dấu
Mã hoá Booth cơ số 2 (Radix-2 booth encoding)
xi
Xi-1
bi
0 0 1 1
0 1 0 1
0 1 -1 0
x = + 7
13
x 0 1 1 1 b 1 0 0-1
Mạch nhân Booth cơ số 2 (Booth2- Multiplier)
14
Booth-4 formula
x2n-1x2n-2…x1x0 = -22n-1x2n-1 +22n-2x2n-2 + … + 2x1 + x0 = -22n-22.x2n-1 + 22n-2x2n-2 +22n-2x2n-3 - 22n-42.x2n-3 + 22n-4x2n-4 +22n-4 x2n-5 + … - 2.2. x1 + 2 x0 + 2. 0 = 22n-2 (- 2x2n-1 + x2n-2 + x2n-3) +22n-4 (-2x2n-3 + x2n-4 + x2n-5)+ … + (-2x1 + x0 + 0)
bi = (- 2x2i+1 + x2i + x2i-1) với i = 0, 1, 2, … n-1
15
Radix-4 booth encoding
Radix-4 Booth encoding
xi+1
xi-1
xi
0 0 1 1 0 0 1 1
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 1 2 -2 -1 -1 0
16
x 0 1 1 0 1 0 (0) x = + 26 b 2 -1 -2
Booth-4 Multiplier
17
Trắc nghiệm
Câu 1: Khối nhân đơn giản được thiết kế trên
cơ sở các khối
A. Khối nhân logic, khối cộng.
B. Khối cộng và khối dịch và khối hợp.
C. Khối dịch phải và khối cộng K-bit
D. Khối dịch trái và khối cộng K-bit.
18
Trắc nghiệm
Câu 2: Đặc điểm nào sau đây không là đặc điểm chung cho khối nhân cộng dịch trái và cộng dịch phải A. Dùng khối cộng và khối dịch và khối MUX B. Dùng thanh ghi đặc biệt có khả năng tích lũy và dịch C. Phép nhân được thực hiện thông qua một cấu trúc lặp cứng nhằm giảm thiểu tài nguyên sử dụng D. Số bị nhân được nhân lần lượt với các bit từ thấp
19
đến cao của số nhân.
Trắc nghiệm
Câu 3: Tại sao lại có thê sử dụng khối cộng K bit
trong sơ đồ cộng dịch phải
A. Vì đầu vào số nhân và số bị nhân đều K-bit
B. Vì thanh ghi đầu ra chỉ có K bit
sô K-bit.
C. Vì đầu ra của khối nhân với từng bit số nhân là một
D. Vì đặc điểm của phép cộng là phần kết quả phần
20
bit thấp không phụ thuộc kết quả phần bit cao.
Trắc nghiệm
Câu 4: Mục đích của mã hóa booth2 là
A. Tăng tốc cho khối nhân số có dấu
B. Đưa công thức tính số có dấu về dạng giống số
không dấu để áp dụng sơ đồ cộng dịch trái hoặc
C. Mã hóa để thu được cấu trúc thiết kế tối ưu hơn
phải cho số nguyên không dấu.
về mặt tài nguyên so với sơ đồ cộng dịch
21
D. Mã hóa số nhị phân có dấu về dạng đơn giản hơn.
Trắc nghiệm
Câu 5: Nhưng ưu điểm của khối nhân dùng mã hóa
Booth cơ số 4 so với các sơ đồ cộng dịch trước đó
A. Đúng cho số có dấu
B. Đúng cho số có dấu và không dấu
D. Tăng tốc độ cho khối nhân và làm việc được với số
C. Tăng tốc độ cho khối nhân
22
có dấu