30/05/2013 FPGA Class
1
TỔNG QUAN VỀ THIẾT KẾ SỐ
TRÊN FPGA
(FIELD-FROGRAMMABLE GATE ARRAY)
BÀI 1:
Nhận hướng dẫn thiết kế số sử
dụng ngôn ngữ Verilog-HDL
trên FPGA
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)
30/05/2013 FPGA Class
2
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
30/05/2013 FPGA Class
3
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
Luồng thiết kế cơ bản
30/05/2013 FPGA Class
4
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
Miền thiết kế
30/05/2013 FPGA Class
5
Circuit Gate
Silicon
(Physical)
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.
30/05/2013 FPGA Class
6
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.
30/05/2013 FPGA Class
7
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)
30/05/2013 FPGA Class
8
Spartan3E Start KIT (Xilinx)
30/05/2013 FPGA Class
9
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
DE2 Altera Board (TerAsic)
30/05/2013 FPGA Class
10
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
DE1 Altera Board (TerAsic)
30/05/2013 FPGA Class
11
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.
Cấu tạo chip FPGA (1)
30/05/2013 FPGA Class
12
Cấu tạo chip FPGA (2)
30/05/2013 FPGA Class
13
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.
30/05/2013 FPGA Class
14
Sơ đồ khối và sơ đồ tín hiệu
30/05/2013 FPGA Class
15
Phân tích khối
Phân tích tín hiệu
Phân tích khối
COUNTER_9
MẠch chi tiết COUNTER_9
30/05/2013 FPGA Class
16
Phân tích thiết kế mức thấp
Biên dịch với Quartus 9.0
30/05/2013 FPGA Class
17
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
Mô phỏng với ModelSim 6.4
Xem trực tiếp trên ModelSim 6.4
30/05/2013 FPGA Class
18
30/05/2013 FPGA Class
19
KẾT THÚC BÀI 1