Thiết kế logic số  (VLSI design)

B môn KT Xung, s , VXL

quangkien82@gmail.com

https://sites.google.com/site/bmvixuly/thiet-ke-

logic-so

08/2012

Mục đích, nội dung

ố ng pháp ti

ươ

ế

: Kh i chia s nguyên có d u và • N i dung ố không d u. Ph ấ nguyên thi

t ki m tài t k b ng c u trúc l p c ng

ế ế ằ

ệ ặ

• Th i l

t bài gi ng

ờ ượ : 3 ti 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/11

quangkien82@gmail.com

Restoring division

------------------------------ s(4) (0)|1 1 1 0 0 1 q1 = 0 2s(4) 1 |1 0 1 0 1 restore +2^4d 0 |1 0 0 1 0 ------------------------------ S(5) = (1)|0 0 1 1 1 q0 = 1 s = 2s(5) = 0 1 1 1 = 7 q = 0 1 0 0 1 = 9

d = 1 1 1 0 = 14 -d = 1 0 0 1 0 z = 1 0 0 0 0 1 0 1 = 133 q = 0 1 0 0 1 = 9 S = 0 1 1 1 = 7

3/11

------------------------------ z 1 0 0 0 0 1 0 1 2^d 1 1 1 0 s(0) 0 |0 0 1 0 0 0 0 1 0 1 2s(0) 0 |0 1 0 0 0|0 1 0 1 -2^4d 1 |1 0 0 1 0| ------------------------------ s(1) (0)|1 1 0 1 0|0 1 0 1 2s(1) 0 |1 0 0 0 0|1 0 1 restore -2^4d 1 |1 0 0 1 0 q4 = 0 ------------------------------ s(2) (1)|0 0 0 1 0 1 0 1 2s(2) 0 |0 0 1 0 1 0 1 -2^4d 1 |1 0 0 1 0 q3 = 1 ------------------------------ s(3) (0)|1 0 1 1 1 0 1 2s(3) 0 |0 1 0 1 0 1 restore +2^4d 0 |1 0 0 1 0 q2 = 0 quangkien82@gmail.com

------------------------------

Non­restoring division principle

------------------------------

= u = -d ------------------------------ u –d = 2*(u-d) (u-d >0) | 2u (u-d <0) = -d | ---------------------------- 2*(u-d)–d (u-d >0) | 2u–d(u-d <0)

2*(u-d) + d = 2*u -d

4/11

------------------------------ z 1 0 0 0 0 1 0 1 2^d 1 1 1 0 s(0) 0 |0 0 1 0 0 0 0 1 0 1 2s(0) 0 |0 1 0 0 0|0 1 0 1 -2^4d 1 |1 0 0 1 0| ------------------------------ s(1) (0)|1 1 0 1 0|0 1 0 1 2s(1) 0 |1 0 0 0 0|1 0 1 restor -2^4d 0 |1 0 0 1 0 q4 = 0 ------------------------------ s(2) (1)|0 0 0 1 0 1 0 1 2s(2) 0 |0 0 1 0 1 0 1 -2^4d 1 |1 0 0 1 0 q3 = 1 ------------------------------ s(3) (0)|1 0 1 1 1 0 1 2s(3) 0 |0 1 0 1 0 1 restore -2^4d 0 |1 0 0 1 0 q2 = 0 quangkien82@gmail.com

------------------------------

Restoring division VS Non­Restoring division

5/11

------------------------------ z 1 0 0 0 0 1 0 1 2^d 1 1 1 0 s(0) 0 |0 0 1 0 0 0 0 1 0 1 2s(0) 0 |0 1 0 0 0|0 1 0 1 -2^4d 1 |1 0 0 1 0| ------------------------------ s(1) (0)|1 1 0 1 0|0 1 0 1 2s(1) 0 |1 0 0 0 0|1 0 1 restore -2^4d 0 |1 0 0 1 0 q4 = 0 ------------------------------ s(2) (1)|0 0 0 1 0 1 0 1 2s(2) 0 |0 0 1 0 1 0 1 -2^4d 1 |1 0 0 1 0 q3 = 1 ------------------------------ s(3) (0)|1 0 1 1 1 0 1 2s(3) 0 |0 1 0 1 0 1 restore +2^4d 0 |1 0 0 1 0 q2 = 0 ------------------------------ quangkien82@gmail.com ….

------------------------------ z 1 0 0 0 0 1 0 1 2^d 1 1 1 0 s(0) 0 |0 0 1 0 0 0 0 1 0 1 2s(0) 0 |0 1 0 0 0|0 1 0 1 -2^4d 1 |1 0 0 1 0| ------------------------------ s(1) (0)|1 1 0 1 0|0 1 0 1 2s(1) 0 |1 0 0 0 0|1 0 1 +2^4d 0 |0 1 1 1 0 q4 = 0 ------------------------------ s(2) (1)|0 0 0 1 0 1 0 1 2s(2) 0 |0 0 1 0 1 0 1 -2^4d 1 |1 0 0 1 0 q3 = 1 ------------------------------ s(3) 0)|1 0 1 1 1 0 1 2s(3) 1 |0 1 1 1 0 1 +2^4d 0 |0 1 1 1 0 q2 = 0 ------------------------------

….

Non restoring division example

