Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ) Nghiên cứu công nghệ FPGA và ứng dụng xử lý nhanh dữ liệu (Luận văn thạc sĩ)
Trang 1Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN QUANG HUY
NGHIÊN CỨU CÔNG NGHỆ FPGA
VÀ ỨNG DỤNG XỬ LÝ NHANH DỮ LIỆU
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên, tháng 08 năm 2015
Trang 2Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN QUANG HUY
NGHIÊN CỨU CÔNG NGHỆ FPGA
Trang 3I
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu do chính tôi thực hiện
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Thái nguyên, ngày 30 tháng 8 năm 2015
Tác giả
Nguyễn Quang Huy
Trang 4Tôi xin gửi lời cảm ơn đến gia đình, đặc biệt là bố mẹ, anh, chị và vợ tôi những người luôn hết mình yêu thương, dùi dắt và ủng hộ tôi trong cuộc sống
Cuối cùng tôi xin cảm ơn ban lãnh đạo Công ty TNHH Giải Pháp Công Nghệ ITS Việt Nam, các anh chị em đồng nghiệp đã tạo điều kiện cho tôi tham gia
và hoàn thành khóa học Tôi xin cảm ơn các bạn của tôi, những người luôn bên cạnh động viên, giúp đỡ và đóng góp nhiều ý kiến thiết thực trong quá trình học tập và thực hiện luận văn./
Thái Nguyên, ngày 30 tháng 8 năm 2015
Sinh Viên Thực hiện
Nguyễn Quang Huy
Trang 5III
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
MỤC LỤC
LỜI CAM ĐOAN I LỜI CẢM ƠN II MỤC LỤC III DANH MỤC HÌNH V BẢNG CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU VI
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ FPGA VÀ ỨNG DỤNG 4
1.1 Lịch sử ra đời của FPGA 4
1.2 Quy trình thiết kế FPGA tổng quát 11
1.3 Ứng dụng của FPGA 15
1.4 Một số ngôn ngữ lập trình cho PFGA 15
1.4.1 Ngôn ngữ VHDL 16
1.4.2 Cấu trúc mô hình hệ thống mô tả bằng VHDL 18
1.4.3 Ngôn ngữ Verilog 22
1.4.4 Phương pháp kiểm tra trong Verilog 23
1.5 Môi trường lập trình cho FPGA 23
1.5.1 Phần mềm ISE của hãng Xilinx 24
1.5.2 Phần mềm Quartus II của hãng Altear 27
CHƯƠNG 2: CÔNG NGHỆ FPGA VÀ BÀI TOÁN XỬ LÝ NHANH DỮ LIỆU 30
2.1 Các thế mạnh của các ngôn ngữ đặc tả phần cứng 30
Trang 6IV
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
2.2 Các kỹ thuật xử lý nhanh dữ liệu 31
2.3 Kỹ thuật Pipeline trong công nghệ FPGA 33
2.4 Tổ chức Pipeline trong lập trình cho FPGA 35
2.5 Pipeline cho bài toán nhân 2 số trên FPGA 36
CHƯƠNG 3: ỨNG DỤNG FPGA XỬ LÝ NHANH DỮ LIỆU 42
3.1 Lựa chọn công cụ thử nghiệm 42
3.2 Bài toán nhân 2 số nguyên đơn giản 45
3.3 Bài toán nhân 2 số nguyên sử dụng kỹ thuật Pipeline 48
3.4 Đánh giá kết quả 55
KẾT LUẬN 56
TÀI LIỆU THAM KHẢO 57
DANH MỤC HÌNH
Hình 1.1: Cấu trúc tổng thể một FPGA
Hình 1.2: Khối logic FPGA
Trang 7V
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 1.3: Bộ dồn kênh F5 và F6
Hình 1.4: Sơ đồ khối của khối lặp xóa độ giữ chậm
Hình 1.5: Sơ đồ khối “Mô đun logic thích nghi” ALM
Hình 1.6: Quy trình thiết kế FPGA
Hình 1.7: Cấu trúc process
Hình 1.8: Sơ đồ khối của testbench
Hình 1.9: Giao diện phần mềm ISE
Hình 1.10: Các lựa chọn tạo Project với Virtex4
Hình 1.11: Thiết lập thời gian đếm tiến, lùi cho counter
Hình 1.12: Giao diện phần mềm Quartus II
Hình 2.1: Kỹ thuật Pipeline
Hình 2.2: Mô hình tổ chức Pipeline
Hình 2.3: Phép nhân 2 số A x B = Y
Hình 2.4: Thực thi phép nhân 2 số A x B = Y
Hình 2.5: Pipeline cho phép nhân 2 số A x B = Y
Hình 2.6: Mô hình Pipeline cho phép nhân 2 số A x B = Y
Hình 2.7: Pipeline cho phép nhân 2 số A x B = Y
Hình 3.1: Tạo Project mới
Hình 3.2: Lựa chọn ngôn ngữ VHDL
Hình 3.3 Thiết kế bộ nhân 2 số
Hình 3.4 Kết quả thực hiện 250 x 15 = 3750
Hình 3.5: Các tham số input, output của LPM_MULT
Hình 3.6: Kết quả thực hiện phép nhân 250 x 15 = 3750
BẢNG CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
Từ viết tắt Nghĩa tiếng anh
FPGA : Field-Programmable Gate Array
Trang 8VI
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DSP : Digital Signal Processing
RAM : Ramdom Access Memory
ROM : Read – only Memory
DLL : Delay Locked Loop
ADC : Analog-to-Digital Converter
ASIC : Application-Specific Integrated Circuit
CPLD : Complex Programmable Logic Device
DAC : Digital - to - Analog Converter
DRAM : Dynamic Ramdom Access Memory
EEPROM : Electrically Erasable Programmable Read – Only Memory FIFO : First In First Out
HDL : Hardware Description Language
I/O : Input/Output
LAB : Logic Array Block
LUT : Look Up Table
PLA : Programmable Logic Array
SPLD : Simple Programmable Devices
SRAM : Static Ramdom Access Memory
VHDL : VHSIC hardware description language
VHSIC : Very High Speed Itergrated Circuit
Trang 91
LỜI MỞ ĐẦU
Thế kỷ 21 là thế kỷ công nghệ thông tin và kĩ thuật số với sự phát triển và ứng dụng rộng rãi của các bộ vi xử lý Bằng việc đưa sức mạnh kỹ thuật số vào thực tiễn, các bộ vi xử lý ngày một thay đổi cách sống của loài người Các vật dụng như máy tính, máy tính bảng, điện thoại, của chúng ta đang ngày càng thông minh hơn, mạnh mẽ và nhanh hơn nhờ các bộ vi xử lý Trong đó công nghệ
FPGA xuất hiện như một giải pháp cơ bản cho vấn đề tranh thủ thời gian để đưa ra
thị trường và tránh rủi ro tài chính trong quá trình nghiên cứu sản phẩm của công nghệ điện tử FPGA là loại thiết bị khả trình (PLD) tiên tiến nhất hiện nay của nghành công nghệ chế tạo IC chuyên biệt mà vẫn được gọi là ASIC
Với sự phát triển của công nghệ thông tin như hiện nay thì việc nghiên cứu
về công nghệ FPGA và ứng dụng xử lý dữ liệu nhanh ngày càng được qua tâm hơn FPGA mới nhất hiện đang được biết đến với rất nhiều tính năng cao cấp và mạnh mẽ Với việc tích hợp thêm một số lượng lớn các thiết bị logic lập trình được cũng như bộ nhớ với dung lượng lên tới Megabits, FPGA có thể hỗ trợ các nhân xử
lý, DSP, và nhiều bộ thu phát nhúng với tốc độ tới hàng gigabit/s [11]
Sự ra đời của rất nhiều bộ thu phát tốc độ cao trong một FPGA có một ý nghĩa rất lớn “các I/O tốc độ cao ra đời đánh dấu một cột mốc rất lớn đối với chúng ta” Các bộ thu phát tốc độ Gigabit, được ghép nối với các tài nguyên xử lý dồi dào Giờ đây có thể giải quyết các ứng dụng với tốc độ truyền cao hơn rất nhiều Các nhà sản xuất thiết bị nhận thấy rằng FPGA hấp dẫn bởi nhiều nguyên nhân Nó đem lại cho thiết bị sự linh hoạt và khả năng tùy biến cao và đó là thuộc tính quan trọng mà các hãng tìm kiếm nhằm mang đến sự khác biệt cho sảm phẩm
và giúp đưa sản phẩm tới thị trường nhanh hơn FPGA có thể tùy biến linh động, một FPGA cùng với một bộ thu phát quang cho phép hỗ trợ nhiều giao thức Ví dụ: Ethernet hoặc SONET/SDH Tùy thuộc vào firmware được tải xuống FPGA Tính
Trang 102 chất linh hoạt như vậy sẽ tránh được việc phải thay đổi các bộ thu phát quang hoặc thậm chỉ cả card đường dây
Chính vì vậy, yêu cầu lựa chọn, so sánh, đánh giá các công nghệ FPGA và ứng dụng xử lý dữ liệu nhanh là một đề tài mang ý nghĩa khoa học và thực tiễn
cao Với lý do đó, tôi lựa chọn đề tài “Nghiên cứu công nghệ FPGA và ứng dụng
xử lý nhanh dữ liệu” cho luận văn tốt nghiệp Thạc Sỹ của mình
Đối tượng và phạm vi nghiên cứu
Công nghệ FPGA: các lĩnh vực ứng dụng, các công cụ phát triển
Kỹ thuật xử lý nhanh dữ liệu Pipeline
Ứng dụng bài toán mô phỏng xử lý dữ liệu nhanh
Những nội dung nghiên cứu chính
- Tổng quan về công nghệ FPGA
- Công nghệ FPGA và bài toán xử lý nhanh dữ liệu
Trang 11Luận văn đầy đủ ở file: Luận văn full