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: Cách đánh giá hiệu quả của thiết kế, vai trò của yếu tố thuật toán trong bài toán thiết kế số, các thuật toán cơ bản của các mạch cộng, mạch dịch.

Nội dung: Khối cộng thấy nhớ trước. Khối dịch không sử dụng toán tử.

Thời lượng: 3 tiết bài giảng

2

Mạch cộng nối tiếp (CRA: Carry Ripple Adder)

3

Đánh giá hiệu quả của sơ đồ thiết kế?

Định nghĩa

Đn1: Cổng tương đương là một cổng logic bất kỳ 2 đầu vào.

Đn2: Một lớp trễ (level) là độ trễ của một cổng logic bất kỳ 2 đầu vào.

________________________________________________ Với thiết kế ASIC trên thư viện chuẩn, người ta thường dùng mạch NAND 2 đầu vào làm đơn vị tính cổng tương đương

4

Mạch cộng nối tiếp (CRA: Carry Ripple Adder)

5

Tài nguyên: 5 x N Tốc độ (Độ trễ): 2 x N +1

N: số bit (số tầng FA)

Khối trừ

 A = 01010, Bù2(A) = not (A) + 1 = 10101 + 1 = 10110  B = 00101, Bù2(B) = not (B) + 1 = 11010 + 1 = 11011

01010

01010

= +

Tính A – B: A - = - B

00101

11011 ------- 1 00101

Loại bỏ bit nhớ: A – B = 00101 = 5.

6

Sơ đồ khối cộng/trừ đơn giản

7

 CLA adder: Thiết kê một mạch đặc biệt để tính trước giá

trị các bit nhớ

CLA 4-bit

8

Cộng thấy nhớ trước (CLA: Carry look-ahead adder)

CLA Adder – cont.

Có thể tính trước giá trị các bit nhớ

9

Carry generation & Carry propagation

gi = (ai and bi) = ai.bi – carry generation gi = 1 (ai, bi =1) - bit nhớ sinh ra ở vị trí thứ i của chuỗi nhớ

pi = ai or bi = ai + bi carry propogation. pi = 1 - tại vị trí thứ i sẽ cho phép bit nhớ ở phía trước nếu có lan truyền qua.

10

Calculation carry based on P & G

c0 = g0 + Cin.P0

c1 = g1 + g0.p1 + Cin.p0.p1

= g1 + c0 .p1

c2 = g2 + g0.p1.p2 + g1.p2 + Cin.p0.p1.p2

= g2 + c1 .p2

c3 = g3+g0.p1.p2.p3+g1.p2.p3+g2.p3+ Cin.p0.p1.p2.p3

Không có sự phụ thuốc nối tiếp của các bit nhớ như CRA

Tăng tốc độ

= g3 + c2 .p3

Có phải trả giá gì không???

11

Example: 4-bit CLA adder

12

n-bit Adder – Carry Look-Ahead (cont)

Problem?

 Tài nguyên phần

cứng tiêu tốn: lớn

13

Làm sao để dung hòa tốc độ/tài nguyên?

14

Có thể kết hợp CRA và CLA? Ok, let’s try it!

Kết hợp CRA và CLA

 Combining the Ripple Carry method and CLA method by

connecting the small CLA adders

16-bit adder using 4-bit CLA components

15

Trắc nghiệm

Câu 1: Tiêu chí nào trong thiết kế mạch số tích

hơp thường được ưu tiên nhất.

A. Tài nguyên sử dụng, và tốc độ của khối thiết kế.

C. Tốc độ của khối thiết kế.

B. Thuật toán thiết kế

16

D. Hiệu suất làm việc của khối thiết kế.

Trắc nghiệm

Câu 2: Ưu điểm chính của khối cộng dùng thuật

toán nối tiếp (Serial Adder)

A. Sử dụng ít tài nguyên.

B. Sử dụng ít tài nguyên và dễ thiết kế

C. Có cấu trúc thiết kế đơn giản, ít gây ra lỗi chức

năng.

D. Tổng được tính ra nhanh chóng chính xác.

17

Trắc nghiệm

Câu 3: Nhược điểm chính của khối cộng dùng CLA

A. Sử dụng nhiều tài nguyên logic.

B. Có cấu tạo phức tạp, gây khó khăn cho quá trình

thiết kế

C. Khó mô tả và khó kiểm tra

D. Không thể chia nhỏ thiết kế và cần thiết kế lại nếu

18

thay đổi độ rộng bit của các hạng tử đầu vào

Trắc nghiệm

Câu 4: Nguyên lý cơ bản để tăng tốc cho khối cộng dùng thuật toán CLA A. Tính trước các bit nhớ ở các các vị trí trọng số cao trong khi chờ bit nhớ của các vị trí trọng số thấp xác định.

B. Chia chuỗi bit nhớ thành các giai đoạn và tính

toán tối đa các giá trị cần thiết độc lập trong từng giai đoạn đó..

C. Ngắt sự lệ thuộc tự nhiên của các bit nhớ trong

chuỗi với nhau

19

D. Sử dụng biến đổi toán học để xây dựng sơ đồ tính bit nhớ không lệ thuộc trực tiếp vào nhau