Bài 1: Các bước cơ bản để tạo một thiết kế

Một phần của tài liệu Các hệ phần mềm thiết kế chuyên dụng, Tự động thiết kế điện tử và lập trình FPGA (Trang 169 - 175)

5.2. Làm quen với System Generator

5.2.1. Bài 1: Các bước cơ bản để tạo một thiết kế

System Generator làm việc bên trong Simulink theo phương thức thiết kế trên cơ sở mô hình. Thông thường, các đặc tính của hệ thống được xây dựng thông qua các tập công cụ trên Simulink, sử dụng dạng tín hiệu dấu phảy động mà không cần biết đến chi tiết về phần cứng. Đối với System Generator, khi chức năng của hệ thống nói chung và các luồng số liệu cơ bản đã được xác định, các tham số về phần cứng sử dụng trong hệ thống đích cũng sẽ được khai báo để phục vụ cho mục đích biên dịch về sau. System Generator sử dụng các khối chức năng DSP của Xilinx và sẽ tự động kích hoạt chương trình Xilinx Core Generator để tạo ra các netlist tối ưu cho các khối DSP trong thiết kế. System Generator có thể thực hiện toàn bộ các bước cho tới khi tạo ra file cấu hình cho hệ thống phần cứng FPGA đích. Ngoài ra, một tùy chọn mô phỏng có thể được sử dụng, trong đó System Generator tạo ra các file mô phỏng (testbench) sử dụng các vector kiển tra để cung cấp dữ liệu mô phỏng cho các chương trình ModelSim hay Xilinx ISE Simulator.

Chu trình thiết kế sử dụng System Generator được mô tả như hình dưới đây.

Hình 5.8: Chu trình thiết kế sử dụng System Generator Tập công cụ Xilinx DSP

Tập công cụ Xilinx DSP được truy nhập thông qua bộ duyệt thư viện Simulink Library, bộ duyệt này có thể được mở thông qua thanh công cụ MATLAB. Các khối chức năng được phân loại cho việc tìm kiếm được thuận tiện. Có hơn 90 khối chức năng chính được cung cấp sẵn cho việc thiết kế một hệ thống DSP.

Hình 5.9: Tập công cụ của SysGen

Xác định đường biên cho các khối chức năng FPGA

System Generator làm việc với các mô hình chuẩn của Simulink. Vì vậy để phân vùng thiết kế, các khối chức năng Xilinx DSP được liên kết với các khối chức năng chuẩn của Simulink thông qua các khối “Gateway In” và “Gateway Out”. Đây là các khối định nghĩa các giao diện vào và ra của thiết kế FPGA đến các khối chức năng khác bên ngoài thiết kế FPGA. Khối Gateway In biến đổi các đầu vào dấu phảy động thành dạng số dấu phảy tĩnh. Người thiết kế có thể tùy biến khuôn dạng số dấu phảy tĩnh để phù hợp với từng thiết kế riêng.

Hình 5.10: Xác định đường biên cho các khối chức năng FPGA Thêm tín hiệu thông báo (Token) vào System Generator

Mỗi một thiết kế trong System Generator yêu cầu ít nhất một Token. Khối này không được kết nối tới bất cứ một khối nào khác, mà nhiệm vụ của nó là tạo ra các tín hiệu điều khiển nhịp cho tiến trình thực thi của thiết kế FPGA. Khối này cho phép người thiết kế xác định dạng netlist sẽ được tạo ra, các thiết bị phần cứng và tốc độ xung clock hệ thống. System Generator sẽ thông báo lỗi khi biên dịch nếu như người thiết kế chưa đưa khối này vào trong thiết kế.

Hình 5.11: Khối Token trong System Generator Tạo một thiết kế DSP

Một khi đường biên FPGA đã được thiết lập từ các khối Gateway, thiết kế DSP đã bắt đầu có thể được xây dựng từ các khối chức năng trong Xilinx Blockset.

Các khối chức năng DSP rất đa dạng, từ các bộ lọc, FFT, FEC, các chủng loại bộ nhớ, đến các khối tính toán số học, logic,…

Hình dưới đây thể hiện một cách tổng quan cấu trúc của một thiết kế DSP sử dụng System Generator

Hình 5.12: Cấu trúc của một thiết kế DSP sử dụng System Generator Tạo mã HDL

Khi đã hoàn thiện thiết kế, các file thực thi phần cứng đã sẵn sàng để được tạo

