Capstone: bộ lọc thời gian thực trên FPGA bằng Verilog
Mục tiêu
Capstone này khép lại phần triển khai nhúng: bạn chuyển bộ lọc đã thiết kế và đã lượng tử hóa ở bài trước thành một mô-đun Verilog tổng hợp được, rồi chứng minh nó đúng bằng testbench đối chiếu với mô hình tham chiếu (golden model) trong Python.
Sản phẩm nộp gồm ba tệp:
fir_filter.v: mô-đun lọc, cấu hình bằng tham sốN_TAP,DATA_W,COEF_W.tb_fir_filter.v: testbench tự kiểm tra (self-checking), nạp vector từ tệp.hexvà so sánh với kỳ vọng.gen_vectors.py: sinh hệ số lượng tử hóa Q1.15 và vector kích thích, xuất cả kết quả tham chiếu.
Đặc tả kỹ thuật của hệ thống
Chốt đặc tả trước khi viết dòng Verilog đầu tiên, vì mọi quyết định về độ rộng bit đều suy ra từ đây.
| Hạng mục | Giá trị |
|---|---|
| Loại lọc | FIR thông thấp, 31 tap, tuyến tính pha |
| Tần số lấy mẫu | 48 kHz |
| Dữ liệu vào | 16 bit có dấu, định dạng Q1.15 |
| Hệ số | 16 bit có dấu, Q1.15, đối xứng h[n] = h[N-1-n] |
| Giao diện | clk, rst_n, valid_in, sample_in[15:0] → valid_out, sample_out[15:0] |
| Thông lượng | 1 mẫu/chu kỳ, không có khoảng trống (no stall) |
| Độ trễ | Cố định, khai báo bằng tham số LATENCY |
Ba con số then chốt cần nhớ:
- Hệ số đối xứng nên chỉ cần 16 bộ nhân thay vì 31: cộng các cặp mẫu trước, nhân sau. Phép cộng này cần thêm 1 bit dư.
- Tích hai số Q1.15 là Q2.30, phải dịch phải 15 bit trước khi bão hòa (saturation) về 16 bit.
- Bộ tích lũy (accumulator) phải rộng hơn 16 bit khoảng $\log_2 N$ bit dư; với 31 tap dùng 32 bit là an toàn.
Hệ số FIR tuyến tính pha thỏa _____, nhờ đó số bộ nhân giảm còn khoảng _____. Tích hai toán hạng Q1.15 cho kết quả định dạng _____, nên cần dịch phải _____ bit. Bộ tích lũy cần thêm khoảng _____ bit dư (guard bits) để tránh tràn khi cộng dồn.
In this lesson
- Lộ trình thực hiện
- Tiêu chí nghiệm thu
- Bảng ôn tập nhanh
- Chốt capstone và bước tiếp theo
About this course
Part of Thiết kế DSP trên FPGA: triển khai bộ lọc thời gian thực — Khóa học ngắn dành cho người đã nắm lý thuyết DSP cơ bản, đi theo trục chính là triển khai nhúng thời gian thực. Người học đi từ đặc tả thiết kế, thiết kế bộ lọc FIR/IIR, mô phỏng và kiểm chứng bằng scipy.signal, đến kiến trúc pipeline trên FPGA và capstone triển khai bộ lọc thời gian thực bằng Verilog.
- Level
- Intermediate
- Language
- Vietnamese
- Focus
- Triển khai nhúng thời gian thực trên FPGA (Verilog/VHDL), thiết kế pipeline và tài nguyên song song Thiết kế bộ lọc số FIR và IIR (cửa sổ, Parks-McClellan, bilinear transform) Mô phỏng và kiểm thử bằng MATLAB/Python (scipy.signal)
- Practice
- Capstone project
- Time
- ~3.5h
- Voice
- Một giảng viên hướng dẫn luận văn, chặt chẽ về lý thuyết và phương pháp luận
This lesson is premium content. Sign in and purchase the course to view the full content. Sign in