Tải bản đầy đủ (.pdf) (91 trang)

Thiết kế mạch số dùng HDL-Chương 6 Tổng hợp mạch luận lý tổ hợp và tuần tự pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.49 MB, 91 trang )

2008
dce
Thiết kế mạch số dùng HDL
Chương 6 Tổng hợp mạch luận lý
tổ hợp và tuần tự
Computer Engineering 2009
©2009, Pham Quoc Cuong
2
Tóm tắt các chương trước
• Các bước thiết kế ASIC
• Các khái niệm cơ bản, sử dụng bìa
Karnaugh để thiết kế bằng tay
• Dùng Verilog-HDL để thiết kế mạch số
bằng mô hình cấu trúc và mô hình hành vi
Dùng những mô hình Verilog khả tổng
hợp là cốt lỗi của phương pháp thiết kế tự
động
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
3
Nội dung chính
1. Giới thiệu về quá trình tổng hợp (synthesis)
2. Tổng hợp mạch luận lý tổ hợp
3. Tổng hợp mạch luận lý tuần tự
4. Tổng hợp máy trạng thái tường minh (Explicit State
Machine)
5. Mạch luận lý đồng bộ
6. Mã hóa trạng thái (State Encoding)
7. Tổng hợp máy trạng thái ẩn (Implicit State Machine),
thanh ghi và bộ đếm


8. Tổng hợp các tín hiệu
9. Tiên đoán kết quả tổng hợp
10. Tổng hợp các vòng lặp
11. Các bẫy thiết kế cần tránh
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
4
Nội dung chính
1. Giới thiệu về quá trình tổng hợp (synthesis)
2. Tổng hợp mạch luận lý tổ hợp
3. Tổng hợp mạch luận lý tuần tự
4. Tổng hợp máy trạng thái tường minh (Explicit State
Machine)
5. Mạch luận lý đồng bộ
6. Mã hóa trạng thái (State Encoding)
7. Tổng hợp máy trạng thái ẩn (Implicit State Machine),
thanh ghi và bộ đếm
8. Tổng hợp các tín hiệu
9. Tiên đoán kết quả tổng hợp
10. Tổng hợp các vòng lặp
11. Các bẫy thiết kế cần tránh
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
Các mức trừu tượng
• Architectural
 Quan hệ vào ra
• Logical
 Tập hợp các biến và các biểu thức boolean
• Physical

©2009, Pham Quoc Cuong
5
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
Góc nhìn
• Behavioral Description
 Architectural: Algorithm
 Logical: ASM
• Structural Description
 Architectural: datapath elements (register,
memory, adders,…), STG, ASM
 Logical: Schematic of gates
• Physical Description
©2009, Pham Quoc Cuong
6
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
7
Giới thiệu về tổng hợp
Mô tả cấu trúc
Mô tả hành vi
Mô tả vật lý

1
2
3
Giải thuật
Dòng dữ liệu/RTL
Đại số boole

Bộ xử lý, bộ nhớ
Thanh ghi, ALU
Netlist
Hình dạng Cell
Layout
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
8
Tổng hợp luận lý (Logic synthesis)
• Sinh ra một mô tả cấu trúc từ mô tả luận lý
• Tối ưu netlist và ánh xạ thành các mạch tương đương dùng các tài
nguyên vật lý theo một công nghệ nào đó
Đặc tả
Verilog
Công nghệ
hiện thực
Bộ dịch Bộ tối ưu Bộ ánh xạ
Hàm luận lý
nhiều mức
tối ưu
Hàm luận lý
hai mức
Thư viện
công nghệ
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
9
Bộ dịch (translation engine)

• Đọc và chuyển dạng biểu diễn Verilog
 Biểu thức Boolean cho các mạch kết hợp
 Các dạng biểu diễn khác cho bộ nhớ và tín
hiệu đồng bộ
• Tạo ra các biểu thức POS
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
10
Bộ tối ưu (optimization engine)
• Quá trình tối ưu dựa trên quá trình tìm
kiếm lặp lại
• Theo sau tối ưu ogi là quá trình tối ưu hiệu
suất (performance optimization)
• Tối ưu đồng thời một tập hợp biểu thức
boolean
 Loại bỏ dư thừa
 Xem xét các giá trị don’t care
 Dùng chung các mạch nhỏ hơn
• Expresso, misll…
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
11
Những sự biến đổi trong tổng hợp logic
• Phân rã (decomposition)
• Gom nhóm (factoring)
• Thay thế (substitution)
• Loại bỏ (elimination)
Có thể có nhiều biểu thức Boolean tương

