1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án Tìm hiểu thực hành DE2i

24 6 0

Đ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

Tiêu đề Tìm hiểu và thực hành trên DE2i Development Kit
Tác giả Phạm Minh Tuấn, Phạm Quang Tùng
Người hướng dẫn TS. Nguyễn Kim Khánh
Trường học Hà Nội University of Science and Technology
Chuyên ngành Information Technology
Thể loại Báo cáo đồ án
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 1,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Field-programmable gate array FPGA là một mạch tích hợp, có thể cấu trúc lại mảng phần tử logic bởi người sử dụng hoặc lập trình viên, bằng cách sử dụng ngôn ngữ lập trình mô tả phần c n

Trang 1

VI N CỌNG NGH THỌNG TIN VÀ TRUYỀN THỌNG

BÁO CÁO

Đ ÁN H NHÚNG Tìm hiểu và thực hành trên DE2i

Development Kit

Giáo viên h ng dẫn: TS Nguy n Kim Khánh Sinh viên thực hi n: Ph m Minh Tuấn 20112446

Ph m Quang Tùng 20112148

Trang 2

1 Tìm hi ểu về DE2i-150 Development Kit 1

1.1 Gi ới thiệu chung về DE2i-150 1

1.2 Cấu tạo của DE2i-150 1

1.2.1 Sơ đồ khối 1

1.2.2 B ộ vi xử lý 2

1.2.3 B ộ FPGA 3

1.3 Nh ữ g điể ưu việt của DE2i-150 4

2 Tìm hi ểu về FPGA 4

2.1 Khái ni ệm 4

2.2 So sánh FPGA với các loại vi mạch khác 4

2.3 Cấu tạo của FPGA 5

2.3.1 Logic Blocks 5

2.3.2 Programmable Interconnects 6

2.3.3 I/O Blocks 7

2.3.4 Các khối thiết kế sẵn 8

2.4 Ứng dụng của FPGA 8

3 Cài đặt Windows 7 8

3.1 Chu ẩn bị 8

3.2 Cá ước thực hiện 8

4 PCI Express 9

4.1 PCIe Fundamental 10

4.2 PCIe Display Demo 12

5 Th ực hành trên KIT 14

5.1 Thiết kế IC tạo hiệu ứng dải LED trên KIT 14

MÔ TẢ ĐỀ TÀI 14

THI ẾT KẾ IC 15

5.2 B ộ ALU 19

MÔ T Ả ĐỀ TÀI 19

ĐẶC TẢ MÔ HÌNH THIẾT KẾ 19

K ết luận 20

Danh mục tài li u tham khảo 21

Trang 3

Phụ lục hình ảnh

Hình 1.1: Sơ đồ khối c a kit DE2i-150 1

Hình 2.1: Sơ đồ khối FPGA 5

Hình 2.2: Một số ví dụ c a logic cell 6

Hình 2.3: Sơ đồ khối chuyển mạch lập trình được 6

Hình 2.4: Cấu trúc PIP 7

Hình 2.5: Một ví dụ mô hình I/O cell 7

Hình 3.1: Kết nối các ngoại vi 9

Hình 3.2: Màn hình khởi động Windows 9

Hình 4.1: Cài đặt PCIe_DriverInstall 10

Hình 4.2: Sau khi thiết lập xong PCIe_Fundamental 10

Hình 4.3: FPGA được detect trong Device Manager 11

Hình 4.4: Bắt đầu chạy PCIe_Fundamental Application 11

Hình 4.5: LED control 12

Hình 4.6: Button Status 12

Hình 4.7: DMA memory test 12

Hình 4.8: DMA FIFO test 12

Hình 4.9: Hoàn tất cài đặt PCIe_Display 13

Hình 4.10: Tiến độ truyền dữ liệu qua DMA 13

Hình 4.11: Màn hình LCD hiển thị 14

Hình 5.1: Cấu trúc IC 15

Hình 5.2: Mạch chốt 16

Hình 5.3: Mux4x1 16

Hình 5.4: reg_status 16

Hình 5.5: rom_hu0 17

Hình 5.6: reg_rom_hu0 17

Hình 5.7: rom_hu1 17

Hình 5.8: reg_rom_hu1 18