ra thông qua khối Token. Một tùy chọn cho kết quả biên dịch là HDL Netlist, qua đó cho phép tạo ra các mã HDL dưới dạng netlist, dạng kết quả này sau đó có thể là dữ liệu nguồn đầu vào của các công cụ tổng hợp, định vị và định tuyến khác (như ISE) để tạo ra file thực thi cuối cùng. Trong trường hợp sản phẩn biên dịch của System Generator được chọn là Bitstream, System Generator sẽ tự động thực hiện toàn bộ các bước thực thi trên.

Hình 5.13: Tạo mã HDL

Nếu tùy chọn Create Testbench được chọn, System Generator sẽ tạo ra các file vector kiểm tra được trích ra từ môi trường mô phỏng Simulink, sau đó sẽ tạo ra các file testbench dưới dạng mã HDL cho việc mô phỏng thiết kế trên ModelSim.

Thiết kế trên cơ sở mô hình hóa sử dụng System Generator

Khái niệm thiết kế trên cơ sở mô hình hóa đề cập đến việc tạo ra một hệ thống với các đặc tính có thể được thực thi và được mô tả ở mức độ trừu tượng cao sử dụng các khối chức năng chuẩn trong MATLAB, Simulink. Thiết kế chú trọng đến vấn đề xác định chức năng của hệ thống và chỉ mô tả chi tiết phần cứng ở một mức độ tối thiểu. Các đặc tính của hệ thống sau đó được sử dụng như một mô hình tham chiếu, trong khi các đặc điểm về phần cứng sẽ được xác định thông qua việc sử dụng khối công cụ Xilinx DSP.

Hình 5.14: Thiết kế trên cơ sở mô hình hóa Thiết lập các vector đầu vào sử dụng MATLAB

Simulink được xây dựng ở mức đỉnh trong môi trường MATLAB, cho phép sử dụng đầy đủ ngôn ngữ MATLAB cho việc tạo các tín hiệu vào và phân tích các tín hiệu ra. Chúng ta có thể sử dụng các khối “From Workspace” và “To Workspace”

từ các thư viện Source và Sink trong Simulink. Các giá trị đầu vào cần phải được xác định như một ma trận [n hàng x 2 cột], trong đó cột thứ nhất là thời gian mô phỏng và cột thứ hai là các giá trị đầu vào tương ứng. Đây là phương pháp rất thông dụng để tạo các vector đầu vào cho các thiết kế sử dụng System Generator.

Hình 5.15: Thiết lập các vector đầu vào sử dụng MATLAB

Tóm tắt bài học 1

Chúng ta phân vùng được thiết kế FPGA trong môi trường Simulink bằng việc sử dụng các khối tạo đường biên Gateway In / Gateway Out.

Trong System Generator, mỗi lưu đồ thiết kế luôn luôn phải có một khối token.

Chỉ nên sử dụng các khối trong tập công cụ Xilinx DSP giữa các khối Gateway.

Cân nhắc việc sử dụng các khối From/To workspace của MATLAB để tạo các tín hiệu vào và phân tích các tín hiệu ra.

Bài tập thực hành 1: Sử dụng Simulink

Trong bài tập này, bạn sẽ học các vấn đề cơ bản của Simulink. Bạn sẽ sử dụng một khối chức năng trong Simulink để tạo một thiết kế đơn giản và thực hiện mô phỏng. Bạn sẽ thay đổi các cài đặt lấy mẫu để xem các ảnh hưởng tới kết quả đầu ra. Bạn sẽ học về cách tạo các hệ thống con.

Các hướng dẫn về bài tập thực hành này nằm tại đường dẫn:

...<sysgen_tree>/examples/getting_started_training/lab1/lab1.pdf Bài tập thực hành 2: Bắt đầu với System Generator

Bài thực hành này giới thiệu với bạn các khái niệm cơ bản trong việc tạo một thiết kế sử dụng System Generator bên trong chu trình thiết kế trên cơ sở mô hình hóa được cung cấp từ Simulink. Thiết kế là một mạch cộng-nhân đơn giản.

Các hướng dẫn về bài tập thực hành này nằm tại đường dẫn:

...<sysgen_tree>/examples/getting_started_training/lab2/

Một phần của tài liệu Các hệ phần mềm thiết kế chuyên dụng, Tự động thiết kế điện tử và lập trình FPGA (Trang 169 - 175)

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

(231 trang)