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