Hình 3.3: Thư viện của DSP Builder
Hình 3.3 trình bày các nhóm thư viện của DSP Builder. Các phiên bản của DSP Builder sẽ có các thư viện thay đổi. Nhìn chung, thư viện gồm các khối chức năng cơ bản sau:
Thư viện AltLab: Đây là thư viện chứa các khối hỗ trợ thiết kết như: khối chọn loại linh kiện lập trình, khối đưa một thiết kế VHDL hoặc Verilog HDL vào trong một subsystem, khối trả về các thông tin: chu kỳ lấy mẫu, số bit tối đa cần
trong quá trình mô phỏng và giá trị tối đa hoặc tối thiểu nhận khi mô phỏng. Trong thư viện có hai khối quan trọng là khối Khối SignalCompiler và Khối SignalTap II Analysis
Hình 3.4: Hoạt động của khối Signal Compiler
Khối SignalCompiler là khối quan trọng nhất của DSP Builder. Hình 3.4 trình bày giao diện khi chạy SignalCompiler. Khối này có các chức năng sau:
Chuyển đổi thiết kế Simulink sang ngôn ngữ RTL VHDL Tạo ra file kiểm tra bằng ngôn ngữ VHDL
Tạo ra file kiểm tra bằng ngôn ngữ Verilog
Tạo ra model mô phỏng bằng ngôn ngữ Verilog HDL (dùng phần mềm Quartus® II)
Tạo ra Tcl scripts cho Quartus II biên dịch
Tạo ra Tcl scripts cho các phần mềm khác: LeonardoSpectrum™, Precision RTL, Synplify, và ModelSim
Tạo ra một vector file (.vec) cho Quartus II mô phỏng Cho phép tạo ra file SignalTap II (.stp)
Khối SignalTap II Analysis dùng để kiểm tra các tín hiệu bên trong linh kiện khi hệ thống đang chạy. SignalTap II Analysis có thể dùng để triggers, cấu hình bộ nhớ, và hiển thị dạng sóng. Đề tài sử dụng công cụ này để kiểm tra từng khối chức năng và quá trình xử 1ý dữ liệu của cả hệ thống.
Thư viện Arithmetic: Thư viện gồm các khối dùng cho phép tính số học như so sánh, vi phân, tích phân, nhân, cộng, khai căn …
Thư viện Board: Board được sử dụng trong đề tài là Stratix DSP Board EP1S25. Thư viện chứa các khối phần cứng giao tiếp với linh kiện Stratix EP1S25 gồm 2 ADC, 2 DAC, các nút nhấn, các chân Debug, led, led 7 đoạn, giao tiếp RS232, và switch. Khi muốn kết nối với phần cứng nào của board, ta chỉ cần thêm khối này vào model thiết kế. Trong thư viện này có một khối rất quan trọng. Đó là khối cấu hình Board. Khối này cho phép ta gán clock cho ADC và DAC. Nếu trong model ta quên thiết lập các thông số này thì biên dịch và nạp xuống, ứng dụng sẽ không có clock, tức là mạch sẽ không chạy được như mong muốn.
Thư viện Complex Type: Thư viện cung cấp các hàm liên quan đến số phức như cộng trừ số phức, tính biên độ, pha …
Thư viện Gate and Control: Đây là thư viện cung cấp các khối về điều khiển đường đi của dữ liệu và các cổng logic nhưđa hợp, giải đa hợp, flip flop, cổng and, or, đảo…
Thư viện IO and Bus: Thư viện này cung cấp các khối vào / ra và bus như: chuyển đổi bus (ví dụ chuyển từ bus 20 bit sang bus 16 bit, bỏ đi 4 bit), tách bit, nguồn, mass, hằng số…
Thư viện Rate Change: Thư viện này cung cấp các khối để thay đổi tốc độ trong model, chủ yếu dùng khi ta muốn thiết kế chương trình có nhiều hơn 1 clock. Khối quan trọng nhất trong thư viện này là khối PLL, và khối này chỉ có thể sử dụng được khi đặt nó ở mức cao nhất của model. Đồng thời, các khối sử dụng kết quả của PLL phải là subsystem chứ không đồng mức với PLL.
Thư viện Storage: Thư viện Lưu trữ cung cấp các khối nhớ như ROM, FIFO, LUT (look-up table: lưu trữ dữ liệu trong bảng tìm kiếm)…
Thư viện MegaCore Functions: Các MegeCore Functions là những khối có một chức năng hoàn chỉnh riêng biệt, nhưng DSP Builder không cung cấp sẵn các MegaCore Functions này. Các MegaCore Functions này có thể cài đặt thêm và thường được điều khiển rất phức tạp.