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