Matlab và các gói công cụ Xilinx hỗ trợ cho Matlab

Một phần của tài liệu Báo cáo tốt nghiệp: Thiết kế bộ phát mã Walsh cho hệ đo kênh MIMO dùng công nghệ FPGA doc (Trang 29 - 33)

System Generator

System generator là một công cụ thiết kế hệ thống giúp cho việc thiết kế các ứng

dụng phần cứng trong FPGA và mô phỏng Simulink. Đó là một môi trường thiết kế rất

mạnh trong việc thiết kế phần cứng. Systerm Generator có khả năng mô hình hóa cao và có thể dịch các thiết kế của người dùng sang ngôn ngữ phần cứng trong FPGA một

Generator còn cho phép xâm nhập vào các tài nguyên trong FPGA ở mức thấp hơn, qua đó cho phép người sử dụng thực hiện các thiết kế có hiệu suất cao.

Việc lập trình một bộ FPGA bằng System Generator bao gồm các bước sau: Mô

phỏng thiết kế, tạo ra một bản thiết kế theo ngôn ngữ bậc thấp có thể đưa các thiết bị

phần cứng như FPGA từ thiết kế mô phỏng này, sau đó đưa bản thiết kế mới tạo ra này vào trong file cấu hình của FPGA gọi là bitsream. Bước cuối cùng, đưa thiết kế phần

cứng vào trong bitstream có thể thực hiện bằng các phần mềm khác.

Một trong những mặt vượt trội của System Generator so với các phần mềm khác

là chức năng chạy mô phỏng phần cứng Co-Simulation, chức năng này sẽ được nói rõ thêm trong phần sau.

Các khối Block Set DSP Xilinx

System Generator đã xây dựng khoảng hơn 90 khối xử lí tín hiệu số (DSP) để hỗ

trợ người dùng trong việc mô phỏng các thiết kế. Các khối này gồm các khối DSP phổ

biến như khối cộng, nhân, thanh ghi...Ngoài ra, nó còn bao gồm các khối DSP phức

tạp hơn như khối sửa lỗi tiến, FFT, các bộ lọc và bộ nhớ. Các khối này làm cho việc

thiết kế mô phỏng trở nên đơn giản và thuận tiện hơn nhiều.

Hình 24: Một số khối cơ bản hỗ trợ Matlab cung cấp bởi Xilinx.

Các thuật toán trong Matlab có thể kết hợp chặt chẽ vào trong System Generator thông qua AccelDSP. AccelDSP bao gồm các thuật toán mạnh có thể chuyển các thiết

kế dùng dấu chấm động (floating-point) trong Matlab sang dạng dấu chấm cố định

(fix-point) là loại hay được dùng trong System Generator. Ngoài ra System generator còn bao gồm khối Mcode cho phép người dùng sử dụng các thuật toán không có trong

Matlab để thiết kế và thực hiện các hoạt động điều khiển đơn giản.

Đánh giá, ước lượng tài nguyên hệ thống

System Generator cung cấp khối ước lượng tài nguyên cho phép đánh giá một

cách nhanh chóng các tài nguyên dùng cho thiết kế trước khi thực hiện nó trong thực

cho các nhà thiết kế có thể tận dụng tối đa các tài nguyên trong FPGA (lên đến 550 bộ

nhân trong thiết bị Virtex 5).

Hình 25: Cửa sổ ước lượng tài nguyên.

Mô phỏng phần cứng Co-Simulation

Các khối blocksets được hỗ trợ trong System Generator cho phép người dùng xây dựng các thiết kế mô phỏng với độ chính xác cao. Tuy nhiên các kỹ sư thiết kế vẫn

muốn xem xét một cách chi tiết việc thiết kế của mình chạy trong phần cứng như thế

nào. System Generator cung cấp giao diện mô phỏng Cosimulation giúp kết hợp chặt

chẽ và trực tiếp việc chạy thực tế trên FPGA vào mô phỏng simulink. Để thực hiện mô

phỏng Cosimulation, trước hết ta đưa thiết kế vào bitstream, sau đó System Generator tự động hợp nhất cấu hình phần cứng FPGA với bitstream trở lại thiết kế mô phỏng

gọi là khối run-time. Khi thiết kế được mô phỏng trong môi trường Simulink, kết quả

của thiết kế cũng được tính toán trong phần cứng. Điều này cho phép chạy thử các thiết kế trong phần cứng thật sự và làm tăng tính thực tế cho các mô phỏng.

Khả năng kết hợp các môi trường thiết kế

System Generator cung cấp 1 môi trường thống nhất cho các thiết kế DSP

FPGAs, cho phép các thành phần nhỏ được viết bởi các ngôn ngữ khác nhau như RTL,

Simulink, Matlab và C/C++ có thể làm việc cùng nhau trong cùng một thiết kế.

System Generator hỗ trợ khối black box cho phép đưa RTL vào thực hiện mô phỏng

phần mềm và phần cứng bằng cả ModelSim hoặc Xilinx ISE Simulator.

Như vậy, với công cụ là Kit Virtex 4 ta không chỉ có một phần cứng hiện đại,

chuyên dụng với lượng tài nguyên FPGA lớn mà còn kèm theo đó là nhiều công cụ hỗ

trợ rất mạnh như System Generator, Co-Simulation …cho phép ta dễ dàng triển khai

CHƯƠNG 4: THỰC HIỆN MÔ HÌNH THIẾT KẾ VỚI KIT VIRTEX-4

(Thiết kế bộ phát mã Walsh cho hệ đo kênh MIMO)

4.1. Giới thiệu

Việc thiết kế FPGA để thực hiện các chức năng theo một yêu cầu nào đó bằng

ngôn ngữ VHDL để tiết kiệm tài nguyên FPGA đã trở lên rất phổ biến và mang lại

những lợi ích rõ rệt. Tuy nhiên trong thực tế có những mô hình lớn như trong các mô

hình thu phát tín hiệu MIMO (Multiple Input, Multiple Output) đòi hỏi người thực

hiện phải thực hiện một khối lượng công việc rất lớn với việc viết câu lệnh VHDL mà

đôi khi mục đích chỉ là kiểm tra tính khả thi của mô hình nêu ra. Hơn nữa, với công

nghệ FPGA phát triển như ngày nay thì tài nguyên trong chip FPGA đối với các mô

hình như thế không còn là vấn đề quá quan trọng. Xilinx là hãng đi tiên phong trong

lĩnh vực phát triển các công cụ bổ trợ cho các kit chuyên dụng với công cụ System Generator như đã giới thiệu ở chương 3 nhằm giảm nhẹ công việc cho người thiết kế

hệ thống, đồng thời giúp người thiết kế biến những mô hình mô phỏng trở thành mã nguồn có thể nhúng trực tiếp vào trong phần cứng (FPGA) – Tất nhiên điều này có thể

khiến mã nguồn của thiết kế dài hơn và tốn tài nguyên phần cứng hơn nhưng nó lại

mang lại giá trị rất lớn là rút ngắn thời gian trong qui trình thiết kế. Chương này sẽ giới

thiệu về cách sử dụng công cụ hỗ trợ system generator để thực hiện một mô hình thiết

kế thông qua việc thực hiện một mô hình phát tín hiệu đã qua mã hóa Walsh.

Một phần của tài liệu Báo cáo tốt nghiệp: Thiết kế bộ phát mã Walsh cho hệ đo kênh MIMO dùng công nghệ FPGA doc (Trang 29 - 33)

Tải bản đầy đủ (PDF)

(52 trang)