đương cùng biểu diễn quan hệ giữa
những ngõ vào và những ngõ ra (MIMO)
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
12
Phân rã - decomposition
• Biến đổi một mạch bằng cách biểu diễn một biểu thức
boolean thành các term (các node trung gian)
F = abc + abd + a’b’c’ + b’c’d’
F = XY + X’Y’
X = ab
Y = c + d
Node trung gian
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
13
Rút trích - extraction
• Rút trích tập hợp các hàm giống nhau thành node trung
gian
F = (a + b)cd + e
G = (a + b)e’
H = cde
+


+



+


+



+
 +


F = (a + b)cd + e
G = (a + b)e’
H = cde
X = a + b
Y = cd
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
14
Factoring
• Tìm những biểu thức dùng chung trong các hàm
boolean
F = ac + ad + bc +bd +e F = (a + b)(c + d) + e




+
+

+
 
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
15
Thay thế - substitution
• Thay thế những ngõ nhập những term bằng những biểu
thức boolean khác
G = a + b
F = a + b + c
G = a + b
F = G + c
+
+
+
+
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
16
Loại bỏ - elimination
• Loại bỏ node trung gian và làm giảm cấu trúc mạch –
giảm số mức của mạch
F = Ga + G’a
G = c + d


+
+




+
F = ac + ad + ac’d
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
17
Tổng hợp RTL
• Giả sử có sẵn một tập hợp tài nguyên phần
cứng đã được định thời và cấp phát
• Đặc tả RTL
 Máy trạng thái hữu hạn
 Toán tử Verilog và phép gán đồng thời (nonblocking)
• Tối ưu mã hóa trạng thái của máy trạng thái
• Tối ưu các biểu thức luận lý tổ hợp
• Ánh xạ kết quả vào công nghệ đích
Phát biểu mức RTL
Biểu thức boolean
tổng hợp được
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
18
Tổng hợp mức cao
• Tổng hợp hành vi, tổng hợp cấu trúc
• Tìm ra kiến trúc để hiện thực một giải
thuật
Thiết kế Vi mạch số dùng HDL

Computer Engineering 2009
©2009, Pham Quoc Cuong
19
Nội dung chính
1. Giới thiệu về quá trình tổng hợp (synthesis)
2. Tổng hợp mạch luận lý tổ hợp
3. Tổng hợp mạch luận lý tuần tự
4. Tổng hợp máy trạng thái tường minh (Explicit State
Machine)
5. Mạch luận lý đồng bộ
6. Mã hóa trạng thái (State Encoding)
7. Tổng hợp máy trạng thái ẩn (Implicit State Machine),
thanh ghi và bộ đếm
8. Tổng hợp các tín hiệu
9. Tiên đoán kết quả tổng hợp
10. Tổng hợp các vòng lặp
11. Các bẫy thiết kế cần tránh
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
20
Tổng hợp mạch luận lý tổ hợp
• Netlist các cấu trúc cơ
bản (primitives)
• Phát biểu gán liên tục
• Hành vi vòng nhạy mức
(level-sensitive)
Những cách biểu diễn mạch tổ hợp khác
không được hỗ trợ bởi công cụ tổng hợp
Thiết kế Vi mạch số dùng HDL

Computer Engineering 2009
©2009, Pham Quoc Cuong
21
Tổng hợp Netlist các cấu trúc cơ bản
• Loại bỏ những dư thừa
• Bảo đảm mạch nhỏ nhất
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
22
Tổng hợp phát biểu gán liên tục
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
23
Tổng hợp hành vi vòng nhạy mức
• Hành vi vòng được tổng hợp thành mạch tổ hợp nếu với một giá trị
ngõ vào có thể thì mạch sẽ gán giá trị cho tất cả ngõ xuất
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
24
Tổng hợp mạch luận lý tổ hợp
• Mô hình Verilog khả tổng hợp của mạch tổ
hợp
 Mô tả chức năng của mạch
 Độc lập kỹ thuật
 Không có vòng hồi tiếp
 Không chứa những phát biểu
• Case không hoàn chỉnh

• Điều kiện (if)
• Timing
• Thêm mạch logic trên tín hiệu điều khiển
nếu có nhiều tín hiệu điểu khiển
Thiết kế Vi mạch số dùng HDL
Computer Engineering 2009
©2009, Pham Quoc Cuong
25
Ví dụ
multiplexer
Thiết kế Vi mạch số dùng HDL

×