3. Cấu Hình Chức Năng Của Khối DSP
Khi nhấp đúp vào hàm DSP48E, hộp thoại cấu hình sẽ mở ra, cho phép bạn định hình hành vi của khối phần cứng. Các khối DSP rất linh hoạt và có thể được cấu hình cho nhiều loại phép toán khác nhau.
A. Chế Độ Số Học (Arithmetic Mode)
Đây là chế độ sử dụng chính. Khối DSP có thể thực hiện một biểu thức tổng quát, và bằng cách cấu hình các thành phần của biểu thức này, bạn có thể tạo ra các phép toán mong muốn.
Các Cấu Hình Số Học Phổ Biến:
- Phép nhân đơn giản (Simple Multiply): Cấu hình khối DSP để chỉ thực hiện phép nhân giữa hai đầu vào (ví dụ: `P = A * B`). Đây là ứng dụng cơ bản nhất.
- Phép nhân-cộng (Multiply-Add): Cấu hình để thực hiện `P = C + (A * B)`. Rất hữu ích trong các thuật toán lọc số, ma trận.
- Phép nhân-trừ (Multiply-Subtract): Tương tự, cấu hình để thực hiện `P = C – (A * B)`.
- Phép nhân-tích lũy (Multiply-Accumulate – MAC): Đây là cấu hình mạnh mẽ nhất. Khối DSP sẽ thực hiện `P = P_previous + (A * B)`, trong đó `P_previous` là kết quả từ chu kỳ clock trước đó được feedback lại. Cấu trúc này là nền tảng của các bộ lọc FIR, FFT và nhiều thuật toán DSP khác.
- Bộ đếm/Bộ tích lũy (Counter/Accumulator): Bằng cách không sử dụng bộ nhân, bạn có thể cấu hình khối DSP như một bộ cộng/trừ 48-bit hiệu năng cao.
B. Thanh Ghi Nội Tại và Pipelining
Một trong những bí mật làm nên tốc độ của khối DSP chính là các thanh ghi (registers) nội tại của nó. Một phép nhân 25×18 bit là một phép toán phức tạp, không thể hoàn thành trong một chu kỳ clock ở tần số cao.
Khối DSP giải quyết vấn đề này bằng cách chia nhỏ phép toán thành nhiều giai đoạn (pipeline stages). Giữa mỗi giai đoạn là một thanh ghi. Trong hộp thoại cấu hình, bạn có thể chọn bật/tắt các thanh ghi này cho các đầu vào (A, B, C), kết quả của phép nhân (M) và kết quả cuối cùng (P).
- Lợi ích: Việc bật các thanh ghi này sẽ **tăng độ trễ (latency)** của phép toán (kết quả sẽ có sau vài chu kỳ clock), nhưng nó **chia nhỏ đường logic**, cho phép toàn bộ thiết kế có thể chạy ở tần số clock **cao hơn nhiều**.
- Khuyến nghị: Trong hầu hết các thiết kế SCTL tốc độ cao, bạn nên bật tất cả các thanh ghi có thể để đạt được hiệu năng tốt nhất.