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