------------------------------ s(4) (0)|1 1 1 0 0 1 q1 = 0 2s(4) 1 |1 1 0 0 1 +2^4d 0 |0 1 1 1 0 ------------------------------ S(5) = (1)|0 0 1 1 1 q0 = 1 s = 2s(5) = 0 1 1 1 = 7 q = 0 1 0 0 1 = 9

d = 1 1 1 0 = 14 -2^d = 1 0 0 1 0 z = 1 0 0 0 0 1 0 1 = 133 q = 0 1 0 0 1 = 9 S = 0 1 1 1 = 7

6/11

------------------------------ z 1 0 0 0 0 1 0 1 2^d 1 1 1 0 s(0) 0 |0 0 1 0 0 0 0 1 0 1 2s(0) 0 |0 1 0 0 0|0 1 0 1 -2^4d 1 |1 0 0 1 0| ------------------------------ s(1) (0)|1 1 0 1 0|0 1 0 1 2s(1) 1 |1 0 1 0 0|1 0 1 +2^4d 0 |0 1 1 1 0 q4 = 0 ------------------------------ s(2) (1)|0 0 0 1 0 1 0 1 2s(2) 0 |0 0 1 0 1 0 1 -2^4d 1 |1 0 0 1 0 q3 = 1 ------------------------------ s(3) 0)|1 0 1 1 1 0 1 2s(3) 1 |0 1 1 1 0 1 +2^4d 0 |0 1 1 1 0 q2 = 0 quangkien82@gmail.com ------------------------------

Restoring division structure

K+1-bit(quotient)

MUX

Sel

(SHIFT LEFT )

K-bit

K-bit

0

divisor

remainder

K-bit

K-bit

(SHIFT LEFT )

2s’ complement

opb

opa

Cout

Σ k-bit

SUB =1

SUM

7/11

quangkien82@gmail.com

Non­restoring division

qoutient

K+1-bit

(SHIFT LEFT)

divisor

K-bit

K-bit

0

2s’ complement

remainder

K-bit

K-bit

(SHIFT LEFT)

MUX

opb

opa

Cout

1-bit

Σ k+1-bit

SUM

8/11

quangkien82@gmail.com

Signed division principle

­24d

Z =133 +23d ­22d ­21d +20d

133 ­224 +112 ­56 +28 +14

Remainder ­91 21 ­35 ­7 +7

Quoitient 0 1 0 0 1

- Trị tuyệt đối của phần dư luôn giảm

Yêu cầu với kết quả 1. Phần dư s cùng dấu với z 2. Trị tuyệt đối của s nhỏ hơn trị tuyệt đối của d.

- Tổng quát hóa từ sơ đồ chia không phục hồi phần dư, nếu ta mã hóa qi khác đi

như sau:

pi = 1 nếu s(i) và d cùng dấu pi = ­1 nếu s(i) và d khác dấu. Ta vẫn có Z = S p(i) * 2^i

Vấn đề: Đưa P về dạng biểu diễn bù 2

quangkien82@gmail.com

9/11

p ­1 +1 ­1 ­1 +1

Signed division principle

ể ổ

ả ủ c d

ng s

Quy t c chuy n đ i P v Q: ắ •Chuy n t t c các pi giá tr -1 thành 0. G i ị ể ấ ả giá tr này là r = rk-1rk-2…r0. Suy ra qi = 2ri – ị 1. •L y đ o c a rk-1, thêm 1 vào cu i r, giá tr ị ố ấ i d ng bù 2 chính là th thu đ ươ

ượ ướ ạ

CH NG MINH TOÁN H C

10/11

Chương III: Thiết kế các khối số thông dụng          quangkien82@gmail.com

Signed division

divisor

K-bit

K-bit

0

2s’ complement

K-bit

K-bit

MUX

K+1-bit

opa

opb

quotient

Σ k+1-bit

Correct quotient

SUM

11/15

Chương III: Thiết kế các khối số thông dụng          quangkien82@gmail.com

Trắc nghiệm

Câu 1: Khối chia trong thiết kế số thực hiện phép

chia bằng thao tác nào?

A. Phép nhân với số nghịch đảo

B. Phép cộng với số bù hai của số chia.

C. Phép trừ

D. Phép cộng hoặc trừ và phép dịch

quangkien82@gmail.com

Trắc nghiệm

Câu 2: Ý nghĩa của việc khôi phục phần dư là:   A. Giá trị dư hiện tại không bị trừ đi B. Giá trị dư hiện tại không bị trừ đi khi kết quả âm C. Giá trị dư hiện tại được khôi phục và bổ xung thêm

1 bit của số bị chia

D. Giá trị dư được khôi phục hoàn toàn

quangkien82@gmail.com

Trắc nghiệm

Câu 3: Thuật toán không phục hồi phần dư có ưu  điểm:   A. Số dư hiện tại luôn được dịch mà không quan tâm tới

giá trị âm hay dương B. Số dư hiện tại luôn dương C. Có tốc độ tốt hơn so với thuật toán khôi phục phần

D. Có thể làm việc với số dạng có dấu.

quangkien82@gmail.com

Trắc nghiệm

Câu 4: Sơ đồ khối chia có dấu được tổng quát hóa từ  cơ sở khối thiết kế nào?

A. Khối trừ và khối dịch

B. Tính chất của số bù 2

C. Khối chia phục hồi phần dư

D. Khối chia không phục hồi phần dư.

Chương III: Thiết kế các khối số thông dụng          quangkien82@gmail.com