1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thí nghiệm thiết kế FPGA

29 303 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 4,03 MB

Nội dung

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 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 khoa Công Nghệ Điện Tử, trường ĐH Công Nghiệp TP HCM ] Rev 1.0 Contents Phần : Tổng quan thiết kế FPGA I Qui trình thiết kế II Giới thiệu FPGA III Giới thiệu Board DE2 Altera Giới thiệu Thành phần 10 Một vài ứng dụng board DE2 10 IV Cách cài đặt Quartus II 10.0 Nios II 13 Giới thiệu 13 Cài đặt 13 V Tạo project với Quartus II 10.0: 16 Tạo project: 16 Viết chương trình biên dịch: 17 Gán chân nạp xuống phần cứng FPGA: 20 Phần : Hệ thống lab altera 26 Giới thiệu hệ thống lab altera 26 Chi tiết lab phải thực 27 Reference Documents 28 Phần : Tổng quan thiết kế FPGA Mục tiêu Nắm công nghệ FPGA   Làm quen board thực hành DE2  Cài đặt, làm quen với phần mềm: Quartus II, Nios II I Qui trình thiết kế Hình sau qui trình thiết kế chip đầy đủ Qui trình thiết kế tối ưu, hiệu suất cao,mật độ tích hợp cực lớn, giá thành cao, độ phức tạp lớn , nhiều rủi ro thời gian sản phẩm lâu Chỉ công ty lớn, có nhà máy sản xuất chip riêng sử dụng phương pháp thiết kế Fail Fail Schematic Design Function Design Function And Timing verification Pass Layout Design Post-Layout Pass Simulation Fabrication Hình : Full custom Design Methodology Hiện nay, theo qui trình sản xuất Chip fabless, nhà sản xuất chip không trực tiếp chế tạo chip mà họ thiết kế cấp cao outsource cho công ty sản xuất chuyên sản xuất chip TSMC, Samsung… gia công Phương pháp thiết kế dựa standard-cell 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 Fail Logic Synthesis Gate-level Simulation Cell Layout Library Placement & Routing Post-Layout Simulation Fail Hình : Standard-Cell Based Design Methodology Fail Fabrication Phương pháp thiết kế dựa FPGA , gần giống phương pháp thiết kế standardcell Based Nhưng sử dụng FPGA’s logic cell , phương pháp cho thời gian thiết kế sản xuất nhanh, Chip FPGA sản xuất từ trước , rủi ro thấp Tuy nhiên nhược điểm mật độ tích hợp không cao lắm, tốc độ không hai phương pháp thiết kế Tuy nhiên phương pháp thiết kế dựa FPGA sử dụng nhiều thời gian thiết kế nhanh, có khả 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 : FPGA-based Design Methodology Hình sau ví dụ kiến trúc FPGA công nghiệp chip FPGA thực tế Hình : Ví dụ kiến trúc FPGA Ứng dụng FPGA :      Lý tưởng cho việc chế tạo sản phẩm mẫu prototype Các thiết bị cần thời gian bán 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ả tái cấu hình linh hoạt Các hệ thống cần thay đổi cấu hình trình hoạt động (vd SDR) II Giới thiệu FPGA Qui ước đặt tên cho FPGA altera Hình : Qui ước đặt tên cho FPGA Altera Logic Element Đây phần tử logic nhỏ kiến trúc FPGA thông thường, gọi tắt LE, cho phép thực chức logic hiệu Đặc tính LE :  Là bảng tra ngõ vào (hoặc nhiều tùy kiến trúc FPGA) gọi look-up table (LUT), mà thực hàm logic biến  Một ghi lập trình (programmable register)  Một chuỗi kết nối mắt xích  Một chuỗi kết nỗi ghi  Có khả lái tất loại lien kết nối bao gồm : local, row, column, register chain, nối trực tiếp  Liên kết nối  Hỗ trợ register packing  Hỗ trợ register feedback Hình : Logic Element LE Features Ta cấu hình ghi LE thành D, T, JK, SR flip-flop Mỗi ghi có data, clock, clock enable, chân clear Tìn hiệu global clock network, chân I/O pins, logic nội Các chân I/O pins logic nội lái chân enable Nếu muốn LE thực chức mạch tổ hợp, LUT bypass qua khối ghi Mảng Logic (Logic Array Block) Một mảng logic bao gồm nhiều khối LE hệ thống liên kết nối hàng ,cột , hệ thống bus nội bộ… Hình : LAB Mạng clock (Clock Network) Bởi clock cần phân phối toàn chip FPGA, yêu cầu nghiêm ngặt timing, clock phân phối đến toàn FPGA bới mạng clock hình Hình : Clock Network I/O Pins Hệ thống IO FPGA thường tổ chức thành Bank, bank gồm nhiều chân IO có tính Để hỗ trợ nhiều hệ thống phần cứng khác nhau, chân IO FPGA gồm hàng chục kiểu khác với tính chất điện khác (xem bảng) Hình : IO Pins Hình 10 : IO Banks Kiến trúc FPGA Hình 11 : FPGA Architecture Ngoài phần tử LE, LAB, Clock, IO pin FPGA có phần tử Embedded Memory block, Embedded Multiplier, DSP Block, Integrated Controller … III Giới thiệu Board DE2 Altera Giới thiệu Board DE2 board mạch phục vụ cho việc nghiên cứu phát triển lĩnh vực luận lý số học (digital logic), tổ chức máy tính (computer organization) FPGA Hình 12 : Board DE2 Hình 18 : Thông báo chưa cài dirver Chọn Install from a specific location 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 sau nhấn Browse Hình 20 : Chọn thư mục tìm kiếm driver Hộp thoại xuất bạn tìm đến vị trí C:\altera\10.0\quartus\drivers \usb−blaster, sau nhấn OK 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, nhiên việc không bị ảnh hưởng đến việc kết nối chương trình sau 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 nằm thư mục khác so với hướng dẫn tùy thuộc vào phiên quartus mà bạn cài đặt, chí bạn copy driver tới thư mục khác trỏ đường dẫn tới thư mục cài đặt V Tạo project với Quartus II 10.0: Tạo project: Bước Vào Menu > file chọn New Project Wizard Hình 22 : Tạo project Bước Ta chọn thư mục để chứa project đặt tên cho project, xem hình bên Hình 23 : Chọn tên đường dẫn  1:Chọn dường dẫn thư mục  2: Chọn tên thư mục Bước Sau ta chọn hãng sản xuất chip tên loại chip mạch (EP2C35F672C6) Hình 24 : Hộp thoại lựa chọn chip Bước Cuối chọn Finish để hoàn tất Viết chương trình biên dịch: Bước Vào Menu > file chọn New Hình 25 : Tạo file Bước Sau chọn loại file mà muốn viết chương trình Ở ta chọn loai file Verilog HDL Hình 26 : Lựa chọn loại file cần tạo Bước Dưới đ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 Sau viết xong ta phải lưu tên file trùng với tên module chương trình Hình 28 : Hộp thoại lưu file Chú ý: Chọn Add file to current project Bước Sau lưu file xong phải thiết lập cho file top-level biên dịch Hình 29 : Lựa chọn lop-level cho file Bước Biên dịch chương trình: Hình 30 : Biên dịch chương trình Hình 31 : Thông báo việc biên dịch thành công Chú ý: Đến nạp trực tiếp lên board DE2 để kiểm thử sử dụng chương trình mô có Quartus II Gán chân nạp xuống phần cứng FPGA: Bước Gán chân cho thiết kế: Ở bước ta thực thiết kế biên dịch chương trình Để chạy thử phần cứng FPGA, cần phải thực gán chân cho thiết kế Quá trình gán chân (Pin assignment) trình định input/outout/inout thiết kế (logic) kết nối tới chân vật lý thực chip FPGA (physical) Hệ thống chân FPGA đánh nhãn chữ số theo qui định nhà sản xuất FPGA, ví dụ N25,M20 … ta xem thông tin chân tài liệu datasheet dòng chip Cyclone II Hình 32 : Pin planner (sơ đổ layout chân chip FPGA) Tuy nhiên, thiết kế board DE2, nhà thiết kế Terasic kết nối cố định chân FPGA với phần cứng tương ứng kit, ví dụ : SW[0] kết nối với PIN_N25, LEDR[0] kết nối với chân PIN_AE23 Cyclone II Như vậy, ta kết nối chân logic f (của thiết kế) với chân PIN_AE23 FPGA Có nghĩa chân f thiết kế light.v kết nối trực tiếp với LEDR[0] ta nạp thiết kế xuống kit DE2 Để gán chân, ta vào menu Assignment>Pin planner, hộp thoại sau : Hình 33 : hộp thoại Pin Planner Trong thiết kế ta có chân : f,x1,x2 với f chân output, ta gán cho LEDR[0] x1,x2 input, ta gán cho SW[0] SW[1] Sau gán xong, ta có sau: Hình 34 : gán chân cho thiết kế Sau gán chân xong, ta thực biên dịch lại thiết kế để cập nhật thông tin pin  Một câu hỏi đặt : ta lấy thông tin chân đâu ?  Trả lời : Vì chân ghép nối với phần cứng board nhà thiết kế board DE2, để có thông tin chân IO, ta tìm tài liệu DE2 manual Một cách khác, nhà thiết kế board FPGA thường cung cấp file CSV (một dạng giống excel) import trực tiếp vào phần mềm quartus với tên chân định nghĩa sẵn, vd file DE2_pin_assignments.csv board DE2 Để import file này,vào assignments>import assignments Chọn đường dẫn đến file “DE2_pin_assignments.csv”rồi nhấn OK Để kiểm tra kết quả, vào lại Assignments>Pin Planner, thấy sau Bước Nạp xuống FPGA kit DE2: Chip FPGA phải nạp cấu hình để thực thiết kế File cấu hình tạo trình compile phần mềm Quartus lỗi xảy Và lập trình cấu hình FPGA theo hai cách, chế độ JTAG AS File cấu hình truyền từ máy chủ PC (chạy quartus) xuống board FPGA cáp USB kết nối board máy tính PC Để sử dụng cáp này, cần phải cài driver USB blaster nói Trước nạp chương trình, phải đảm bảo cáp USB kết nối board FPGA bật nguồn Trng chế độ nạp JTAG, FPGA giữ nguyên cấu hình nạp miễn cấp nguồn cho kit FPGA, có nghĩa nguồn, Chip FPGA bị cấu hình trở thành thiết bị trắng Trong chế độ thứ hai, chế độ AS, file cấu hình lưu chip flash kit FPGA Và load vào FPGA bật nguồn, vậy, không cần phải nạp lại file cấu hình bật nguồn kit FPGA (như trường hợp nạp JTAG) Để chọn lựa mode nạp, chọn RUN/PROG switch DE2 board Vị trí RUN chọn JTAG mode, vị trí PROG chọn AS mode  Quá trình nạp thông qua mode JTAG sau : o Gạt switch RUN/PROG FPGA sang vị trí RUN o Chọn Tools>Programmer Một cửa sổ hình 35 o Ở cần phải định công cụ lập trình mode lập trình o Chọn JTAG hộp thoại mode o Nếu USB-Blaster chưa chọn, nhấn vào hardware Setup chọn USBBlaster hộp thoại sổ xuống hình 36 Hình 35 : Hộp thoại programming Hình 36 : Chọn công cụ lập trình USB blaster o Nếu không thấy lên thiết bị USB-Blaster nào, kiểm tra cáp USB, bật nguồn board, driver … o Sau chọn file cần nạp dạng sof (nếu chưa có sẵn hộp thoại) cách nhấn Add file o Sau chọn xong, nhấn start để bắt đầu lập trình Một led board sang chi đến trình lập trình thành công o Nếu có lỗi lên cửa sổ quartus,thì kiểm tra lại board cấp nguồn chưa Nếu không phát lỗi, hỏi thầy hướng dẫn bạn để giúp đỡ  Quá trình nạp thông qua mode Active Serial sau : o Để chọn thiết bị cần lập trình, chọn Assignments>Device hình 37 o Click vào Device & Pin Options chọn hình 38, nhấn OK để quay lại hình 38, tiếp tục nhấn OK compile lại toàn project Hình 37 : Device Windows Hình 38 : Chọn thiết bị lập trình o Sau compile xong chọn Tools>Programmer o Chọn Active Serial Programming hộp thoại mode o Tiến hành bước tương tự Bước Kiểm tra thiết kế o Sau nạp xuống Kit FPGA, ta kiểm tra thiết kế o Gạt switch RUN/PROG sang vị trí RUN o Thử tất giá trị biến đầu vào x1 x2 cách thay đổi trạng thái SW0 SW1 board Kiểm tra kết với bảng thật cách quan sát trạng thái led o Nếu mạch hoạt động không thiết kế, sửa lại code, kiểm tra gán chân… compile lại, nạp lại kiểm tra lại mạch hoạt động mong muốn Phần : Hệ thống lab altera Giới thiệu hệ thống lab altera Trong giáo trình này, sử dụng hệ thống lab tiêu chuẩn altera gồm từ lab tới lab Hoàn thành lab này, có kỹ lĩnh vực thiết kế chip sử dụng ngôn ngữ Verilog HDL           Lab 0a : Thiết kế sơ đồ mạch Altera Quartus Lab 0b : Thiết kế ngôn ngữ mô tả phần cứng Verilog HDL Altera Quartus Lab : Công tắc, leds, ghép kênh Lab : Hệ thống Số hiển thị Lab : Latch & Flipflop (Option) Lab : Bộ đếm Counter Lab : Clocks Timers Lab : Bộ cộng, trừ, nhân Lab : Máy trạng thái Lab : Bộ vi xử lý đơn giản Tùy theo chương trình học có yêu cầu khác :    Đối với chương trình đại học liên thông, yêu cầu thực từ Lab tới Lab Đối với chương trình đại học qui, yêu cầu thực từ Lab tới Lab Đối với hệ nâng cao, yêu cầu thực thêm Lab Tùy theo sở hạ tầng thiết bị, lab thực theo cách khác :  Nếu phần cứng, mô phần mềm model-sim quartus simulation  Nếu có phần cứng (DE1,DE2 tương đương) tổng hợp trực tiếp thực phần cứng kit FPGA (có thể mô không, tùy yêu cầu giáo viên hướng dẫn) Chi tiết lab phải thực          Lab 0: FPGA Design using Quartus II o Quartus II Introduction Using Schematic Design o Quartus II Introduction Using Verilog Design Lab 1: Switches, Lights, and Multiplexers o Part 1.1 : Led Control o Part 1.2 : Design to Multiplexer o Part 1.3A : Design to Multiplexer from Mux2to1 o Part 1.3B : Extend to 8-bit Mux5to1 o Part 1.4 : Design Led Segments Decoder o Part 1.5 : 7-Segments Led display o Part 1.6: Led Rotation on 7-Segment Leds (Optional) Lab 2: Numbers and Displays o Part2.1: Binary-to-Decimal conversion o Part2.2: BCD Display on 7-Segment Led o Part2.3: Implement 4-bit Adder (RCA) o Part2.4 : Design BCD Adder o Part 2.5 : Design 2-digit BCD Adder Lab 3: Latch & Flipflop (Optional) Lab 4: Counters o Part 4.1 : Design A 4-bit synchronous Counter o Part 4.2 : 7-segment Led Counter o Part 4.3 : Display scrolling text on 7-Segment Led Lab 5: Clocks and Timers o Part 5.1 : Implement a 3-digit BCD counter o Part 5.2 : Implement a time-of-day clock o Part 5.3 : Design and implement a reaction-timer circuit Lab 6: Adders, Subtractors, and Multipliers o Part 6.1 : Design a 8-bit 2’s-complement Adder o Part 6.2 : Expand to 8-bit Add/Sub Circuit o Part 6.3 : Implement a 4-bit Multiplier o Part 6.4 : Extend the multiplier to multiply 8-bit numbers o Part 6.5 : Design a MAC circuit (Multiply Accumulate Circuit) Lab 7: Finite State Machines o Part 7.1 : Finite State Machines o Part 7.2 : Design a modulo-10 counter-like circuit o Part 7.3 : Design a scrolling text display using shift-register Lab 8: A Simple Processor (Optional) o Part 8.1 : Design a simple Processor o Part 8.2 : Design a simple CPU with Memory and PC counter Reference Documents 1) Haibo Wang , “ECE428”, ECE Department , Southern Illinois University , Carbondale, IL 62901 2) Tài liệu TN FPGA, Khoa KH-KTMT ,Trường Đại Học BK TP HCM 3) Altera University Program Documents 4) Altera website 5) Internet ... Fabrication Phương pháp thiết kế dựa FPGA , gần giống phương pháp thiết kế standardcell Based Nhưng sử dụng FPGA s logic cell , phương pháp cho thời gian thiết kế sản xuất nhanh, Chip FPGA sản xuất từ... layout chân chip FPGA) Tuy nhiên, thiết kế board DE2, nhà thiết kế Terasic kết nối cố định chân FPGA với phần cứng tương ứng kit, ví dụ : SW[0] kết nối với PIN_N25, LEDR[0] kết nối với chân PIN_AE23... PIN_AE23 Cyclone II Như vậy, ta kết nối chân logic f (của thiết kế) với chân PIN_AE23 FPGA Có nghĩa chân f thiết kế light.v kết nối trực tiếp với LEDR[0] ta nạp thiết kế xuống kit DE2 Để gán chân,