Hình 5.9: rom_hu2 18

Hình 5.10: reg_rom_hu2 18

Trang 4

1 Tìm hiểu về DE2i-150 Development Kit

1.1 Gi ới thiệu chung về DE2i-150

DE2i-150 là một nền tảng đột phá, với sự kết hợp c a bộ vi xử lí nhúng Intel N2600

và bộ Altera Cyclone IV GX FPGA c a hãng Altera Chính nhờ sự kết hợp này,

DE2i150 trở thành một hệ thống máy tính đầy đ tính năng, và có hiệu năng xử lý

rất cao Đặc biệt, bộ Altera Cyclone IV GX FPGA nằm trên board DE2i-150 có thể

tăng tốc khả năng đáp ng c a hệ thống mà vẫn giữ nguyên chi phí giải pháp và

hiệu quả năng lượng

DE2i-150 có đến 150.000 phần tử logic, với sự mền dẻo, linh hoạt c a khả năng tái

cấu trúc phần c ng, nó có thể đáp ng cho bất c nhiệm vụ nào

Bộ vi xử lí c a Intel và bộ thiết bị FPGA được liên kết với nhau thông qua 2 luồng

PCIe tốc độ cao, đảm bảo cho việc truyền dữ liệu giữa chúng đạt tốc độ cao

Chính nhờ những điều này, DE2i-150 sẽ là một công cụ tuyệt vời để xử lý các tác

vụ đặc biệt, cũng như thiết kế phần c ng

Trang 5

Qua sơ đồ trên, ta có thể nhận thấy, kit DE2i-150 gồm 2 khối: khối bên trái là Intel

Atom Processor, khối bên phải là FPGA Altera Cyclone GX Hai khối liên kết với

nhau bởi 2 đường PCIe

1.2.2 Bộ vi xử lý

Các thông số kĩ

thuật:

 CPU : Intel® Atom™ Dual Core Processor N2600( 1M Cache, 1.6GHz )

• Intel® Hyper-Threading Technology

• Intel SpeedStep® Technology

• Instruction Set : 64-bit

• Instruction Set Extensions : SSE2, SSE3, SSSE3

• Integrated Graphics

• Graphics Base Frequency : 400MHz

 Chipset : Intel® NM10 Express Chipset

• DMI x2 to CPU

• Intel® High Definition Audio

• Serial ATA (SATA) 3 Gb/s

• Universal Serial Bus(USB) Hi-Speed USB 2.0

• PCI Express Gen 1

• DIP package Bios Flash : GD25Q16

• Programming Interface for Bios : Dedi-Prog Interface

• 27MHz VGA clock source  Ethernet

• Intel® 82583V GbE Controller

Trang 6

• 3 status indicting LEDs

 Others

• Power header for hard-disk

• Current limit for USB

• JTAG and AS mode configuration

• EPCS64 serial configuration device

• On-board USB Blaster circuitry

• High Speed Mezzanine Card (HSMC)

• 40-pin expansion port

• VGA-out connector

• VGA DAC (high speed triple DACs)

• DB9 serial connector for RS-232 port with flow control

 Clock

• Three 50MHz oscillator clock inputs

• SMA connectors (external clock input/output)

 Display

• 16x2 LCD module

 Switches and indicators

• 18 slide switches and 4 push-buttons switches

Trang 7

• 18 red and 9 green LEDs

• Eight 7-segment displays

 Other features

• Infrared remote-control receiver module

• TV decoder (NTSC/PAL/SECAM) and TV-in connector

 Sự kết hợp giữa bộ vi xử lí Intel Atom và bộ FPGA c a Altera giúp cho kit

trở thành một hệ thống hoàn chỉnh, mạnh mẽ và đầy đ các ch c năng

 Số lượng thành phần logic lớn (150.000 phần tử logic) với khả năng tái cấu

trúc linh hoạt, mềm dẻo

Field-programmable gate array (FPGA) là một mạch tích hợp, có thể cấu trúc lại

mảng phần tử logic bởi người sử dụng hoặc lập trình viên, bằng cách sử dụng ngôn

ngữ lập trình mô tả phần c ng HDL như VHDL, Verilog, AHDL…

Hiện nay FPGA đã tích hợp được một số lượng lớn các cổng logic và các khối RAM

