Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
3,97 MB
Nội dung
Giới thiệu Bộ tài liệu thực hành thiết kết mạch số với HDL được soạn thảo nhằm mục đích hỗ trợ các bạn sinh viên trong việc tiếp xúc với ngôn ngữ đặc tả phần cứng. Mà cụ thể là hỗ trợ cho môn học thiết kết mạch số với HDL. Tài liệu này bao gồm 9 bài, tương ứng với 9 buổi. Nội dung chu yếu hướng đến việc học tư duy thiết kết phần cứng. Giúp sinh viên luyện tập các kỹ năng lập trình với Verilog, mô phỏng trên Model Sim hay trực tiếp trên board DE2. Mặc dù rất cố gắng để nhưng cũng không thể tránh khỏi những sai sót. Vì vậy rất mong nhận được ý kiến đóng góp từ phía bạn đọc hoặc các bạn sinh viên. Chân thành cảm ơn! TP.HCM, ngày 27 tháng 9 năm 2009 Mục lục WX Buổi 1. Tổng quan về các phần mềm thiết kế trên FPGA 7 I. Giới thiệu Board DE2 của Altera 7 1. Giới thiệu 7 2. Thành phần 7 3. Một vài ứng dụng của board DE2 8 II. Cách cài đặt Quartus II 8.0 và Nios II 9 1. Giới thiệu 9 2. Cài đặt 10 III. Cách nạp chương trình cho Quartus II 8.0: 13 1. Tạo 1 project: 13 2. Viết chương trình và biên dịch: 17 3. Tạo file mô phỏng (simulate) và bắt đầu simulate 22 4. Cấu hình chân và nạp lên board 30 Buổi 2. Mạch tổ hợp và mạch tuần tự 40 I. Giới thiệu 40 1. Giới thiệu 40 2. Hướng dẫn thiết kế FPGA thông qua sơ đồ khối/Schematic 40 II. Bài tập 46 Buổi 3. Lập trình Verilog với mô hình cấu trúc 48 I. Giới thiệu ModelSim 48 1. Giới thiệu 48 2. Cài đặt 48 3. Hướng dẫn 58 II. Bài tập 65 Buổi 4. Mô hình hành vi 67 I. Bài tập 67 Buổi 5. Mô hình hành vi (tt) 71 I. Bài tập 71 Buổi 6. Máy trạng thái 75 I. Giới thiệu 75 1. Giới thiệu 75 2. Hướng dẫn 75 II. Bài tập 83 Mục lục hình WX Hình 1.Board DE2 7 Hình 2. TV Box 8 Hình 3. Chương trình vẽ (paintbrush) 9 Hình 4. Máy hát Karaoke và máy chơi nhạc từ card SD 9 Hình 5. Thông báo chưa cài dirver 10 Hình 6. Chọn cách thức cài đặt driver 11 Hình 7. Chọn thư mục tìm kiếm driver 11 Hình 8. Chọn thư mục chứa dirver 12 Hình 9. Thông báo lỗi 12 Hình 10. Thông báo cài đặt hoàn tất 13 Hình 11. Tạo mới một project 14 Hình 12. Hộp hội thoại tạo mới project 15 Hình 13. Hộp thoại lựa chọn chip 16 Hình 14. Hộp thoại tổng hợp các thông tin của project 17 Hình 15. Tạo mới file 18 Hình 16. Lựa chọn loại file cần tạo 19 Hình 17. Cửa sổ viết code 19 Hình 18. Cửa sổ lập trình 20 Hình 19. Hộp thoại lưu file 20 Hình 20. Lựa chọn lop-level cho file 21 Hình 21. Biên dịch chương trình 21 Hình 22. Thông báo việc biên dịch thành công 22 Hình 23. Tạo mới file testbench 23 Hình 24. Chọn tín hiệu sẽ được test 23 Hình 25. Hộp thoại lựa chọn tín hiệu 24 Hình 26. Cửa sổ lựa chọn tín hiệu 24 Hình 27. Xác nhận lại việc lựa chọn tín hiệu 25 Hình 28. Thiết lập giá trị cho các tín hiệu 25 Hình 29. Cửa sổ Save As 26 Hình 30. Lựa chọn chế độ simulate 26 Hình 31. Cửa sổ thiết lập các thông số của quá trình simulate 27 Hình 32. Thực hiện chức năng tổng hợp và phân tích chương trình 27 Hình 33. Thông báo thành công 28 Hình 34. Thiết lập file testbench cho chương trình 28 Hình 35. Lựa chọn đường dẫn lưu trữ file testbench 28 Hình 36. Chỉ định vị trí lưu trữ file testbench 29 Hình 37. Tiến hành quá trình simulation 29 Hình 38. Thông báo simulate thành công 30 Hình 39. Kết quả quá trình mô phỏng (simulation) 30 Hình 40. Cửa sổ gán chân 31 Hình 41. Các tín hiệu cần gán chân 31 Hình 42. Danh sách các chân có thể được gán 32 Hình 43. Quá trình gán chân hoàn tất 32 Hình 44. Lưu lại file cấu hình chân 33 Hình 45. Hộp thoại load file cấu hình chân 33 Hình 46. Cửa sổ lập trình (nạp) 34 Hình 47. Cửa sổ Hardware Setup 35 Hình 48. Cửa sổ lập trình 35 Hình 49. Cửa sổ thiết bị 36 Hình 50. Cứa sổ Device & Pin Options 37 Hình 51. Thông báo thay đổi chế độ lập trình 37 Hình 52. Cửa sổ lập trình trong chế độ AS 38 Hình 53. Lựa chọn file cấu hình 38 Hình 54. Quá trình lập trình hoàn tất 39 Hình 55. Cửa sổ lựa chọn loại file 41 Hình 56. Cửa sổ làm việc của Quartus 42 Hình 57. Hộp thoại lựa chọn linh kiện có trong thư viện 43 Hình 58. Đặc linh kiện lên cửa sổ làm việc 44 Hình 59. Cửa sổ gán chân cho tín hiệu xuất nhập 45 Hình 60. Hoàn tất việc vẽ mạch 45 Hình 61. Lựa chọn file cấu hình cho project 46 Hình 62. Cửa sổ cài đặt ModelSim 49 Hình 63. Cửa sổ cài đặt ModelSim 50 Hình 64. Cửa sổ lựa chọn thư mục cài đặt 51 Hình 65. Lựa chọn tên thư mục cho chương trình 52 Hình 66. Tổng hợp thông tin cài đặt 53 Hình 67. Thanh process cài đặt 53 Hình 68. Cửa sổ thông báo license của phần mềm 54 Hình 69. Đăng ký thông tin 55 Hình 70. Xem thông tin card mạng của máy 56 Hình 71. Cửa sổ thuộc tín của hệ thống 57 Hình 72. Cửa sổ biến môi trường 58 Hình 73. Hộp thoại tạo mới một biến môi trường 58 Hình 74. Cửa sổ làm việc của ModelSim 59 Hình 75. Tạo mới project 59 Hình 76. Thông tin của project mới 60 Hình 77. Thêm các file vào project 60 Hình 78. Hộp thoại tạo mới file 60 Hình 79. Cửa sổ soạn thảo 61 Hình 80. Tạo mới file 61 Hình 81. Thêm file vào project 62 Hình 82. Code verilog file testbench 62 Hình 83. Thư viện word 63 Hình 84. Thực hiện simulate 63 Hình 85. Chọn tín hiệu sẽ được vẽ dạng sóng (giản đồ) 64 Hình 86. Cửa sổ lệnh 64 Hình 87. Giản đồ thơi gian của các tín hiệu 65 Hình 88. Kết thúc quá trình simulate 65 Hình 89. Sơ đồ kết nối mạch 66 Hình 90. Kết nối mạch 68 Hình 91. Bảng thực trị và sơ đồ mạch 68 Hình 92. Sơ đồ mạch 69 Hình 93. Bảng thực trị và sơ đồ kết nối 69 Hình 94. Sơ đồ kết nối 70 Hình 95. Bảng thực trị 70 Hình 96. Bảng thực trị 71 Hình 97. Sơ đồ kết nối mạch 72 Hình 98. Bảng thực trị và sơ đồ kết nối mạch 73 Hình 99. Mạch cộng 4-bit Full-Adder 73 Hình 100. Tạo file máy trạng thái 76 Hình 101. Cửa sổ làm việc 77 Hình 102. Tạo các trạng thái 78 Hình 103. Tạo các đường chuyển trạng thái 78 Hình 104. Thiết lập biểu thức chuyển trạng thái 79 Hình 105. Thiết lập tín hiệu xuất và action của mỗi trạng thái 80 Hình 106. Máy trạng thái 80 Hình 107. Chuyển máy trạng thái sang định dạng của ngôn ngữ thiết kết phần cứn 81 Hình 108. Code verilog được tạo ra từ máy trạng thái 82 Hình 109. Chương trình chính 83 Hình 110. Thiết lập top-level 83 Hình 111. Lưu đồ trạng thái 84 ĐH. Bách Khoa TP.HCM Khoa KH&KTMT Buổi 1. Tổng quan về các phần mềm thiết kế trên FPGA Mục tiêu Nắm được công nghệ FPGA Làm quen board thực hành DE2 Cài đặt, và làm quen với các phần mềm: Quartus II, Nios II I. Giới thiệu Board DE2 của Altera 1. Giới thiệu Board DE2 là board mạch phục vụ cho việc nghiên cứu và phát triển về các lĩnh vực luận lý số học (digital logic), tổ chức máy tính (computer organization) và FPGA. Hình 1.Board DE2 2. Thành phần Board DE2 cung cấp khá nhiều tính năng hỗ trợ cho việc nghiên cứu và phát triển, dưới đây là thông tin chi tiết của một board DE2: ¾ FPGA: - Vi mạch FPGA Altera Cyclone II 2C35. - Vi mạch Altera Serial Configuration – EPCS16. Thực hành thiết kết mạch số với HDL 7 KTMT ĐH. Bách Khoa TP.HCM Khoa KH&KTMT ¾ Các thiết bị xuất nhập: - USB Blaster cho lập trình và điểu khiển API của người dung; hỗ trợ cả 2 chế độ lập trình JTAG và AS. - Bộ điều khiển Cổng 10/100 Ethernet. - Cổng VGA-out. - Bộ giải mã TV và cổng nối TV-in. - Bộ điều khiển USB Host/Slave với cổng USB kiểu A và kiểu B. - Cổng nối PS/2 chuột/bàn phím. - Bộ giả i mã/mã hóa âm thanh 24-bit chất lượng đĩa quang với jack cắm line-in, line-out, và microphone. - 2 Header mở rộng 40-pin với lớp bảo vệ diode. - Cổng giao tiếp RS-232 và cổng nối 9-pin. - Cổng giao tiếp hồng ngoại. ¾ Bộ nhớ: - SRAM 512-Kbyte. - SDRAM 8-Mbyte. - Bộ nhớ cực nhanh 4-Mbyte (1 số mạch là 1-Mbyte). - Khe SD card. ¾ Switch, các đèn led, LCD, xung clock - 4 nút nhấn, 18 nút gạt. - 18 LED đỏ, 9 LED xanh, 8 Led 7 đoạn - LCD 16x2 - Bộ dao động 50-MHz và 27-MHz cho đồng hồ nguồn. 3. Một vài ứng dụng của board DE2 ¾ Ứng dụng làm TV box Hình 2. TV Box Thực hành thiết kết mạch số với HDL 8 KTMT ĐH. Bách Khoa TP.HCM Khoa KH&KTMT ¾ Chương trình vẽ bằng chuột USB (paintbrush) Hình 3. Chương trình vẽ (paintbrush) ¾ Máy hát Karaoke và máy chơi nhạc SD Hình 4. Máy hát Karaoke và máy chơi nhạc từ card SD II. Cách cài đặt Quartus II 8.0 và Nios II 1. Giới thiệu Bộ phần mềm thiết kế đi kèm với board DE2 bao gồm 2 dĩa: Quartus 2 và Nios 2 Integrated Development Environment (IDE) Quartus II là phần mềm hỗ trợ tất cả mọi quá trình thiết kế một mạch logic, bao gồm quá trình thiết kế, tổng hợp, placement và routing (sắp xếp và chạy dây), mô phỏng (simulation), và lập trình lên thiết bị (DE2). Nios II, môi trường phát triển tích hợp của họ Nios II (IDE), nó là công cụ phát triển chủ yếu của họ vi xử lý Nios II. Phần mềm sẽ là môi tr ường cung cấp khả năng chỉnh sửa, xây dựng, debug và mô tả sơ lược về chương trình. IDE còn cho phép tạo các chương trình từ đơn nhiệm (single-threaded) đến các chương Thực hành thiết kết mạch số với HDL 9 KTMT ĐH. Bách Khoa TP.HCM Khoa KH&KTMT trình phức tạp dựa trên một hệ điều hành thời gian thực và các thư viện middleware. 2. Cài đặt ¾ Cài đặt Quartus II và Nios II Quá trình cài đặt Quartus II và Nios đơn giản chỉ cần đưa đĩa vào máy và thực hiện theo hướng dẫn của chương trình cài đặt ¾ Cài đặt phần mềm USB blaster driver Vì Board DE2 được lập trình bằng cách sử dụng phần mềm USB Blaster (USB Blaster mechanism). Nên nếu USB Blaster driver chưa được cài đặt thì quá trình lập trình xuống board DE2 sẽ không thành công. Sau khi gắn board DE2 vào máy tính thông qua cổng USB, nếu USB Blaster driver chưa được cài đặt thì hộp thoại sau sẽ xuất hiên, Chọn No, not this time sau đó nhấn Next Hình 5. Thông báo chưa cài dirver Chọn Install from a specific location và chọn Next Thực hành thiết kết mạch số với HDL 10 KTMT ĐH. Bách Khoa TP.HCM Khoa KH&KTMT Hình 6. Chọn cách thức cài đặt driver Kết tiếp bạn chọn Search for the best driver in these location và sau đó nhấn Browse. Hình 7. Chọn thư mục tìm kiếm driver Thực hành thiết kết mạch số với HDL 11 KTMT [...]... Wizard Thực hành thiết kết mạch số với HDL 13 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 11 Tạo mới một project Bước 2 Ta chọn thư mục để chứa project và đặt tên cho project, xem hình bên dưới Thực hành thiết kết mạch số với HDL 14 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 12 Hộp hội thoại tạo mới project Bước 3 Sau đó ta chọn hãng sản xuất chip và tên loại chip trên mạch Thực hành thiết kết mạch số... tất Thực hành thiết kết mạch số với HDL 16 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 14 Hộp thoại tổng hợp các thông tin của project 2 Vi t chương trình và biên dịch: Bước 1 Vào Menu > file chọn New Thực hành thiết kết mạch số với HDL 17 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 15 Tạo mới file Bước 2 Sau đó chọn loại file mà chúng ta muốn vi t chương trình Ở đây ta chọn loai file Verilog HDL Thực hành. .. Select File Thực hành thiết kết mạch số với HDL 28 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 36 Chỉ định vị trí lưu trữ file testbench Bước 15 Chọn Processing > Start Simulation hoặc nhấp vào nút để tiến hành quá trình simulation Nếu thành công thì sẽ có thông báo như hình 38, và kết quả quá trình mô phỏng sẽ được hiển thị như ở hình 39 Hình 37 Tiến hành quá trình simulation Thực hành thiết kết mạch số... Bước 5 Sau khi lưu file xong phải thiết lập cho file là top-level thì mới biên dịch được Thực hành thiết kết mạch số với HDL 20 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 20 Lựa chọn lop-level cho file Bước 6 Biên dịch chương trình: Hình 21 Biên dịch chương trình Thực hành thiết kết mạch số với HDL 21 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 22 Thông báo vi c biên dịch thành công Chú ý: Đến đây thì có... Pin Opions sẽ xuất hiện, bạn chọn tab Configuration, trong khung Thực hành thiết kết mạch số với HDL 35 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Configuration device chọn EPCS16 Nhấn OK để ấn định sau đó dịch lại chương trình Hình 49 Cửa sổ thiết bị Thực hành thiết kết mạch số với HDL 36 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 50 Cứa sổ Device & Pin Options Bước 3 Tools->Programmer, cửa sổ lập trình sẽ... nút Start để bắt đầu vi c lập trình Trong khi lập trình thì các đèn led trên board DE2 sẽ sáng mờ đi Trên cửa sổ lập trình, thanh Progess sẽ cho thấy tiến trình nạp lên board DE2 Lập trình theo chế độ AS Bước 1 Gạt nút RUN/PROG trên board DE2 sang PROG Bước 2 Vào Assignment -> Device, chọn Device và sau đó chọn thiết bị là EP2C35F672C6 Tiếp đó nhấp vào Device & Pin Options, cửa sổ Device & Pin Opions... khi thiết lập giá trị của các chân xong ta Save lại Thực hành thiết kết mạch số với HDL 25 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 29 Cửa sổ Save As Bước 8 Nhấp vào nút để lựa chọn chế độ simulate (xem hình 30) Bước 9 Trong khung Simulate mode chọn chức năng Functional Hình 30 Lựa chọn chế độ simulate Thực hành thiết kết mạch số với HDL 26 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 31 Cửa sổ thiết. .. ý: DE2 cung cấp một file cấu hình chuẩn, file này có tên DE2_ pin_assigments.csv ở trong thư mục File cấu hình chuẩn này sẽ kết nối tất cả các chân của DE2 Khi đó bạn chỉ cần đặt tên tín hiệu trùng tên với tín hiệu mà DE2 quy ước Ví dụ: các nút nhấn sẽ có tên là SW, các đèn led sẽ có tên là LEDG hay LEDR, … Nạp lên board Thực hành thiết kết mạch số với HDL 33 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT DE2. .. nhấn OK và tiếp tục nhấn Next trí Hình 8 Chọn thư mục chứa dirver Cửa sổ thông báo vi c kiểm tra logo window không thành công, tuy nhiên vi c này sẽ không bị ảnh hưởng đến vi c kết nối của chương trình sau này Bạn tiếp tục nhấn Continue Anyway Hình 9 Thông báo lỗi Nhấn Finish để hoàn tất vi c cài đặt Thực hành thiết kết mạch số với HDL 12 KTMT ĐH Bách Khoa TP.HCM Khoa KH&KTMT Hình 10 Thông báo cài đặt... DE2 để kiểm thử hoặc sử dụng chương trình mô phỏng có trên Quartus II Phần 3 sẽ trình bày các bước cân thiết để tạo file mô phỏng và tiến hành mô phỏng giản đồ thời gian Phần 4 sẽ trình bày các bước cần thiết để nạp lên board DE2 để kiểm thử trực tiếp trên board này 3 Tạo file mô phỏng (simulate) và bắt đầu simulate Bước 1 Vào Menu > file chọn New, sau đó chọn Vector Waveform File Thực hành thiết kết