Ngày đăng: 09/10/2017, 12:38

HÌNH ẢNH LIÊN QUAN

Hình 1: Full custom Design Methodology - Thí nghiệm thiết kế FPGA
Hình 1 Full custom Design Methodology (Trang 3)
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ế. - Thí nghiệm thiết kế FPGA
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ế (Trang 4)
Hình 3: FPGA-based Design Methodology - Thí nghiệm thiết kế FPGA
Hình 3 FPGA-based Design Methodology (Trang 4)
Hình 5: Qui ước đặt tên cho FPGA của Altera - Thí nghiệm thiết kế FPGA
Hình 5 Qui ước đặt tên cho FPGA của Altera (Trang 5)
Hình 6: Logic Element - Thí nghiệm thiết kế FPGA
Hình 6 Logic Element (Trang 6)
Hình 8: Clock Network - Thí nghiệm thiết kế FPGA
Hình 8 Clock Network (Trang 7)
Hình 9: IO Pins - Thí nghiệm thiết kế FPGA
Hình 9 IO Pins (Trang 8)
Hình 1 0: IO Banks - Thí nghiệm thiết kế FPGA
Hình 1 0: IO Banks (Trang 8)
Hình 1 1: FPGA Architecture - Thí nghiệm thiết kế FPGA
Hình 1 1: FPGA Architecture (Trang 9)
III. Giới thiệu Board DE2 của Altera - Thí nghiệm thiết kế FPGA
i ới thiệu Board DE2 của Altera (Trang 10)
Hình 1 2: Board DE2 - Thí nghiệm thiết kế FPGA
Hình 1 2: Board DE2 (Trang 10)
Hình 1 5: Chương trình vẽ (paintbrush) - Thí nghiệm thiết kế FPGA
Hình 1 5: Chương trình vẽ (paintbrush) (Trang 12)
Hình 1 4: Ứng dụng TV Box - Thí nghiệm thiết kế FPGA
Hình 1 4: Ứng dụng TV Box (Trang 12)
Hình 1 6: Máy hát Karaoke và máy chơi nhạc từ card SD - Thí nghiệm thiết kế FPGA
Hình 1 6: Máy hát Karaoke và máy chơi nhạc từ card SD (Trang 13)
Hình 1 7: Phần mềm Quartus và Nios II IDE - Thí nghiệm thiết kế FPGA
Hình 1 7: Phần mềm Quartus và Nios II IDE (Trang 14)
Hình 1 8: Thông báo chưa cài dirver - Thí nghiệm thiết kế FPGA
Hình 1 8: Thông báo chưa cài dirver (Trang 15)
Hình 19 :Chọn cách thức cài đặt driver - Thí nghiệm thiết kế FPGA
Hình 19 Chọn cách thức cài đặt driver (Trang 15)
Hình 20 :Chọn thư mục tìm kiếm driver - Thí nghiệm thiết kế FPGA
Hình 20 Chọn thư mục tìm kiếm driver (Trang 16)
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í nghiệm thiết kế FPGA
c 2. Ta chọn thư mục để chứa project và đặt tên cho project, xem hình bên dưới (Trang 17)
Hình 2 2: Tạo mới một project - Thí nghiệm thiết kế FPGA
Hình 2 2: Tạo mới một project (Trang 17)
Hình 2 4: Hộp thoại lựa chọn chip - Thí nghiệm thiết kế FPGA
Hình 2 4: Hộp thoại lựa chọn chip (Trang 18)
Hình 2 6: Lựa chọn loại file cần tạo - Thí nghiệm thiết kế FPGA
Hình 2 6: Lựa chọn loại file cần tạo (Trang 19)
Hình 2 7: Cửa sổ viết code - Thí nghiệm thiết kế FPGA
Hình 2 7: Cửa sổ viết code (Trang 19)
Hình 2 8: Hộp thoại lưu file - Thí nghiệm thiết kế FPGA
Hình 2 8: Hộp thoại lưu file (Trang 20)
Hình 29 : Lựa chọn lop-level cho file - Thí nghiệm thiết kế FPGA
Hình 29 Lựa chọn lop-level cho file (Trang 20)
Hình 3 1: Thông báo việc biên dịch thành công - Thí nghiệm thiết kế FPGA
Hình 3 1: Thông báo việc biên dịch thành công (Trang 21)
Hình 3 0: Biên dịch chương trình - Thí nghiệm thiết kế FPGA
Hình 3 0: Biên dịch chương trình (Trang 21)
Hình 3 3: hộp thoại Pin Planner - Thí nghiệm thiết kế FPGA
Hình 3 3: hộp thoại Pin Planner (Trang 22)
Hình 3 4: gán chân cho thiết kế - Thí nghiệm thiết kế FPGA
Hình 3 4: gán chân cho thiết kế (Trang 23)
o Để chọn thiết bị cần lập trình, chọn Assignments>Device như hình 37. - Thí nghiệm thiết kế FPGA
o Để chọn thiết bị cần lập trình, chọn Assignments>Device như hình 37 (Trang 25)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w