để xử lí các tính toán ph c tạp Đồng thời nó cũng được trang bị các cổng I/O tốc độ

cao, đảm bảo về mặt thời gian cho việc truyền và nhận dữ liệu FPGA có thể thực

hiện được bất c nhiệm vụ nào mà một ASIC có thể thực hiện, cùng với khả năng

tái cấu trúc linh hoạt, FPGA có ưu thế trong nhiều ng dụng

2.2 So sánh FPGA với các loại vi mạch khác

 FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC, nhưng

nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên

thư viện logic thì FPGA không đạt được m c độ tối ưu như những loại này, và

hạn chế trong khả năng thực hiện các tác vụ đặc biệt ph c tạp, tuy nhiên FPGA

Trang 8

lại ưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế

đơn giản hơn, do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng

 Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc mảng

phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn cá điểm: tác vụ tái

lập trình c a FPGA được thực hiện đơn giản hơn; khả năng lập trình linh động

hơn; và khác biệt quan trọng nhất là kiến trúc c a FPGA cho phép nó có khả

năng ch a khối lượng lớn cổng logic

2.3 C ấu tạo của FPGA

FPGA được cấu tạo từ 3 thành phần chính:

 Các khối logic cơ bản (Logic Blocks, ngoài ra còn có tên gọi khác như: CLB,

Logic Array Block, LAB…tùy vào nhà sản xuất)

 Hệ thống mạch liên kết lập trình được (Programmable Interconnects hay

routing channels)

 Các khối vào ra (I/0 Block)

Ngoài ra FPGA còn được trang bị các phần tử thiết kế sẵn như: DSP slice, RAM,

ROM, nhân vi xử lý…

2.3.1 Logic Blocks

Mỗi khối logic thông thường được tạo nên từ một vài phần tử logic cell

Mỗi logic cell điển hình bao gồm:

Trang 9

Trong hình trên, khối LUT được chia làm 2 khối 3-LUT(LUT với 3 đầu vào) Nhưng

thông thường 2 khối 3-LUT được kết hợp lại thành 1 khối 4-LUT(LUT với 4 đầu

vào) thông qua bộ MUX Hiện nay khối LUT còn được bổ sung thêm 2 đầu vào kết

nối từ các khối logic trước và sau nó, nâng tổng số đầu vào c a LUT lên 6 chân Cấu

trúc này nhằm tăng tốc các bộ số học logic

2.3.2 Programmable Interconnects

Vai trò c a khối là:

• Kết nối hoặc ngắt kết nối giữa các khối logic với nhau

• Kết nối hoặc ngắt kết nối giữa các khối logic với các khối I/O bằng ngôn

ngữ lập trình

Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương

ngang và đ ng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các

nhóm khác nhau, ví dụ trong XC4000 c a Xilinx có 3 loại kết nối: ngắn, dài và rất

dài

Trang 10

Các đường kết nối được nối với nhau thông qua các khối chuyển mạch lập trình

được (programmable switch), trong một khối chuyển mạch ch a một số lượng nút

chuyển lập trình được, đảm bảo cho các dạng liên kết ph c tạp khác nhau Các điểm

kết nối như vậy được gọi là programmable interconnect point(PIPs)

Một số kiểu PIPs hay được dùng:

• Cross-point: kết nối lần lượt các đường kết nối theo chiều dọc hoặc ngang

• Break-point: kết nối hoặc cô lập 2 đường kết nối

• Decoded MUX: nhóm 2^n cross-points thành một đầu ra với n config bit

• Non-decoded MUX: nhiều đường kết nối sử dụng chung 1 config bit

• Compound cross-point: gồm 6 Break-point

2.3.3 I/O Blocks

Các khối I/O được dùng để kết nối FPGA với các thiết bị phần c ng khác, đảm bảo

truyền và nhận dữ liệu giữa môi trường bên trong và môi trường bên ngoài FPGA

I/O Blocks gồm nhiều I/O cell Mỗi I/O cell có thể cấu hình lại thành một cổng vào,

một cổng ra, hoặc là một cổng hai chiều D flip-flop thường được sử dụng trong I/O

cell để cung cấp việc cho đăng kí đầu vào và đầu ra

