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 [...]... (synthesis) Tổng hợp mạch luận lý tổ hợp Tổng hợp mạch luận lý tuần tự 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 ©2009,... xạ kết quả vào công nghệ đích Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 17 Computer Engineering 2009 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 ©2009, Pham Quoc Cuong 18 Computer Engineering 2009 Nội dung chính 1 2 3 4 Giới thiệu về quá trình tổng hợp (synthesis) Tổng hợp mạch luận lý tổ hợp Tổng hợp mạch. .. luận lý tuần tự 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 ©2009, Pham Quoc Cuong 19 Computer Engineering 2009 Tổng. .. Engineering 2009 Tổng hợp phát biểu gán liên tục Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 22 Computer Engineering 2009 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 ©2009, Pham Quoc Cuong 23 Computer Engineering 2009 Tổng hợp mạch luận lý tổ hợp • Mô hình... 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 ©2009, Pham Quoc Cuong 20 Computer Engineering 2009 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. .. tiên Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 27 Computer Engineering 2009 Don’t care • Mô phỏng trước và sau tổng hợp cho kết quả giống nhau nếu default trong các phát biểu case, if, ?: không gán giá trị x hay z • casex và casez được bộ tổng hợp xem như case với các giá trị x và z là don’t care • Phát biểu gán liên tục có giá trị z sẽ được tổng hợp thành mạch 3 trạng thái Thiết kế Vi mạch số. .. Cuong 33 Computer Engineering 2009 Tổng hợp mạch tuần tự với Latch • Latch được tổng hợp theo 2 cách Mong muốn Không mong muốn • Mạch sau tổng hợp không có latch Netlist các thành phần cơ bản không hồi tiếp Tập hợp các phát biểu liên tục không hồi tiếp • Phát biểu gán liên tục sử dụng toán tử điều kiện và có hồi tiếp sẽ tổng hợp thành latch Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 34... Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 16 Computer Engineering 2009 Tổng hợp RTL Biểu thức boolean tổng hợp được Phát biểu mức 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. .. tạo ra mạch mới Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 31 Computer Engineering 2009 Chia sẽ tài nguyên Phân kênh ngõ vào và chia sẽ bộ cộng hiệu quả hơn là sử dụng 2 bộ cộng và phân kênh ngõ ra Gom nhóm các toán tử số học trong một hành vi vòng Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 32 Computer Engineering 2009 Nội dung chính 1 2 3 4 Giới thiệu về quá trình tổng hợp (synthesis)... Engineering 2009 Tổng hợp các cấu trúc ưu tiên • Phát biểu case Phần tử đầu tiên có độ ưu tiên cao hơn Các phần tử loại trừ nhau có độ ưu tiên ngang nhau tổng hợp thành bộ phân kênh • Phát biểu if Nhánh rẻ đầu tiên có độ ưu tiên cao hơn Nếu các nhánh loại trừ nhau thì tổng hợp thành các bộ phân kênh Thiết kế Vi mạch số dùng HDL ©2009, Pham Quoc Cuong 26 Computer Engineering 2009 Ví dụ - tổng hợp cấu . 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. 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