giáo trình thiết kế logic số

358 354 1
giáo trình thiết kế logic số

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  Đỗ Mạnh Hà Đặng Hoài Bắc Nguyễn Ngọc Minh GIÁO TRÌNH THIẾT KẾ LOGIC SỐ Hà nội 2013 LỜI NÓI ĐẦU “Thiết kế logic số” môn học chuyên ngành quan trọng cho sinh viên ngành Kỹ thuật Điện – Điện tử Học viện Công nghệ Bưu Viễn thông Trong môn học này, sinh viên trang bị kiến thức phương pháp mô tả, thiết kế theo cấu trúc, RTL hành vi hệ thống số dùng ngôn ngữ mô tả phần cứng: thiết kế mạch số tổ hợp, thiết kế mạch số tuần tự, máy trạng thái, hazard, phát lỗi, thử nghiệm thiết kế hệ thống số sử dụng cấu kiện logic khả trình CPLD, FPGA Từ sinh viên thực thiết kế logic cho hệ thống điện tử số sử dụng ngôn ngữ mô tả phần cứng VHDL phục vụ mô phỏng, kiểm tra, thử nghiệm, thực thi một hệ thống điện tử số hoàn chỉnh thực tế Bên cạnh môn học giúp sinh viên tích lũy kỹ chuyên môn kỹ phân tích, thiết kế kỹ thuật hệ thống thống số dùng VHDL Giáo trình gồm nội dung sau: CHƯƠNG – GIỚI THIỆU CHUNG VỀ THIẾT KẾ HỆ THỐNG SỐ CHƯƠNG – CẤU KIỆN LOGIC KHẢ TRÌNH (PLD) CHƯƠNG – CĂN BẢN VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL CHƯƠNG – PHƯƠNG PHÁP THIẾT KẾ LOGIC DÙNG VHDL CHƯƠNG – THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG DÙNG VHDL PHỤ LỤC I – QUY ƯỚC VỀ ĐẶT TÊN TRONG VHDL PHỤ LỤC II – CẤU TRÚC LỆNH CƠ BẢN CỦA VHDL PHỤ LỤC III – GIỚI THIỆU CPLD/FPGA CỦA XILINX PHỤ LỤC IV – HƯỚNG DẪN PHẦN MỀM ISE CỦA XILINX Giáo trình thực thời gian ngắn, nên khó tránh khỏi thiếu sót Các tác giả mong nhận ý kiến đóng góp đồng nghiệp để giáo trình hoàn thiện Mọi góp ý xin vui lòng gửi Bộ môn kỹ thuật điện tử Khoa Kỹ thuật Điện tử 1- Học viện Công nghệ Bưu Viễn thông email: bacdh@ptit.edu.vn Chúng xin chân thành cảm ơn đồng nghiệp đóng góp ý kiến quý báu; xin chân thành cảm ơn lãnh đạo Học viện, Phòng Đào tạo NCKH, Khoa Kỹ thuật Điện tử 1, tạo điều kiện để hoàn thành giáo trình Hà nội, tháng 10 năm 2014 Nhóm tác giả Mục lục MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC CHƯƠNG – GIỚI THIỆU CHUNG VỀ THIẾT KẾ HỆ THỐNG SỐ 1.1 GIỚI THIỆU CHUNG 1.2 QUY TRÌNH PHÁT TRIỂN HỆ THỐNG ĐIỆN TỬ 1.2.1 Quy trình phát triển sản phẩm 1.2.2 Quy trình phát triển sản phẩm song song 10 1.2 MÔ HÌNH KIẾN TRÚC VÀ CÁC MỨC THIẾT KẾ HỆ THỐNG SỐ 11 1.2.1 Kiến trúc hệ thống số 12 1.2.2 Các mức thiết kế hệ thống số 13 1.3 TỔNG QUAN VỀ CÁC CÔNG NGHỆ THỰC HIỆN HỆ THỐNG SỐ 14 1.3.1 Phân loại công nghệ logic số 14 1.3.2 So sánh loại cấu kiện chuẩn 17 1.4 QUY TRÌNH THIẾT KẾ VI ĐIỆN TỬ 22 1.5 VAI TRÒ CỦA THIẾT KẾ VI ĐIỆN TỬ SỬ DỤNG HDL 24 1.6 LƯU ĐỒ THIẾT KẾ VI ĐIỆN TỬ DÙNG HDL 27 1.6.1 Thiết kế logic 27 1.6.2 Tổng hợp thiết kế (Synthesis) 27 1.6.3 Thiết kế mức vật lý (Physical Design) 28 1.6.4 Kiểm tra thiết kế (Verification) 29 1.6.5 Sản xuất đóng gói 30 1.7 CÁC PHẦN MỀM EDA HỖ TRỢ THIẾT KẾ LOGIC SỐ DÙNG HDL 30 CHƯƠNG – CẤU KIỆN LOGIC KHẢ TRÌNH (PLD) 31 2.1 GIỚI THIỆU CHUNG VỀ CÔNG NGHỆ LOGIC KHẢ TRÌNH (PLD) 31 2.1.1 SPLD 31 2.1.2 CPLD (Complex PLD) 34 2.1.3 FPGA 35 2.2 GIỚI THIỆU PHƯƠNG PHÁP THIẾT LẬP CẤU HÌNH CHO CPLD/FPGA 38 2.2.1 Phương pháp dùng sơ đồ mô tả 38 2.2.2 Phương pháp dùng ngôn ngữ mô tả phần cứng (HDL) 39 2.3 YÊU CẦU CHUNG KHI THIẾT KẾ VỚI CPLD/FPGA 40 2.3.1 Chọn vi mạch CPLD FPGA phù hợp 40 2.3.2 Chọn giải pháp cấu hình cho CPDL/FPGA 41 2.3.3 Chọn công cụ phần mềm phù hợp 43 Mục lục 2.4 LƯU ĐỒ THIẾT KẾ CHO CPLD/FPGA 44 2.4.1 Lưu đồ thiết kế cho CPLD 44 2.4.2 Lưu đồ thiết kế cho FPGA 48 2.5.3 Ví dụ thiết kế đơn giản dùng phần mềm ISE 50 CHƯƠNG – CĂN BẢN VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 65 3.1 LỊCH SỬ PHÁT TRIỂN CỦA VHDL 65 3.2 NHỮNG ƯU ĐIỂM CỦA VHDL 66 3.3 CẤU TRÚC NGÔN NGỮ CỦA VHDL 67 3.3.1 Đối tượng VHDL 68 3.3.2 Kiểu liệu VHDL 71 3.3.3 Các phép toán VHDL 82 3.3.4 Các đơn vị thiết kế VHDL 89 3.3.5 Cấu trúc chung chương trình mô tả VHDL 97 3.3.6 Môi trường kiểm tra “testbench” 99 3.3.7 Các cấu trúc lệnh song song 102 3.3.8 Cấu trúc lệnh 114 3.3.9 Hàm thủ tục 123 BÀI TẬP 128 CHƯƠNG – PHƯƠNG PHÁP THIẾT KẾ LOGIC DÙNG VHDL 131 4.0 GIỚI THIỆU CHUNG VỀ THIẾT KẾ LOGIC DÙNG HDL 131 4.1 MÔ HÌNH BIỂU DIỄN HỆ THỐNG SỐ 132 4.1.1 Mô hình hoạt động (Behavioral views) 133 4.1.2 Mô hình cấu trúc (Structural views) 133 4.1.3 Mô hình vật lý (Physical views) 133 4.2 CÁC MỨC ĐỘ TRỪU TƯỢNG TRONG MÔ TẢ HỆ THỐNG SỐ 133 4.2.1 Mô tả mức mạch điện (Circuit Level or Transistor Level) 135 4.2.2 Mô tả mức logic (Logic Lever or Gate Level) 135 4.2.3 Mô tả mức RTL (Register Transfer Level – Mức truyền đạt ghi) 136 4.2.4 Mô tả mức hệ thống (System Level or Processor Level) 136 4.2.5 Ví dụ mô hình hệ thống số 136 4.3 MÔ TẢ THEO MÔ HÌNH HOẠT ĐỘNG (BEHAVIORAL) 139 4.3.1 Mô tả theo mức hệ thống 139 4.3.2 Mô tả theo mức RTL 141 4.3.3 Viết mô tả Testbench 143 4.3.4 Mã mô tả VHDL không tổng hợp 158 4.4 CÁC MÔ HÌNH TÍN HIỆU SỐ 159 4.5 MÔ TẢ THEO MÔ HÌNH CẤU TRÚC 160 4.6 MÔ TẢ MẠCH LOGIC TỔ HỢP 165 4.6.1 Các cấu trúc lệnh VHDL dùng cho mô tả mạch tổ hợp 165 Mục lục 4.6.2 Mô tả mạch tổ hợp 168 4.6.3 Phương pháp thiết kế dùng chung phép toán 187 4.6.4 Phương pháp thiết kế dùng chung chức 192 4.7 MÔ TẢ MẠCH LOGIC TUẦN TỰ CƠ BẢN 194 4.7.1 Cấu trúc lệnh VHDL dùng cho mô tả mạch 195 4.7.2 Mô tả phần tử nhớ 196 4.7.3 Bộ đếm (Counter) 202 4.7 MÁY TRẠNG THÁI HỮU HẠN – FSM 211 4.7.1 Giới thiệu chung máy trạng thái hữu hạn - FSM 211 4.7.2 Đồ hình máy trạng thái - FSMD 213 4.7.3 Lưu đồ giải thuật máy trạng thái – ASM 215 4.7.4 Mô tả VHDL cho FSM 217 4.8 PHƯƠNG PHÁP THIẾT KẾ TOP-DOWN 226 BÀI TẬP 226 CHƯƠNG – THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG DÙNG VHDL 229 5.1 THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LED 229 5.1.1 Thiết kế mạch điều khiển thị số LED 229 5.1.2 Thiết kế mạch điều khiển ma trận LED 233 5.1.3 Thiết kế ứng dụng điều hiển thị led đơn sáng theo quy luật 240 5.2 THIẾT KẾ BỘ ĐẾM THUẬN NGHỊCH THEO ĐIỀU KHIỂN 245 5.3 THIẾT KẾ BỘ ĐẾM TẦN TỰ ĐỘNG THAY ĐỔI THANG ĐO 249 5.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA 255 5.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD 264 5.6 THIẾT KẾ MẠCH ĐIỀU KHIỂN MA TRẬN PHÍM 271 5.7 THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM 276 5.8 THIẾT KẾ BỘ ĐIỀU KIỂN TRUYỀN THÔNG NỐI TIẾP UART 283 PHỤ LỤC I – QUY ƯỚC VỀ ĐẶT TÊN TRONG VHDL 292 I.1 Quy ước chung đặt tên VHDL 292 I.2 Quy ước đặt tên đối tượng VHDL 293 I.3 Quy ước đặt tên đơn vị thiết kế 294 PHỤ LỤC II – CẤU TRÚC LỆNH CƠ BẢN CỦA VHDL 296 PHỤ LỤC III – GIỚI THIỆU CPLD/FPGA CỦA XILINX 301 III.1 GIỚI THIỆU CHUNG VỀ CPLD/FPGA CỦA XILINX 301 III.1.1 CPLD Xilinx 301 III.1.2 FPGA Xilinx 304 III.2 CẤU TRÚC CPLD CỦA XILINX 306 III.2.1 XC9500XL 306 Mục lục III.2.2 CoolRunner XPLA3 312 III.2.3 CoolRunner II 315 III.3 GIỚI THIỆU CÁC DÒNG FPGA CĂN BẢN 319 III.3.1 Spartan-3 319 III.3.2 Virtex 324 PHỤ LỤC IV – HƯỚNG DẪN PHẦN MỀM ISE CỦA XILINX 331 IV.1 GIỚI THIỆU CHUNG 331 IV.2 HƯỚNG DẪN CÀI ĐẶT 331 IV.3 THỰC HIỆN LƯU ĐỒ THIẾT KẾ TRÊN ISE 332 TÀI LIỆU THAM KHẢO 351 Chương – Giới thiệu chung thiết kế hệ thống số CHƯƠNG – GIỚI THIỆU CHUNG VỀ THIẾT KẾ HỆ THỐNG SỐ  Giới thiệu chung  Quy trình phát triển hệ thống điện tử  Mô hình kiến trúc mức thiết kế hệ thống số  Tổng quan công nghệ thực hệ thống số  Quy trình thiết kế vi điện tử  Vai trò thiết kết vi điện tử sử dụng HDL  Lưu đồ thiết kế vi điện tử dùng HDL  Các phần mềm EDA hỗ trợ thiết kế logic dùng HDL 1.1 GIỚI THIỆU CHUNG Hiện nay, Hệ thống số trung tâm hệ thống điện tử Mọi phát triển dựa vào công nghệ số Trang bị kiến thức kỹ thiết kế hệ thống số quan trọng kỹ sư điện tử Các phương thức tảng cho phát triển hệ thống số sau: + Phát triển hệ thống số cở sở dùng rút gọn hàm logic, bảng trạng thái, máy trạng thái dùng cấu kiện logic chuẩn chức cố định như: Các cổng logic đơn giản, mô-đun mạch tổ hợp + Phát triển hệ thống số sở dùng hệ vi xử lý, vi điều khiển, xử lý tín hiệu số, thực ghép nối máy tính: Chức hệ thống chủ yếu phát triển nhờ lập trình phần mềm + Phát triển hệ thống số sở thiết kế logic số: Sử dụng ngôn ngữ mô tả phần cứng HDL mô tả hệ thống số cần thiết kế, thực tổng hợp thực chúng cấu kiện logic khả trình PLD hay chuyển sang mức thiết kế vật lý, layout thực vi mạch số VLSI Đây tiền đề tốt cho thiết kế IC số thiết kế hệ thống VLSI Cả ba hướng sử dụng để phát triển hệ thống số mức độ đơn giản hay phức tạp khác đào tạo cho sinh viên ngành Điện – Điện tử Kỹ thuật Máy tính môn học với mức độ khác Trong môn học Thiết kế logic số chủ yếu tập trung vào hướng thứ Hướng phát triển vừa phù hợp với môi trường giáo dục đại học yêu cầu phát triển khả thi ứng dụng đa dạng thực tế với mức độ phức tạp cao Trong phương pháp thiết kế trọng tâm mà sinh viên sử dụng để phát triển hệ thống số Thiết kế logic dùng HDL, phương pháp thiết kế đòi hỏi sinh viên phải có kiến thức tảng tổng hợp tốt hai hướng phát triển Sử dụng thiết kế logic đòi hỏi sinh viên phải có hiểu biết sâu Chương – Giới thiệu chung thiết kế hệ thống số sắc hoạt động đối tượng định thiết kế, đặc biệt phát huy tính sáng tạo sinh viên Hơn thiết kế logic số dùng HDL giảng dạy phổ biến Trường đại học tiên tiến giới phương pháp thiết kế phổ biến phần mềm Thiết kế điện tử đại sử dụng phổ biến cho nhà Thiết kế nhiều doanh nghiệp điện tử giới Trước tập trung vào trình bày phương pháp thiết kế logic số dùng HDL chương tiếp theo, chương nêu bật vai trò vị trí Thiết kế điện tử nói chung Thiết kế logic nói riêng toàn trình phát triển hệ thống điện tử số đại 1.2 QUY TRÌNH PHÁT TRIỂN HỆ THỐNG ĐIỆN TỬ Phát triển hệ thống điện tử nói chung, hệ thống số nói riêng thưc sở phát triển hệ thống ghép chúng với tạo thành toàn hệ thống Tuy nhiên, trước xem xét đến trình phát triển thiết kế hệ thống điện tử ý ba điểm sau trình thiết kế: Luôn sử dụng chung Không tự bỏ điều để thay đổi Hầu hết có nhiều cách để giải vấn đề: Người thiết kế có nhiệm vụ tìm cách giải vấn đề hợp lý Giải pháp phát triển không thiết phải tốt Quy trình phát triển hệ thống số (một sản phẩm hệ thống số) trình thiết kế phát triển từ ý tưởng ban đầu đến thực hóa sản phẩm (thương mại phi lợi nhuận) Quá trình phát triển sản phẩm hệ thống số tiếp cận theo hai hướng sau: + Quy trình phát triển + Quy trình phát triển song song 1.2.1 Quy trình phát triển sản phẩm Trong trình phát triển sản phẩm tuần tự, bước trình phát triển (từ ý tưởng thiết trính sản xuất kiểm tra sản phẩm) hoàn thành trước thực bước Quy trình phát triển truyền thống minh họa hình vẽ gồm bước sau: Xác định yêu cầu sản phẩm: Xác định yều cầu, tham số kỹ thuật cần phát triển cho sản phẩm Thiết kế: Tạo thiết kế ban đầu Kiểm tra thiết kế: Kiểm tra chức thiết kế ban đầu có yêu cầu không? Chương – Giới thiệu chung thiết kế hệ thống số Chế mẫu: Tạo sản phẩm mẫu vật lý thiết kế kiểm tra hoạt động mẫu theo yêu cầu thiết kế Xác định yêu cầu sản phẩm Thiết kể sản phẩm Kiểm tra Thiết kế Chế mẫu Kiểm tra mẫu Thiết kế lại Kiểm tra lại Thiết kế Sản xuất sản phẩm Kiểm tra sản phẩm Hình 1.1 – Quy trình phát triển sản phẩm Kiểm tra mẫu: Xác định xem liệu chức thiết kế có kỳ vọng hay không kiểm tra xem có xuất vấn đề thiết kế mà cần giải hay không? Thiết kế lại: Dựa vào vấn đề phát bước trên, thực thiết kế lại sản phẩm để giải vấn đề Kiểm tra lại thiết kế: Kiểm tra chức thiết kế có yêu cầu không? Sản xuất sản phẩm: Khi thiết kế kiểm tra thành công, sản xuất hoạt loạt sản phẩm Kiểm tra sản phẩm: Các sản phẩm sản xuất kiểm tra để phát lỗi xuất trình sản xuất Chương – Giới thiệu chung thiết kế hệ thống số Mặc dù cách tiếp cận quy trình đơn giản, dễ thực hiện, dễ quản lý, cách tiếp cận thường hiệu cao Nó không cho phép bước tác động đến bước khác trừ bước trước sau Ví dụ bước Chế mẫu không tác động đến bước sản xuất Những ràng buộc vốn có bước chế mẫu không tạo lỗi mà phát bước sản xuất Những thông tin quan trọng phát sinh bước sản xuất bị bỏ qua bước Chế mẫu trí bước Thiết kế 1.2.2 Quy trình phát triển sản phẩm song song Trong quy trình phát triển song song, bước từ ý tưởng thiết bước sản xuất kiểm tra liên kết với nhau, cho phép thông tin chuyển qua lại bước Quy trình phát triển sản phẩm theo cách tiếp cận minh họa Hình 1.2 Trong bước khác quy trình thực thời điểm Toàn trình có cấu trúc dàn flatter, ngược lại so với cách tiếp cận theo tuần tự, quy trình phát triển song song cho phép nhiều vấn đề giải Điều cho phép tất thành viên tham gia vào phát triển sản phẩm có thông tin liên quan đánh giá khía cạnh vấn đề thiết kế thay đổi thành phần họ trình phát triển sản phẩm Tính song song quy trình phát triển đặc biệt thực rõ bước thiết kế sản phẩm Trong bước thiết kế sản phẩm có tính đến yếu tố khác nhau, hướng nhiều đến mục đích khác Yêu cầu kỹ thuật sản phẩm Đó trình thiết kế hướng mục đích như: - DFA: Design for Assembly – Thiết kế tính đến trình lắp rắp sản phẩm - DFD: Design for Debug – Thiết kế tính đến việc gỡ rối - DFM: Design for Manufacturability – Thiết kế tính đến trình sản xuất - DFR: Design for Reliability – Thiết kế tính đến mức độ tin cậy - DFT: Design for Testability – Thiết kế hỗ trợ việc đo kiểm - DFY: Design for Yield - Thiết kế tính đến yêu cầu sản lượng Như Thiết kế bước quan trọng trình phát triển sản phẩm điện tử, định lớn đến thành công sản phẩm Nắm bắt công nghệ thực hành kỹ thiết kế điện tử cần thiết sinh viên ngành Điện – Điện tử Kỹ thuật máy tính 10 Chương IV – Hướng dẫn phần mềm ISE Xilinx 6) Low Level Synthesis 7) Final Report 7.1) Device utilization summary 7.2) TIMING REPORT Trong phần trên, quan trọng phần Final Report Tất thông tin thiết kế phần này: =============================================================== * Final Report * =============================================================== Final Results RTL Top Level Output File Name : jc2_top.ngr Top Level Output File Name : jc2_top Output Format : NGC Optimization Goal : Speed Keep Hierarchy : NO Design Statistics # IOs : Macro Statistics : # Registers # 1-bit register # Multiplexers # 2-to-1 multiplexer : : : : 4 4 Cell Usage : # BELS : 17 # AND2b1 : # AND3b1 : # AND3b2 : # GND : # INV : # LUT3 : # OR2b2 : # OR3 : # FlipFlops/Latches : # FDC : # FDE : # IO Buffers : # IBUF : # OBUF : ============================================================= Device utilization summary: Selected Device : 3s50pq208-5 337 Chương IV – Hướng dẫn phần mềm ISE Xilinx Number of Slices: out of 768 0% Number of Slice Flip Flops: out of 1536 0% Number of input LUTs: out of 1536 0% Number of bonded IOBs: out of 124 6% ============================================================== TIMING REPORT NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT GENERATED AFTER PLACE-and-ROUTE Clock Information: + + -+ Clock Signal | Clock buffer(FF name) | Load | + + -+ clk | IBUF | | + + -+ Timing Summary: Speed Grade: -5 Minimum period: 2.928ns (Maximum Frequency: 341.530MHz) Minimum input arrival time before clock: 4.814ns Maximum output required time after clock: 5.443ns Maximum combinational path delay: No path found Timing Detail: -All values displayed in nanoseconds (ns) -Timing constraint: Default period analysis for Clock 'clk' Delay: 2.928ns (Levels of Logic = 2) Source: run_reg/I_36_32 (FF) Destination: run_reg/I_36_32 (FF) Source Clock: clk rising Destination Clock: clk rising Data Path: run_reg/I_36_32 to run_reg/I_36_32 Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) -FDC:C->Q 0.626 0.688 I_36_32 (Q) AND3b1:I0->O 0.479 0.240 I_36_40 (A1) OR3:I1->O 0.479 0.240 I_36_41 (AD) FDC:D 0.176 I_36_32 -Total 2.928ns (1.760ns logic, 1.168ns route) (60.1% logic, 39.9% route) Timing constraint: Default OFFSET IN BEFORE for Clock 'clk' Offset: 4.814ns (Levels of Logic = 5) Source: left (PAD) 338 Chương IV – Hướng dẫn phần mềm ISE Xilinx Destination: run_reg/I_36_32 (FF) Destination Clock: clk rising Data Path: left to run_reg/I_36_32 Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) -IBUF:I->O 1.679 0.465 I9 (XLXN_22) INV:I->O 0.479 0.577 I10 (XLXN_17) begin scope: 'run_reg' AND3b2:I1->O 0.479 0.240 I_36_37 (A0) OR3:I2->O 0.479 0.240 I_36_41 (AD) FDC:D 0.176 I_36_32 -Total 4.814ns (3.292ns logic, 1.522ns route) (68.4% logic, 31.6% route) -Timing constraint: Default OFFSET OUT AFTER for Clock 'clk' Offset: 5.443ns (Levels of Logic = 1) Source: U1_Q_3 (FF) Destination: q (PAD) Source Clock: clk rising Data Path: U1_Q_3 to q Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) -FDE:C->Q 0.626 0.577 U1_Q_3 (U1_Q_3) OBUF:I->O 4.240 I16 (q) -Total 5.443ns (4.866ns logic, 0.577ns route) (89.4% logic, 10.6% route) Gán pin giới hạn Quá trình gán pin giới hạn thiết lập cấu hình chân input, output cấu hình thời gian thiết kế Các thông số thiết lập file User Constraints File (UCF) Các thông số giới hạn tạo cách dùng công cụ Xilinx Constraints Editor Công cụ cung cấp giao diện đồ họa Ngoài ra, thông số tạo trực tiếp cách chữa file UCF attributes VHDL Trước gán giới hạn, ta cần chạy trình Translate để tạo file NGD File sử dụng Xilinx Constraints Editor Xilinx Constraints Editor kích hoạt từ mục Processes for Current Source windows Project Navigator Sử dụng công cụ đơn giản hóa việc thiết lập thông số constraints, người sử dụng không cần thiết biết cấu trúc file UCF Hơn nữa, Constrains Editor tự động đọc file 339 Chương IV – Hướng dẫn phần mềm ISE Xilinx thiết kế liệt kê tất net thành phần thiết kế Tuy nhiên số tham số constraints sẵn Constraints Editor Trong trường hợp này, tham số thiết lập cách edit file UCF Các constraints phân làm loại sau  Các giới hạn thời gian (timing constraints) Các giới hạn thời gian thiết lập cho net path thiết kế Các giới hạn thời gian quy định tốc độc IC Việc đặt giới hạn thời gian giúp cho phần mềm tổng hợp tìm cách xếp cổng logic gần tài nguyên kết nối gần hơn, tăng tốc độ chip thiết kế  Gán chân IC (pin) Gán chân IC gán chân input output vào vị trí pin cố định Ngoài ra, chuẩn IO gán cho chân Sau hoàn thành, thông tin vị trí chân IC ghi vào file UCF  Các giới hạn diện tích (area constraints) Các giới hạn diện tích giới hạn vị trí cổng logic chip Sau hoàn thành, thông tin giới hạn này ghi vào file UCF Sau hoàn thành trình thiết lập thông số constraints, trình Translate phải chạy lại để cập nhật thiết kế với thông số Implement CPLD Quá trình implement dùng file netlist giới hạn thiết kế (constraints) để tạo thiết kế theo sơ đồ Macrocell bên CPLD Các giới hạn (constraints) đặt theo yêu cầu người thiết kế nhằm đảm bảo phù hợp thiết kế chip CPLD 340 Chương IV – Hướng dẫn phần mềm ISE Xilinx Dịch (translate) Dịch trình implement Quá trình dịch tổng hợp tất file netlist thiết kế file giới hạn để tạo file NGD (Native Generic Database) Để chạy trình dịch, nháy đúp chuột trái Translate cửa số Processes for Sources Sau chạy xong, trình tạo file NGD File mở ChipViewer (cho CPLD) Quá trình translate đồng thời tự động tạo file báo cáo (translattion report) Fit Quá trình Fit map netlist vào CPLD cụ thể tạo file JEDEC (.jed) File chứa cấu hình nạp CPLD Trước chạy Fit, cần thiết lập thông số Đối với dòng CPLD khác nhau, thông số khác Người sử dụng cần tham khảo thông tin riêng dòng CPLD để có thông số thích hợp Để chạy Fit, nháy đúp chuột trái Fit Quá trình Fit map logic thiết kế vào CLPD dự định Đồng thời trình tạo thông tin thời gian logic thiết kế Sau chạy xong trình Fit, ta xem báo cáo Dưới mẫu báo cáo trình Fit Báo cáo có số thông tin sau: Fitting status: Quá trình Fit có thành công hay không Device use: CPLD dùng Resouces summary: Tóm tắt tài nguyên dùng số Macrocell, số Producterms, số ghi, số pin, số FBI sử dụng Thông tin chi tiết tài nguyên sử dụng 341 Chương IV – Hướng dẫn phần mềm ISE Xilinx Summary Design Name demo_bd Fitting Status Successful SW Version G.35 Device Used Date RESOURCES SUMMARY Macrocells Used 55/64 (86%) Pterms Used 92/224 (42%) Registers Used 38/64 (60%) Pins Used 25/64 (40%) Function Block Inputs Used 86/160 (54%) PIN RESOURCES Signal Type Required Mapped Pin Type Used Remaining Input 4 I/O 22 34 Output 19 19 GCK/IO Bidirectional 0 GTS/IO GCK 1 GSR/IO GTS 0 GSR 1 MACROCELL RESOURCES Total Macrocells Available 64 Registered Macrocells 38 Non-registered Macrocells driving I/O 16 GLOBAL RESOURCES Signal mapped onto global clock net (GCK0) clk_rc Signal mapped onto global output enable net Reset 342 Chương IV – Hướng dẫn phần mềm ISE Xilinx (GSR) Để xem cấu trúc CPLD Fit, ta dùng Xilinx Chip Viewer Chương trình hiển thị hình ảnh CPLD với khối macrocell tài nguyên sau trình Fit Tạo file lập trình nạp CPLD Sau hoàn thành trình Fit, ta tạo File lập trình nạp vào CPLD Chương trình sử dụng để nạp cấu hình vào CPLD iMPACT Chương trình tự động phát chip CPLD Để nạp CPLD, ta click chuột phải vào hình CPLD cửa số chọn Program Ngoài trình trên, số trình sau sử dụng: Tạo báo cáo thời gian (Generate timming) Quá trình tạo báo cáo thời gian tạo báo cáo so sánh constraints thời gian yêu cầu thời gian thực tế thiết kế Trong trình này, ta phân tích kết thời gian trình sau Fit công cụ Analyze Post-Fit Stating Timing Công cụ mở cửa số Timing Analyzer, ta chọn đường routing xem thời gian thiết kế để phân tích Một tính CPLD khoảng trễ macrocell cố định Do đó, báo cáo thời gian cung cấp cho thông tin trễ logic, thời gian setup 343 Chương IV – Hướng dẫn phần mềm ISE Xilinx Summary Performance Summary Min Clock Period 15.000 ns Max Clock Frequency (fSYSTEM) 66.667 MHz Limited by Clock Pulse Width for clk_scaler_MC.Q Clock to Setup (tCYC) 7.500 ns Pad to Pad Delay (tPD) 10.700 ns Setup to Clock at the Pad (tSU) -0.400 ns Clock Pad to Output Pad Delay 46.700 ns (tCO) Timing Constraints Constraint Name Requir ement (ns) TS_clk_osc 20.0 D elay (ns) 0 Pa ths Pa ths Failing Tạo model để mô sau Fit Quá trình tạo model để mô sau Fit tạo model sử dụng ngôn ngữ HDL Khác với thiết kế, model mô tả cấu hình thật thiết kế với cổng logic thông số thời gian CPLD Model dùng để mô xem thực tế, CPLD ta có hoạt động thiết kế hay không Sau mô phỏng, ta đo tham số thời gian thiết kế 344 Chương IV – Hướng dẫn phần mềm ISE Xilinx Phân tích công suất tiêu thụ Xilinx cung cấp công cụ để phân tích công suất tiêu thụ CPLD: Xpower Software Công cụ cung cấp thông tin công suất tiêu tụ, dòng điện thời gian hoạt động dự kiến Sau phân tích, ta xem thông tin dòng tiêu thụ tín hiệu, khối, tổng công suất tiêu thụ Ngoài ra, công cụ cung cấp thông tin nhiệt độ hoạt động IC tản nhiệt cần thiết cho IC Release 6.3i - XPower SoftwareVersion:G.35 Copyright (c) 1995-2004 Xilinx, Inc All rights reserved Design: demo_bd Part: XC2C64-7VQ100 Vcc: 1.80V Default Ext Load: 10.00pF Data version: PREVIEW,1.0 Power summary: I(mA) P(mW) Total estimated power consumption: Vcc 1.80V: 0.017 0.031 Global Resources: 0.000 0.000 Zia: 0.000 0.000 Clocks: 0.000 0.000 Signals: 0.000 0.000 Output Loads: 0.000 0.000 Inputs: 0.000 0.000 Function Blocks: 0.000 0.000 Quiescent Vcc 1.80V: 0.017 0.031 Thermal summary: Estimated junction temperature: 25.0C 345 Chương IV – Hướng dẫn phần mềm ISE Xilinx Ambient temp: 25.0C Case temp: 25.0C Theta J-A: 53.2C/W DataGATE and CoolCLOCK were not used in this design, see Xilinx Appnote XAPP377 to reduce power consumption! Analysis completed: Mon Apr 30 10:11:13 2007 - Implement FPGA Map Quá trình Map lấy file NGD input map thiết kế logic vào FPGA File NGD chứa mô tả logic bao gồm thành phần theo lớp, thành phần Xilinx FPGA macro chứa mô tả macro Đầu trình Map file NCD (Native Circuit Description), mô tả thiết kế map vào thành phần Xilinx FPGA File NCD đặt vào (place) tạo kết nối thành phần (route) Khi chạy công cụ Map, thực việc sau: Lựa chọn FPGA Xilinx, package tốc độ (các thông tin người thiết kế đặt ra) Đọc thông tin từ file input Thực việc kiểm tra quy định thiết kế DRC (Design Rule Check) file input Nếu có lỗi DRC, trình Map tự đồng dừng lại báo lỗi Bỏ logic không dùng đến Nếu tồn thành phần nét không dùng đến, phần bị bỏ 346 Chương IV – Hướng dẫn phần mềm ISE Xilinx Map pad logic vào khối IOB Map logic thành phần FPGA (IOB, CLB, ) Cập nhật thông tin từ file input NGD ghi thông tin lại để phục vụ cho việc back-annotation Tạo file giới hạn vật lý (physical constraints file) Chạy lại trình DRC thiết kế Map 10 Tạo file NCD, mô tả thiết kế vật lý theo thành phần FPGA CLB, IOBs… 11 Tạo file báo cáo trình Map Sau Map xong, ta chay Generate Post-Map timing để phân tích thông tin thời gian thiết kế sau map vào FPGA Design Information -Command Line : C:/Xilinx/bin/nt/map.exe -intstyle ise -p xc3s50-pq208-5 -cm area -pr b -k -c 100 -tx off -o jc2_top_map.ncd jc2_top.ngd jc2_top.pcf Target Device : x3s50 Target Package : pq208 Target Speed : -5 Mapper Version : spartan3 $Revision: 1.16.8.2 $ Mapped Date : Tue May 01 15:30:35 2007 Design Summary -Number of errors: Number of warnings: Logic Utilization: Number of Slice Flip Flops: out of 1,536 1% Number of input LUTs: out of 1,536 1% Logic Distribution: Number of occupied Slices: out of 768 1% Number of Slices containing only related logic: out of 100% Number of Slices containing unrelated logic: out of 0% *See NOTES below for an explanation of the effects of unrelated logic Total Number of input LUTs: out of 1,536 1% Number of bonded IOBs: out of 124 6% 347 Chương IV – Hướng dẫn phần mềm ISE Xilinx Total equivalent gate count for design: 84 Additional JTAG gate count for IOBs: 384 Peak Memory Usage: 64 MB Place and Routing (PAR) Sau tạo file NCD, ta place route file vào FPGA Quá trình Place and Routing lấy file input NCD, place route thiết kế vào file NCD khác Công cụ để Place and Routing FPGA Editor Công cụ dùng làm việc sau:   Place route thành phần quan trọng tay trước tự động Place route toàn thiết kế Thay đổi việc place rout trước Quá trình PAR bao gồm công đoạn sau:   Place: công cụ PAR chạy qua nhiều qua để place thành phần thiết kế vào FPGA Sau place xong, PAR ghi lại fiel NCD Trong công đoạn này, PAR place thành phần dựa theo yếu tố constraints người thiết kế đặt ( VD : yêu cầu thời gian, giới hạn vị trí thành phần), chiều dài kết nối tài nguyên kết nối sẵn có Routing: Sau place xong, PAR thực route để kết nối thành phần thiết kế Công đoạn route thực dựa giải pháp cho thiết kế để đạt yêu cầu thời gian Sau route xong, PART ghi lại thông tin vào file NCD Tại thời điểm này, thiết kế phân tích mặt thời gian Báo cáo PAR: Ngoài file output NCD, trình PAR tạo báo cáo file chứa thông tin pins Báo cáo chứa thông tin trình PAR message giới hạn thiết kế Báo cáo cung cấp thông tin mật độ sử dụng thành phần FPGA, pha trình place, thông tin tín hiệu CLK thông tin tín hiệu khác Dưới ví dụ báo cáo PAR Device utilization summary: Number of External IOBs Number of LOCed External IOBs out of 124 out of 6% 0% Number of Slices out of 768 1% Overall effort level (-ol): Standard (set by user) 348 Chương IV – Hướng dẫn phần mềm ISE Xilinx Placer effort level (-pl): Standard (set by user) Placer cost table entry (-t): Router effort level (-rl): Standard (set by user) Phase 1.1 Phase 1.1 (Checksum:989697) REAL time: secs WARNING:Place:410 - The input design contains local clock signal(s) To get the better result, we recommend users run map with the "-timing" option set before starting the placement Phase 3.3 Phase 3.3 (Checksum:1c9c37d) REAL time: secs Phase 4.5 Phase 4.5 (Checksum:26259fc) REAL time: secs Phase 5.8 Phase 5.8 (Checksum:98bd2b) REAL time: secs Phase 6.5 Phase 6.5 (Checksum:39386fa) REAL time: secs Phase 7.18 Phase 7.18 (Checksum:42c1d79) REAL time: secs Writing design to file jc2_top.ncd Total REAL time to Placer completion: secs Total CPU time to Placer completion: secs Phase 1: 29 unrouted; REAL time: secs Phase 2: 25 unrouted; REAL time: secs Phase 3: unrouted; REAL time: secs Phase 4: unrouted; REAL time: secs Total REAL time to Router completion: secs Total CPU time to Router completion: secs Generating "par" statistics ************************** 349 Chương IV – Hướng dẫn phần mềm ISE Xilinx Generating Clock Report ************************** + + + + + + -+ | Clock Net | Resource |Locked|Fanout|Net Skew(ns)|Max Delay(ns)| + -+ + + + + -+ | XLXN_15 | Local | | | 0.070 | 1.895 | + -+ + + + + -+ The Delay Summary Report The SCORE FOR THIS DESIGN is: 122 The NUMBER OF SIGNALS NOT COMPLETELY ROUTED for this design is: The AVERAGE CONNECTION DELAY for this design is: The MAXIMUM PIN DELAY IS: The AVERAGE CONNECTION DELAY on the 10 WORST NETS is: Listing Pin Delays by value: (nsec) d < 1.00 < d < 2.00 < d < 3.00 < d < 4.00 16 13 0 < d < 5.00 1.010 1.895 1.077 d >= 5.00 Generating Pad Report All signals are completely routed Total REAL time to PAR completion: secs Total CPU time to PAR completion: secs Các trình khác (tùy chọn) Tùy theo thiết kế nhu cầu, ta chạy số trình khác sau Tạo báo cáo thời gian sau Place Route Floorplanner Phân tích công suất tiêu thụ Tạo file Bitstream Sau file NCD place route, file sử dụng để tạo file Bitstream (.bit) Công cụ để tạo file Bitstream BitGen File Bit chứa thông tin cấu hình logic kết nối bên FPGA từ file NCD thông tin thiết bị FPGA lập trình Sau tạo bit file, ta nạp vào FPGA dùng công cụ iMPACT GUI, ta chuyển format Bit file sang dạng PROM file để nạp vào PROM Công cụ để thay đổi format PROMGen 350 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] Volnei A Pedroni, Circuit Design with VHDL, Massachusetts Institute of Technology, 2004 [2] Pong P Chu, RTL Hardware Design using VHDL – Coding for Efficiency, Portability, and Scalability”, Wiley, ISBN 978-0-471-72092-8, 2006 [3] M Morris Mano, Digital Design, Third Edition, Prentice Hall, 2002 [4] VHDL for Programmable Logic by Kevin Skahill, Addison Wesley, 1996 [5] The Designer's Guide to VHDL by Peter Ashenden, Morgan Kaufmann, 1996 [6] Analysis and Design of Digital Systems with VHDL by Dewey A., PWS Publishing, 1993 [7] Tài liệu hãng, phần mềm thiết kế mạch logic số, dòng chip của: Xilinx, Altera, Actel,… [8] Tài liệu hãng, phần mềm thiết kế điện tử của: Altium, Cadence, Mentor Graphic, Proteus,… 351

Ngày đăng: 01/07/2016, 17:53

Tài liệu cùng người dùng

Tài liệu liên quan