Trang 11

2.3.4 Các kh ối thiết kế sẵn

Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp

thêm khác nhau, ví dụ để thiết kế những ng dụng SoC, trong dòng Virtex 4.5 c a

Xilinx có ch a nhân xử lí PowerPC, hay trong Atmel FPSLIC tích hợp nhân AVR,

hay cho những ng dụng xử lí tiens hiệu số DSP trong FPGA được tích hợp các DSP

Slide là bộ nhân cộng tốc độ cao, thực hiện hàm a*b+c…

ng dụng c a FPGA bao gồm:

• Xử lí tín hiệu số DSP

• Tiền thiết kế mẫu ASIC(ASIC prototyping)

• Các hệ thống điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng

nói, mật mã học

• Mô phỏng phần c ng máy tính

Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết được những

bài toán ph c tạp mà trước kia chỉ thực hiện được nhờ phần mềm máy tính, ngoài ra

nhờ số lượng cổng logic lớn mà FPGA được ng dụng cho những bài toán đòi hỏi

khối lượng tính toán lớn và dùng trong các hệ thống làm việc thời gian thực

3.1 Chuẩn bị

 Sử dụng phần mềm Windows 7 DVD Download Tool trên chiếc máy tính

cá nhân để tạo một Windows 7 Bootable USB Flash Drive

 Sau đó, kết nối USB vào DE2i-150 Development Kit, kết nối kit với một màn

hình máy tính qua cổng VGA, kết nối các ngoại vi cần thiết là Mouse và

Keyboard

Trang 12

Hình 3.1: Kết nối các ngoại vi

 Sau khi chuẩn bị xong tất cả, cắm nguồn điện cho Kit và khởi động Lúc

này màn hình LCD sẽ hiển thị:

Hình 3.2: Màn hình khởi động Windows

 Từ đây chúng ta làm theo các bước cài Windows thông thường

 Sau khi cài đặt hoàn tất khởi động lại DE2i-150 DK và bắt đầu cài đặt PCIe

để Windows có thể giao tiếp với FPGA

Có 2 đ ng PCIe trên DE2i-150 DK:

 PCIe Fundamental Demo: Thể hiện này minh họa cho điều khiển I/O cơ bản

và truyền dữ liệu tốc độ cao c a PCIe qua DMA Việc truyền dữ liệu qua

DMA hỗ trợ cả hai loại bộ nhớ: memory mapping và FIFO

 PCIe Display Demo: Thể hiện này minh họa cho điều khiển I/O cơ bản và

truyền dữ liệu tốc độ cao c a PCIe bus

Chuẩn b cho vi c cài đặt PCIe:

 Copy Demonstration Files: Copy toàn bộ thư mục DE2i-150 System CD trên

máy tính cá nhân lên DE2i-150 DK

Trang 13

 Cài đặt PCIe Driver: Mở thư mục PCIe_DriverInstall trong DE2i-150

System CD, chạy file PCIe_DriverInstall.exe và click button Install, như

hình dưới:

 Cài đặt Altera Quartus II trên Windows 7

4.1 PCIe Fundamental

Program FPGA và Restart Windows 7

 Sử dụng USB cable để kết nối hệ thống Windows 7 và USB-Blaster bên

FPGA

 Mở thư mục “Demonstration/FPGA/PCIe_Fundamental/demo_batch”,

chạy file “sof_download.bat” để bắt đầu thiết lập xử lý

 Khi thiết lập xong, màn hình sẽ hiển thị như hình dưới:

 Restart Windows 7 để cho phép BIOS nhận diện được FPGA thông qua PCIe

bus

 Sau khi Restart Windows 7, mở Windows 7 Device Manager Thiết bị FPGA

đã có trong Device Manager như hình dưới:

Trang 14

Hình 4.3 : FPGA được detect trong Device Manager

Ch y Demonstration Application Software

 Mở thư mục “PCIe_Fundamental/windows_app_vc2012/Release” và

chạy file “app.exe”, chương trình sẽ hiển thị:

 Để chạy demo LED, gõ phím “0” và gõ “ENTER” để truy cập chế độ LED

control Chương trình sẽ hiển thị “Please input led control mask” để truy vấn

