Đăng ký Đăng nhập
Trang chủ Thí nghiệm thiết kế FPGA...

Tài liệu Thí nghiệm thiết kế FPGA

.PDF
29
106
82

Mô tả:

Thí nghiệm thiết kế FPGA
Nguyễn Thế Hoàng Khoa CN Điện Tử - ĐHCN TPHCM Thí nghiệm thiết kế FPGA [ Tài liệu hướng dẫn thực hành thiết kế FPGA. Đây là Tài liệu chuyên nghành giành cho sinh viên năm 3,4 chuyên ngành Điện Tử - Viễn thông – Tự Động. Tài liệu thuộc chương trình giảng dạy bậc ĐH của khoa Công Nghệ Điện Tử, trường ĐH Công Nghiệp TP HCM ] Rev 1.0 Contents Phần 1 : Tổng quan về thiết kế trên FPGA.......................................................................................... 2 I. Qui trình thiết kế.......................................................................................................................... 2 II. Giới thiệu FPGA............................................................................................................................ 4 III. Giới thiệu Board DE2 của Altera ............................................................................................... 9 1. Giới thiệu .................................................................................................................................... 9 2. Thành phần ............................................................................................................................... 10 3. Một vài ứng dụng của board DE2 .............................................................................................. 10 IV. Cách cài đặt Quartus II 10.0 và Nios II ..................................................................................... 13 1. Giới thiệu .................................................................................................................................. 13 2. Cài đặt ...................................................................................................................................... 13 V. Tạo một project mới với Quartus II 10.0: .................................................................................... 16 1. Tạo 1 project: ............................................................................................................................ 16 2. Viết chương trình và biên dịch: ................................................................................................. 17 3. Gán chân và nạp xuống phần cứng FPGA: .................................................................................. 20 Phần 2 : Hệ thống bài lab của altera ................................................................................................. 26 1. Giới thiệu về hệ thống bài lab của altera .................................................................................... 26 2. Chi tiết các bài lab phải thực hiện............................................................................................... 27 Reference Documents ....................................................................................................................... 28 Phần 1 : Tổng quan về 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. Qui trình thiết kế Hình sau chỉ ra qui trình thiết kế chip đầy đủ. Qui trình thiết kế này tối ưu, hiệu suất cao,mật độ tích hợp cực lớn, nhưng giá thành cao, độ phức tạp lớn , nhiều rủi ro và thời gian ra sản phẩm rất lâu. Chỉ những công ty rất lớn, và có nhà máy sản xuất chip riêng mới sử dụng phương pháp thiết kế này. Fail Fail Schematic Design Function Design Function And Timing verification Pass Layout Design Post-Layout Pass Simulation Fabrication Hình 1 : Full custom Design Methodology Hiện nay, theo qui trình sản xuất Chip fabless, các nhà sản xuất chip không trực tiếp chế tạo ra chip mà họ chỉ thiết kế cấp cao rồi outsource cho các công ty sản xuất chuyên sản xuất chip như TSMC, Samsung… gia công. Phương pháp thiết kế này dựa trên các standard-cell do các nhà sản xuất chip cung cấp sẵn. Logic Gate Library VHDL or Verilog Coding VHDL or Verilog Cimulation RTL Design High-Level Simulation Cell Layout Library Fail Logic Synthesis Gate-level Simulation Placement & Routing Post-Layout Simulation Fail Hình 2 : Standard-Cell Based Design Methodology Fail Fabrication Phương pháp thiết kế dựa trên FPGA , cũng gần giống như phương pháp thiết kế standardcell Based . Nhưng nó sử dụng các FPGA’s logic cell , phương pháp này cho thời gian thiết kế và sản xuất rất nhanh, vì các Chip FPGA đã được sản xuất từ trước , rủi ro cũng thấp. Tuy nhiên nhược điểm của nó là mật độ tích hợp không cao lắm, tốc độ cũng không bằng hai phương pháp thiết kế trên. Tuy nhiên phương pháp thiết kế dựa trên FPGA vẫn được sử dụng rất nhiều do thời gian thiết kế nhanh, có khả năng tái cấu hình động. FPGA Cell Library VHDL or Verilog Coding VHDL or Verilog Cimulation RTL Design High-Level Simulation Logic Synthesis Fail Placement & Routing Post-Layout Verification Generate FPGA bitstream Download FPGA Fail Hình 3 : FPGA-based Design Methodology Hình sau là một ví dụ về kiến trúc của một FPGA công nghiệp và chip FPGA trong thực tế. Hình 4 : Ví dụ về một kiến trúc của FPGA Ứng dụng của FPGA :      Lý tưởng cho việc chế tạo các sản phẩm mẫu prototype. Các thiết bị cần thời gian bán ra thị trường ngắn. Các sản phẩm số lượng nhỏ, theo yêu cầu khách hàng. Các phần cứng cần khả năng tái cấu hình linh hoạt. Các hệ thống cần thay đổi cấu hình trong quá trình hoạt động (vd như SDR) II. Giới thiệu FPGA Qui ước đặt tên cho FPGA của altera. Hình 5 : Qui ước đặt tên cho FPGA của Altera Logic Element Đây là phần tử logic nhỏ nhất trong kiến trúc FPGA thông thường, gọi tắt là LE, nó cho phép thực hiện các chức năng logic hiệu quả. Đặc tính của một LE :  Là một bảng tra 4 ngõ vào (hoặc nhiều hơn tùy kiến trúc FPGA) gọi là look-up table (LUT), mà có thể thực hiện hàm logic 4 biến bất kỳ.  Một thanh ghi có thể lập trình được (programmable register)  Một chuỗi các kết nối mắt xích.  Một chuỗi kết nỗi các thanh ghi.  Có khả năng lái tất cả các loại lien kết nối bao gồm : local, row, column, register chain, hoặc nối trực tiếp  Liên kết nối.  Hỗ trợ register packing  Hỗ trợ register feedback Hình 6 : Logic Element LE Features Ta có thể cấu hình mỗi thanh ghi của LE thành D, T, JK, hoặc SR flip-flop. Mỗi thanh ghi có data, clock, clock enable, và chân clear. Tìn hiệu có thể là global clock network, các chân I/O pins, hoặc bất kỳ logic nội nào. Các chân I/O pins hoặc logic nội có thể lái các chân enable. Nếu muốn LE thực hiện chức năng của các mạch tổ hợp, LUT sẽ được bypass qua khối thanh ghi. Mảng Logic (Logic Array Block) Một mảng logic bao gồm nhiều khối LE và các hệ thống liên kết nối hàng ,cột , hệ thống bus nội bộ… Hình 7 : LAB Mạng clock (Clock Network) Bởi vì clock có thể cần phân phối toàn bộ chip FPGA, và yêu cầu nghiêm ngặt về timing, do đó clock được phân phối đến toàn bộ FPGA bới một mạng clock như hình 4. Hình 8 : Clock Network I/O Pins Hệ thống IO của FPGA thường tổ chức thành các Bank, mỗi bank gồm nhiều chân IO có cùng tính năng. Để hỗ trợ nhiều hệ thống phần cứng khác nhau, các chân IO của FPGA gồm hàng chục kiểu khác nhau với các tính chất về điện cũng khác nhau (xem bảng). Hình 9 : IO Pins Hình 10 : IO Banks Kiến trúc của một FPGA Hình 11 : FPGA Architecture Ngoài các phần tử cơ bản như LE, LAB, Clock, IO pin. FPGA còn có các phần tử Embedded Memory block, Embedded Multiplier, DSP Block, Integrated Controller … III. 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 12 : Board DE2 Hình 13 : DE2 Block diagram 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. 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, lineout, 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 14 : Ứng dụng TV Box Chương trình vẽ bằng chuột USB (paintbrush) Hình 15 : Chương trình vẽ (paintbrush) Máy hát Karaoke và máy chơi nhạc SD Hình 16 : Máy hát Karaoke và máy chơi nhạc từ card SD IV. Cách cài đặt Quartus II 10.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 đĩa CDROM: 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 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. Ngoài ra, chúng ta có thể cần một chương trình mô phỏng code Verilog ở cấp độ RTL (mức truyển thanh ghi) hoặc mô phỏng ở mức cổng (Gate level Simulation) 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 như bất kỳ phần mềm nào . Hình 17 : Phần mềm Quartus và Nios II IDE Cài đặt phần mềm USB blaster driver Vì Board DE2 được lập trình (programming) bằng cách sử dụng công cụ USB Blaster (USB Blaster mechanism). Do đó, để có thể kết nối kit DE2 và lập trình thông qua máy PC, chúng ta cần phải cài đặt driver cho thiết bị USB Blaster . 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 18 : Thông báo chưa cài dirver Chọn Install from a specific location và chọn Next Hình 19 : 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 20 : Chọn thư mục tìm kiếm driver Hộp thoại mới sẽ xuất hiện bạn tìm đến vị trí C:\altera\10.0\quartus\drivers \usb−blaster, sau đó nhấn OK và tiếp tục nhấn Next Hình 21 : 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. Nhấn Finish để hoàn tất việc cài đặt. Chú ý driver USB blaster có thể nằm trong thư mục khác so với hướng dẫn tùy thuộc vào phiên bản quartus mà bạn cài đặt, thậm chí bạn có thể copy driver tới một thư mục khác và trỏ đường dẫn tới thư mục này khi cài đặt. V. Tạo một project mới với Quartus II 10.0: 1. Tạo 1 project: Bước 1. Vào Menu > file chọn New Project Wizard Hình 22 : 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 Hình 23 : Chọn tên và đường dẫn  1:Chọn dường dẫn thư mục  2: Chọn tên thư mục Bước 3. Sau đó ta chọn hãng sản xuất chip và tên loại chip trên mạch (EP2C35F672C6) Hình 24 : Hộp thoại lựa chọn chip Bước 4. Cuối cùng chọn Finish để hoàn tất 2. Viết chương trình và biên dịch: Bước 1. Vào Menu > file chọn New Hình 25 : 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 Hình 26 : Lựa chọn loại file cần tạo Bước 3. Dưới đây là một đoạn chương trình demo: tính hàm f = x1 EX-OR x2 Hình 27 : Cửa sổ viết code Bước 4. Sau khi viết xong thì ta phải lưu tên file trùng với tên module của chương trình Hình 28 : Hộp thoại lưu file Chú ý: Chọn Add file to current project 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 Hình 29 : Lựa chọn lop-level cho file Bước 6. Biên dịch chương trình:
- Xem thêm -

Tài liệu liên quan