hoangquang.dientu@gmail.com Nhận hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA
BÀI 1: TỔNG QUAN VỀ THIẾT KẾ SỐ TRÊN FPGA (FIELD-FROGRAMMABLE GATE ARRAY)
1
FPGA Class 30/05/2013
Nội dung chính
Luồng thiết kế cơ bản Các phần mềm sử dụng Ngôn ngữ mô tả phần cứng Khái quát về lý thuyết thiết kế số KIT DE1 Cấu trúc FPGA Một ví dụ thiết kế (phân tích, tổng hợp, mô
phỏng và nạp KIT)
2
FPGA Class 30/05/2013
Luồng thiết kế cơ bản (Design Flow)
Sơ đồ khối, sơ đồ chân.
Thiết kế mức cổng logic
Viết RTL (Register Transfer Level)
code
Tổng hợp và kiểm tra lỗi.
Mô phỏng thiết kế.
Gán chân tín hiệu và biên dịch file
nạp.
Chạy kiểm tra chức năng trên FPGA
3
FPGA Class 30/05/2013
Luồng thiết kế cơ bản
module MUX2 (input SEL, A, B, output F);
input SEL, A, B;
output F;
INV G1 (SEL, SELB);
AOI G2 (SELB, A, SEL, B, FB);
INV G3 (.A(FB), .F(F));
endmodule
4
FPGA Class 30/05/2013
Miền thiết kế
Circuit
Gate
Silicon (Physical)
5
FPGA Class 30/05/2013
Thiết kế trên FPGA và thiết kế ASIC (Appication_Specific Integrated Circuit)
ASIC
FPGA
Ngôn ngữ
Verilog, VHDL
Verilog, VHDL
Sản phẩm cuối cùng
Chip chuyên dụng
Code nhúm
Thời gian thực hiện
Lâu
Nhanh hơn
Chi phí ban đầu
Cao
Thấp hơn
Các điểm khác
Tái sử dụng và nâng cấp dễ dàng. Đơn giản là sửa code và nạp lại.
Code được tổng hợp và tối ưu chuyên biệt cho thiết kế.
Code được tổng hợp và tối ưu dựa trên cấu trúc của FPGA.
6
FPGA Class 30/05/2013
Các phần mềm
Microsoft Visio – Vẽ sơ đồ, vẽ mạch EmEditor hoặc Notepad++ để viết code Xemacs 21.4.21 để kết nối các mô-đun
(module) tự động.
Quartus (8.1 hoặc 9.0) để kiểm tra và tổng hợp ModelSim (5.7g hoặc 6.4a) để mô phỏng chức
năng.
7
FPGA Class 30/05/2013
Ngôn ngữ mô tả phần cứng
Hardware Description Language (HDL) VHDL (VHSIC HDL – Very-High-Speed
Integrated Circuit HDL)
Verilog HDL (gọi ngắn gọn là Verilog).
Các phiên bản Verilog
1995 2001 (IEEE std 1364-2001)
8
FPGA Class 30/05/2013
Spartan3E Start KIT (Xilinx)
Giá: 395$ ~ 7,745 triệu Các ngoại vi:
32-Mbyte DDR SDRAM 2-Mbyte serial Flash 512-Kbyte SRAM 4 switches, 8 leds Ethernet 10/100 PHY VGA PS/2 port Two 9-pin RS-232 serial port 16 character - 2 Line LCD
9
FPGA Class 30/05/2013
DE2 Altera Board (TerAsic)
Giá: 495$ ~ 9,745 triệu Với trường học: 269$ Các ngoại vi:
•16-Mbyte StrataFlash •8-Mbyte SDRAM (enough to run uCLinux) •4-Mbyte Flash •18 switches with 18 red leds and 8 green ones •Ethernet 10/100 •Infrared port •24-bit Audio CODEC •PS/2 mouse or keyboard port •RS232 •TV Decoder (NTSC/PAL) •16 x 2 LCD Module •SD Card Socket
10
FPGA Class 30/05/2013
DE1 Altera Board (TerAsic)
Giá: 150$ ~ 3 triệu Với trường học: 125$ Các ngoại vi:
•Line In/Out, Microphone In (24-bit Audio CODEC) •Video Out (VGA 4-bit DAC) •Serial port (RS232) •PS/2 mouse or keyboard port •Expansion headers (two 40-pin headers) •8 MB SDRAM, 512 KB SRAM, 4 MB Flash •SD memory card slot •Four 7-segment displays •10 toggle switches, 10 red LEDs, 8 green LEDs.
11
FPGA Class 30/05/2013
Cấu tạo chip FPGA (1)
12
FPGA Class 30/05/2013
Cấu tạo chip FPGA (2)
13
FPGA Class 30/05/2013
Ví dụ minh họa luồng thiết kế
Ví dụ: Thiết kế một bộ đếm trong khoảng từ 0-
9 với 3 nút điều khiển. Nút 1: Reset đồng bộ hệ thống. Nút 2: Nút điều khiển đếm lên 1 đơn vị sau mỗi lần
nhấn.
Nút 3: Nút điều khiển đếm xuống 1 đơn vị sau mỗi
lần nhấn.
14
FPGA Class 30/05/2013
Sơ đồ khối và sơ đồ tín hiệu
Phân tích tín hiệu
Phân tích khối
Phân tích khối COUNTER_9
15
FPGA Class 30/05/2013
MẠch chi tiết COUNTER_9
Phân tích thiết kế mức thấp
16
FPGA Class 30/05/2013
Biên dịch với Quartus 9.0
Kết nối sau khi tổng hợp thành công
Xem trực tiếp trên phần mềm Quartus 9.0
17
FPGA Class 30/05/2013
Mô phỏng với ModelSim 6.4
Xem trực tiếp trên ModelSim 6.4
18
FPGA Class 30/05/2013
hoangquang.dientu@gmail.com KẾT THÚC BÀI 1
19
FPGA Class 30/05/2013