người dùng nhập vào một mặt nạ điều khiển (control mask), như hình dưới

Người dùng có thể nhập vào các số thập phân từ 0 đến 15 để điều khiển 4

LED (LEDG0/LEDG1/LEDG2/LEDG3) Giá trị 11 sẽ chỉ sáng duy nhất

LEDG0 Giá trị 0 sẽ tắt cả 4 LED

Trang 15

Hình 4.5: LED control

 Để chạy demo trạng thái nút bấm, gõ phím “1” sau đó gõ “ENTER” Chương

trình sẽ đưa ra trạng thái c a KEY0/KEY1/KEY2/KEY3 là một số thập lục

phân Nếu không có KEY nào được bấm thì giá trị là fh, như hình dưới Nếu

KEY0 được bấm, giá trị trạng thái là eh

Hình 4.6: Button status

 Để test DMA memory, gõ phím “2” và nhấn “ENTER” Chương trình sẽ cho

kết quả như hình dưới:

Hình 4.7: DMA memory test

 Để test DMA FIFO, nhập vào “3” và nhấn “ENTER” Chương trình sẽ hiển

thị như hình dưới:

Hình 4.8: DMA FIFO test

 Để thoát chương trình, gõ “99” và nhấn “ENTER”

4.2 PCIe Display Demo

Program FPGA and Restart Windows 7

Trang 16

 Vào thư mục “Demonstrations/FPGA/PCIe_Display/demo_batch”, chạy

file “sof_download.bat” để bắt đầu cài đặt

 Sau khi cài đặt hoàn tất, sẽ có thông báo như hình dưới:

 Khởi động lại Windows 7 để đồng ý cho BIOS nhận biết FPGA thông qua

PCIe bus

Ch y Demonstration Application Software

 Kết nối một màn hình LCD với FPGA thông qua cổng VGA (J8)

 Trong thư mục “PCIe_Display/windows_app_vc2012/Release” chạy file

“app.exe” Chương trình sẽ bắt đầu chuyền hình ảnh qua DMA và tiến độ

được thể hiện như hình dưới:

Trang 17

 Người dùng sẽ thấy trên màn hình LCD 2 kiểu sau xuất hiện xen kẽ và liên

• Các hiệu ng này chuyển động không ngừng, lặp đi lặp lại

• Thời gian các đèn led chuyển từ hoạt cảnh này sang hoạt cảnh khác sẽ do người lập trình tự quyết định, chỉ cần mắt thường nhìn được

IC cũng đồng thời xử lý 3 nút bấm Key0, Key1 và Key 2 sao cho:

• Phím Key0 để reset mạch dãy

• Khi bấm Key1, sẽ chuyển hiệu ng này sang hiệu ng khác (hiệu ng 1  2  3 

1  2…)

• Khi bấm và giữ Key2, hiệu ng sẽ tạm dừng Nhả Key2, hiệu ng lại tiếp tục

Trang 18

• Key0: tương ng với key0 trên thiết bị, có ch c năng để reset mạch dãy

• Key1: tướng ng với key1 trên thiết bị, dùng để chuyển hiệu ng c a led dải

• Key2: tương ng với phím key2 trong thiết bị, có ch c năng tạm dừng

• clock: là chân tín hiệu lấy tín hiệu đầu vào từ xung động hồ (50MHz)

 Các thành phần chính:

o M ch ch t

Trang 19

Ch c năng: Chọn hiệu ng cho LED dải

Mô tả hoạt động: dựa vào tín hiệu chọn kênh CS để chọn hiệu ng cho LED dải,

CS = “00” tương ng hu0(hiệu ng nhấp nháy), CS=”01” tương ng hu1(hiệu ng con rắn), CS = “10” tương ng hu2(hiệu ng va chạm)

o reg_status

Hình 5.4: reg_status

Ch c năng: điều khiển tín hiệu chọn kệnh c a bộ Mux4x1

Mô tả: Dựa vào xung clock CLK để điều khiển CS Mỗi CLK có sườn lên (bấm key1) thì CS sẽ tăng thêm 1 Nếu CS = “10” thì sẽ cho CS = “00” để quay lại hiệu

ng đầu tiên

rom_hu0

Ngày đăng: 22/12/2022, 10:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w