Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 138 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
138
Dung lượng
4,75 MB
Nội dung
SỞ KHOA HỌC VÀ CÔNG NGHỆ TP.HCM BÁO CÁO NGHIỆM THU DỰ ÁN NGHIÊN CỨU KHOA HỌC TÊN DỰ ÁN: NGHIÊN CỨU VÀ XÂY DỰNG LÕI IP TRÊN FPGA THỰC HIỆN CÁC CHỨC NĂNG XỬ LÝ TÍN HIỆU SỐ DSP CƠ BẢN CN DỰ ÁN: ThS Hầu Nguyên Thanh Hoàng CƠ QUAN CHỦ TRÌ: Trung tâm Nghiên cứu Đào tạo Thiết kế vi mạch (ICDREC) Đại học Quốc gia Tp Hồ Chí Minh Điện thoại: 08-37242172 Email: thanhhoang@icdrec.edu.vn THÀNH PHỐ HỒ CHÍ MINH THÁNG 01/ 2010 MỤC LỤC Trang Lời mở đầu Mục lục Tóm tắt nội dung nghiên cứu (bản tiếng Anh) CHƯƠNG 0: BÁO CÁO TỔNG QUAN DỰ ÁN 1 Tên đề tài/dự án Mục tiêu dự án Tính cấp thiết, tính mới, tính khoa học dự án 3.1 Quan điểm công nghệ 3.2 Quan điểm thương mại Nội dung dự án 4.1 Những nội dung thực giai đoạn từ tháng 03/2009 đến tháng 01/2010 4.2 Sản phẩm giai đoạn từ tháng 03/2009 đến tháng 01/2010 CHƯƠNG 1: DẤU CHẤM CỐ ĐỊNH 1.1 Giới thiệu 1.1.1 Lỗi Truncation 1.1.2 Lỗi tràn 1.2 Các phép toán dấu chấm cố định 1.2.1 Phép cộng 1.2.2 Phép trừ 1.2.3 Phép nhân 12 1.2.4 Phép chia 13 1.3 Thiết kế lõi dấu chấm động 16 1.3.1 Các tín hiệu vào 16 1.3.2 Các khối bên 17 1.3.3 Chi tiết khối datapath 17 1.3.4 Khối Control 18 1.3.5 Tổng hợp mơ lõi DSP tính dấu chấm cố định 24 1.3.6 Những ví dụ kiểm tra 29 1.4 Kết so sánh 29 1.4.1 Thông số lõi 29 1.4.2 Thực chip Stratix II (của Altera) 30 Thơng số lõi tính dấu chấm cố định tương đương 30 CHƯƠNG 2: DẤU CHẤM ĐỘNG 31 2.1 Giới thiệu 31 2.2 Các phép toán dấu chấm động 32 2.2.1 Phép cộng 32 2.2.2 Phép trừ 38 2.2.3 Phép nhân 42 2.2.4 Phép chia 45 2.3 Thiết kế dấu chấm động 48 2.3.1 Các tín hiệu vào dấu chấm động 48 2.3.2 Các khối bên chấm động 49 2.3.3 Chi tiết khối datapath 49 2.3.4 Khối Control 50 2.3.5 Tổng hợp mơ lõi DSP tính dấu chấm động 52 CHƯƠNG 3: TÍCH CHẬP 57 3.1 Giới thiệu 57 3.2 Thiết kế tích chập 58 3.2.1 Sơ đồ chân 58 3.2.2 Sơ đồ khối 59 3.2.3 Khối Convolution_datapath 60 3.2.4 Tổng hợp mô lõi DSP tính chập FPGA 69 3.2.5 Những ví dụ kiểm tra 72 3.3 Kết so sánh 73 3.3.1 Thông số lõi 73 3.3.2 Thông số lọc FIR tương đương 73 CHƯƠNG 4: BỘ LỌC FIR 74 4.1 Giới thiệu 78 4.2 Thiết kế lọc FIR 78 4.2.1 Sơ đồ chân 78 4.2.2 Sơ đồ khối tổng quát 79 4.2.3 Khối FIR_datapath 80 4.2.4 Khối FIR_control 89 4.3 Cách sử dụng lọc FIR 90 4.4 Ứng dụng 91 1.4.3 4.4.1 Bộ lọc thong thấp FIR 91 4.4.2 Bộ lọc thông cao FIR 92 4.4.3 Bộ lọc thông dãy FIR 93 4.4.4 Bộ lọc thông dãy chặn FIR 93 4.5 Tổng hợp, mô kiểm tra lõi DSP cho lọc FIR 94 4.5.1 Tổng hợp mô lõi DSP cho lọc FIR FPGA 94 4.5.2 Những ví dụ kiểm tra 97 4.6 Kết so sánh 98 4.6.1 Thông số lõi 98 4.6.2 Thơng số lõi tích chập tương đương 98 98 5.1 CHƯƠNG 5: XÂY DỰNG CHƯƠNG TRÌNH TÍNH DSP TRÊN MATLAB VÀ CÁC HỆ THỐNG KIỂM TRA THỰC NGHIỆM CÁC LÕI DSP TRÊN FPGA Xây dựng chương trình tính DSP Matlab 5.1.1 Mơ hình chương trình tính dấu chấm cố định sử dụng Matlab 100 5.1.2 Mơ hình chương trình tính dấu chấm động sử dụng Matlab 101 5.1.3 Mơ hình chương trình tính tích chập sử dụng Matlab 102 5.1.4 Mơ hình chương trình lọc FIR sử dụng Matlab 103 5.1.5 Mơ hình chuyển đổi kết từ MATLAB file ROM 104 5.2 Hệ thống kiểm tra thực nghiệm lõi DSP FPGA 105 5.2.1 Mơ hình kiểm tra thực nghiệm lõi IP tính dấu chấm cố định FPGA 105 5.2.2 Mơ hình kiểm tra thực nghiệm lõi IP tính dấu chấm động FPGA 106 5.2.3 Mơ hình kiểm tra thực nghiệm lõi IP tính tích chập FPGA 107 5.2.4 Mơ hình kiểm tra thực nghiệm lõi IP lọc FIR FPGA 108 5.3 Xây dựng chương trình PC giao tiếp với phần cứng thử nghiệm lõi 109 5.3.1 Sơ đồ khối PC giao tiếp với phần cứng thử nghiệm lõi 109 5.3.2 Phần mềm hiển thị kết máy tính 110 5.3.3 Chương trình Firmware cho lõi VN8-01 111 5.3.4 Ví dụ hình ảnh hiển thị kết hình máy tính 112 CHƯƠNG 6: KẾT QUẢ THỬ NGHIỆM LÕI DSP VÀ PHÂN TÍCH SAI SỐ 114 98 TRÊN FPGA 6.1 Kết thử nghiệm lõi DSP tính dấu chấm cố định FPGA 114 6.1.1 Kế test 100 mẫu random Matlab 114 6.1.2 Phân tích phân bố kết test 1000 mẫu random Matlab đồ thị 115 6.2 Kết thử nghiệm lõi DSP tính dấu chấm động FPGA 119 6.2.1 Kết test mẫu Random Matlab 119 6.2.2 Kết test 300 mẫu UCB test 120 6.3 Kết thử nghiệm lõi DSP tính tích chập FPGA 120 6.4 Kết thử nghiệm lõi DSP cho lọc FIR FPGA 121 LỜI MỞ ĐẦU Bản báo cáo cuối kỳ kết trình thực dự án nghiên cứu khoa học Sở Khoa học Công nghệ Thành phố Hồ Chí Minh “Nghiên cứu xây dựng lõi IP FPGA thực chức xử lý tín hiệu số DSP bản” đăng ký vào tháng 03/2009 Trung tâm Nghiên Cứu & Đào tạo Thiết kế Vi mạch (ICDREC) chủ trì Bản báo cáo bao gồm chương đĩa CD-ROM: Chương 0: Báo cáo tổng quan toàn dự án/đề tài từ 03/2009 đến 01/2010 Chương 1: Trình bày cách nghiên cứu giải pháp tính dấu chấm cố định phần cứng Chương 2: Trình bày nghiên cứu giải pháp tính dấu chấm động phần cứng Chương 3: Trình bày nghiên cứu giải pháp tính tích chập phần cứng Chương 4: Trình bày nghiên cứu giải pháp tính lọc FIR phần cứng Chương 5: Xây dựng chương trình tính DSP Matlab hệ thống kiểm tra thực nghiệm lõi DSP FPGA Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA Đĩa CD-ROM: File 1: Các source code RTL lõi IP tính dấu chấm cố định File 2: Các source code RTL lõi IP tính dấu chấm động File 3: Các source code RTL lõi IP tính tích chập File 4: Các source code RTL lõi IP tính lọc FIR File 5: Bản thiết kế lõi IP File 6: Thuyết minh đề tài File 7: Chương trình PC giao tiếp với phần cứng thử nghiệm lõi chương trình tính DSP Matlab Chúng chân thành cảm ơn quan tâm Ban Giám đốc Ban quản lý Khoa học Sở Khoa học Cơng nghệ TP Hồ Chí Minh ln tạo điều kiện thuận lợi cho chúng tơi hồn thành đầy đủ sản phẩm dự án Chúng tơi cám ơn ý kiến đóng góp quý báu đồng nghiệp góp phần không nhỏ thành công dự án TP Hồ Chí Minh, ngày 07/01/2010 Chủ nhiệm dự án Hầu Nguyên Thanh Hoàng DSP Project I Researching contents In this projects, we implement separate DSP IP Cores in FPGA, as follows: 16/32-bit Fixed Point number calculation IEEE-754 standard Floating Point number calculation Up to 128 taps 32-bit Convolution Up to 128 taps 32-bit FIR filter II Motivation Digital Signal Processing (DSP) is one of the most important areas in electronic design There are a lot of DSP’s algorithms such as FIR Filter, Modulation / Demodulation, Encode/Decode, Error Detection / Error Fix, Digital Image Processing, Audio Processing, etc… These algorithms appear in many industry and telecomunication products Nowadays, with rapid development of technique, FPGA design process becomes more and more efficent in replacing ASIC design process in DSP’s applications FPGA has advantage of ASIC process in varying functions to optimize cost FPGA also has flexibility and adaptability in design to guarantee size and power issues that are very hard to reach in ASIC’s DSP FPGA’s DSP is also a good solution with strict requirement of time and flexibility III Results The IP Cores have been implemented on FPGA and done real tests with PC and PCB Board The results are correct with acceptable error The following results show us the resource and frequency of the IP Cores They are implemented on Altera Cyclone II 16/32-bit Fixed Point Resource Convolution Fmax LEs Registers 926 187 79.26 MHz IEEE-754 standard Floating Point Resource LEs Registers 1378 585 LEs Registers 1289 231 Fmax 83.61 MHz FIR filter Resource Resource Fmax LEs Fmax Memory bits 75.15 Hz 1447 8192 84.70 MHz SỞ KHOA HỌC VÀ CÔNG NGHỆ TP.HCM BÁO CÁO NGHIỆM THU DỰ ÁN NGHIÊN CỨU KHOA HỌC TÊN DỰ ÁN: NGHIÊN CỨU VÀ XÂY DỰNG LÕI IP TRÊN FPGA THỰC HIỆN CÁC CHỨC NĂNG XỬ LÝ TÍN HIỆU SỐ DSP CƠ BẢN CN DỰ ÁN: ThS Hầu Ngun Thanh Hồng CƠ QUAN CHỦ TRÌ: Trung tâm Nghiên cứu Đào tạo Thiết kế vi mạch (ICDREC) Đại học Quốc gia Tp Hồ Chí Minh Điện thoại: 08-37242172 Email: thanhhoang@icdrec.edu.vn THÀNH PHỐ HỒ CHÍ MINH THÁNG 01/ 2010 Chương 0: Báo cáo tổng quan dự án CHƢƠNG 0: BÁO CÁO TỔNG QUAN DỰ ÁN Tên đề tài/dự án: Nghiên cứu xây dựng lõi IP FPGA thực chức xử lý tín hiệu số DSP Chủ nhiệm đề tài: Ths Hầu Ngun Thanh Hồng Cơ quan chủ trì: Trung tâm Nghiên cứu Đào tạo thiết kế vi mạch – Đại học Quốc Gia TpHCM Thời gian thực đề tài: 12 tháng (từ tháng 03/2009 đến tháng 03/2010) Kinh phí đƣợc duyệt: 450.000.000 đồng (Bốn trăm nặm mươi triệu đồng chẵn) Kinh phí cấp: 300.000.000 đồng theo TB số: 26/TB-SKHCN, ngày 26/02/2009 Kinh phí cấp: 150.000.000 đồng theo TB số: …./TB-SKHCN, ngày …/…./2010 Mục tiêu dự án: Thiết kế thử nghiệm lõi IP thực chức DSP bản: Tính tốn dấu chấm cố định Tính tốn dấu chấm động Tính tích chập Lọc FIR Bước đầu xây dựng thư viện lõi IP tiến đến tham gia thị trường cung cấp lõi mềm Tạo tảng hệ thống thư viện IP DSP có chất lượng, đạt tiêu chuẩn cơng nghiệp, có khả đưa chào hàng với đơn vị kinh doanh nước Nâng cao lực đội ngũ thiết kế phục vụ nghiên cứu, đào tạo Tính cấp thiết, tính mới, tính khoa học dự án : Dự án thể tính cấp thiết, tính mới, tính khoa học theo hai quan điểm: quan điểm công nghệ quan điểm thương mại 3.1 Quan điểm công nghệ - Công nghệ xử lý tín hiệu số DSP đóng vai trò đặc biệt quan trọng dải rộng lĩnh vực khoa học công nghệ Chương 5: Thiết kế hệ thống thử nghiệm – Compare: So sánh kết tính từ IP với kết tính từ Matlab Nếu kết tính từ IP khơng với kết từ MATLAB đếm dừng lại – RAM: dùng để chứa kết IP tính được, cờ tràn cờ tràn VN8-01 lấy liệu RAM để hiển thị hình 5.3 XÂY DỰNG CHƢƠNG TRÌNH TRÊN PC GIAO TIẾP VỚI PHẦN CỨNG THỬ NGHIỆM LÕI 5.3.1 Sơ đồ khối PC giao tiếp với phần cứng thử nghiệm lõi DSP IP Core VN8-01 IP Core DE2 KIT Hình 5.12: Sơ đồ khối PC giao tiếp với phần cứng thử nghiệm lõi – Trong hệ thống giao tiếp PC phần cứng thử nghiệm lõi, sau lõi DSP tính tốn xong lưu kết vào RAM, kết bao gồm: kết phép tính, cờ tràn trên, cờ tràn Các kết từ Matlab lưu vào ROM – Lõi IP VN8-01 sử dụng hệ thống để giao tiếp với PC VN8-01 đọc kết DSP IP Matlab, sau truyền lên PC thông qua cổng COM 109 Chương 5: Thiết kế hệ thống thử nghiệm 5.3.2 Phần mềm hiển thị kết máy tính – Trên PC để nhận liệu VN8-01 gửi lên, cần cài đặt phần mềm Tera Term Đây phần mềm thông dụng dùng để truyền nhận liệu với ngoại vi qua cổng COM Phần mềm đính kèm CD-ROM Khi cài đặt phần mềm xong, để giao tiếp với phần cứng cần cài đặt thơng số sau: Hình 5.13: Phần mềm hiển thị kết máy tính 110 Chương 5: Thiết kế hệ thống thử nghiệm 5.3.3 Chƣơng trình Firmware cho lõi VN8-01 – Code xử lý lõi IP VN8-01 cho hệ thống ứng với lõi IP DSP đính kèm CD-ROM – Flowchart chương trình Firmware cho VN8-01 BEGIN Setup UART with Baud rate is 57600 Address = Read Sample Number Read Matlab Result Read DSP IP Result N Read Overflow IP Read Compare Result Address = Address + Address = Sample Number Y END Hình 5.14: Chương trình Firmware cho lõi VN8-01 111 Chương 5: Thiết kế hệ thống thử nghiệm 5.3.4 Ví dụ hình ảnh hiển thị kết hình máy tính – Kết tính toán phép chia cho 16 mẫu lõi tính dấu chấm cố định – Kết tính tốn phép nhân cho 16 mẫu lõi tính dấu chấm động 112 Chương 5: Thiết kế hệ thống thử nghiệm – Kết tính tốn cho 16 mẫu lõi tính tích chập – Kết tính tốn lọc band-pass cho 16 mẫu lõi IP lọc FIR 113 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA CHƯƠNG 6: KẾT QUẢ THỬ NGHIỆM LÕI DSP VÀ PHÂN TÍCH SAI SỐ TRÊN FPGA 6.1 KẾT QUẢ THỬ NGHIỆM LÕI DSP TÍNH DẤU CHẤM CỐ ĐỊNH TRÊN FPGA 6.1.1 Kết test 100 mẫu random Matlab – Tất kết kiểm tra tính tốn so sánh với kết Matlab với độ sai số ε = ±2-31 = ±4.656613x10-10: Mẫu ngõ vào Test Case Phép toán (100 mẫu) Overflow Underflow Đúng Sai A B Cộng (-0.8,-1) (-0.8,-1) 100 100% 0% Trừ (-0.8,-1) (-0.8,-1) 0 100% 0% Nhân (-0.8,-1) (-0.8,-1) 0 100% 0% Chia (-0.8,-1) (-0.8,-1) 51 100% 0% Cộng (0.8,1) (0.8,1) 100 100% 0% Trừ (0.8,1) (0.8,1) 0 100% 0% Nhân (0.8,1) (0.8,1) 0 100% 0% Chia (0.8,1) (0.8,1) 56 100% 0% Cộng (0.8,1) (-0.8,-1) 0 100% 0% Trừ (0.8,1) (-0.8,-1) 100 100% 0% Nhân (0.8,1) (-0.8,-1) 0 100% 0% Chia (0.8,1) (-0.8,-1) 47 100% 0% Cộng (-0.1,0.1) (-0.1,0.1) 15 100% 0% Trừ (-0.1,0.1) (-0.1,0.1) 15 12 100% 0% Nhân (-0.1,0.1) (-0.1,0.1) 0 100% 0% Chia (-0.1,0.1) (-0.1,0.1) 17 24 100% 0% 01 02 03 04 114 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA 6.1.2 Phân tích phân bố kết test 1000 mẫu random Matlab đồ thị – Tất kết kiểm tra với 1000 mẫu ngẫu nhiên tính tốn so sánh với kết Matlab với độ sai số ε = ±2-31 = ±4.656613x1010: Phép cộng Chú thích: + Màu xanh dương: Kết trùng với kết Matlab + Màu xanh cây: Kết tràn 115 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA 116 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA Phép trừ Chú thích: + Màu xanh dương: Kết trùng với kết Matlab + Màu xanh cây: Kết tràn 117 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA + Phép nhân Chú thích: + Màu xanh dương: Kết trùng với kết Matlab + Màu xanh cây: Kết tràn 118 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA + Phép chia Chú thích: + Màu xanh dương: Kết trùng với kết Matlab + Màu xanh cây: Kết tràn 119 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA 6.2 KẾT QUẢ THỬ NGHIỆM LÕI DSP TÍNH DẤU CHẤM ĐỘNG TRÊN FPGA 6.2.1 Kết test mẫu Random Matlab – Tất kết kiểm tra tính tốn so sánh với kết Matlab với độ sai số ε = ±2-31 = ±4.656613x10-10: Test Phép toán Case EXPONENT mẫu ngõ vào Overflow Underflow Đúng Sai A B Cộng (240,255) (240,255) 12 100% 0% Trừ (240,255) (240,255) 0 100% 0% Nhân (240,255) (240,255) 100 100% 0% Chia (240,255) (240,255) 0 100% 0% Cộng (0,15) (0,15) 0 100% 0% Trừ (0,15) (0,15) 100% 0% Nhân (0,15) (0,15) 100 100% 0% Chia (0,15) (0,15) 0 100% 0% Cộng (120,130) (120,130) 0 100% 0% Trừ (120,130) (120,130) 100 100% 0% Nhân (120,130) (120,130) 0 100% 0% Chia (120,130) (120,130) 0 100% 0% Cộng (0,255) (0,255) 0 100% 0% Trừ (0,255) (0,255) 0 100% 0% Nhân (0,255) (0,255) 11 100% 0% Chia (0,255) (0,255) 14 14 100% 0% 01 02 03 04 120 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA 6.2.2 Kết test mẫu UCB test – Đây mẫu chuẩn giáo sư M Kahan thuộc trường đại học California nghiên cứu đưa dùng cho phép toán dấu chấm động Ông mệnh danh cha đẻ chuẩn IEEE-754 Trong đề tài nhóm sử dụng mẫu dùng cho phép toán cộng, trừ, nhân chia Tràn Tràn Đúng Sai 30 246 mẫu (100%) mẫu (0%) 10 30 238 mẫu (100%) mẫu (0%) 212 56 21 212 mẫu (100%) mẫu (0%) 205 27 40 205 mẫu (100%) mẫu (0%) Phép toán Số mẫu Cộng 246 14 Trừ 238 Nhân Chia 121 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA 6.3 KẾT QUẢ THỬ NGHIỆM LÕI DSP TÍNH TÍCH CHẬP TRÊN FPGA Thực chất phép toán thực tính tích chập phép tốn thao tác số dấu chậm động Trong lõi IP tính dấu chấm động nhóm thực đề tài chọn sai số bit tức ε = ±2-31 = 4.656613x10-10 Do thiết kế lõi tính tích chập tối đa 128 điểm nên tối đa phép toán thực 128 phép nhân 128 phép cộng số dấu chấm động Dựa lý nhóm thực đề tài đưa độ sai số lõi IP tính tích chập ε = ± 60x2-31 = ± 2.7940x10-8 Tất kết kiểm tra tính tốn so sánh với kết Matlab với độ sai số ε = ±2-31 = ± 2.7940x10-8 Test EXPONENT mẫu ngõ vào Overflow Underflow Đúng Sai (240,255) 0 100% 0% (0,15) (0,15) 86 100% 0% (120,130) (120,130) 0 100% 0% H X (37 mẫu) (50 mẫu) 01 (240,255) 02 03 Case 122 Chương 6: Kết thử nghiệm lõi DSP phân tích sai số FPGA 6.4 KẾT QUẢ THỬ NGHIỆM LÕI DSP CHO BỘ LỌC FIR TRÊN FPGA Thực chất phép toán thực lọc FIR phép toán thao tác số dấu chậm động Trong lõi IP tính dấu chấm động nhóm thực đề tài chọn sai số bit tức ε = ±2-31 = 4.656613x10-10 Do thiết kế lõi lọc FIR tối đa 128 điểm nên tối đa phép toán thực 128 phép nhân 128 phép cộng số dấu chấm động Dựa lý nhóm thực đề tài đưa độ sai số lõi IP lọc FIR ε = ± 60x2-31 = ± 2.7940x10-8 Tất kết kiểm tra tính tốn so sánh với kết Matlab với độ sai số ε = ±2-31 = ± 2.7940x10-8 Test EXPONENT Lọc Case 01 02 03 Overflow Underflow Đúng Sai 64 mẫu ngõ vào Low-pass (240,255) 0 100% 0% High-pass (240,255) 0 100% 0% Band-pass (240,255) 0 100% 0% Low-pass (0,15) 63 100% 0% High-pass (0,15) 64 100% 0% Band-pass (0,15) 63 100% 0% Low-pass (120,130) 0 100% 0% High-pass (120,130) 0 100% 0% Band-pass (120,130) 0 100% 0% 123