Quy trình thiết kế SoC sử dụng ZynQ

 Quy trình thiết kế SoC sử dụng ZynQ

 
Phần này chỉ ra các bước cũng như các công cụ phần mềm cần
thiết cho việc phát triển một hệ thống SoC trên chip ZynQ.

2.4.1.      Xilinx Vivado Suite

Bo mạch Zedboard được bán kèm với bộ công cụ phần mềm hỗ
trợ thiết kế Vivado Design Suite phiên bản 2014.2 với licese hỗ trợ tất cả các thuộc tính của zedboard.
Phần mềm Vivado Design Suite chạy trên nền điều hành Linux, Windows XP, và Windows 7.
Vivado Design Suite bao gồm Vivado GUI (giao diện đồ họa và quản lý dự án), IP Integrator (công cụ dùng để tích hợp các lõi IP vào hệ thống), Software Development Kit (bộ công cụ phát triển phần mềm), và một số tài nguyên khác (thư viện các lõi IP phần cứng, thư việc các trình điều khiển cho phát triển phần mềm), trình biên dịch và gỡ rối GNU hỗ trợ phát triển phần mềm ngôn  ngữ C/C++ cho vi xử lý ARM Cortex-A9, tài liệu hướng dẫn sử dụng, ví dụ mẫu…). Chú ý là IP interator thay thế cho nhiều chức năng PlanAhead và XPS trong ISE Design Suite, trong khi Vivado logic Abalyzer thay thế cho chức năng ChipScope Analyzer của ISE.
Vivado Design Suite cung cấp tập hợp các công cụ hỗ trợ cho thiết kế từ mức RTL, tổng hợp, thực thi và kiểm tra.
Công cụ tích hợp IP integration cho phép truy xuất tới các lõi IP đã được thiết kế sẵn bởi Xilinx (bao gồm cả các lõi vi xử lý). Bằng IP integration người sử dụng có thể dễ dàng tích hợp các lõi IP (như lõi xử lý ARM Cortex-A9, MicroBlaze, các lõi IP ngoại vi, lõi IP do người dùng tự thiết kế) để tạo thành một hệ thống vi xử lý nhúng hoàn chỉnh.
SDK là một môi trường phát triển tích hợp IDE bổ trợ cho IP Integrator trong việc phát triển và gỡ rối các chương trình phần mềm nhúng C/C++.

2.4.2.      Quy trình thiết kế cho ZynQ

Một trong những nhiệm vụ quan trọng của việc thiết kế SoC sử dụng ZynQ là việc tích hợp thêm các lõi IP vào hệ thống. Sau khi hệ thống phần cứng được tạo ra nó cần được xuất tới SDK để phát triển các phần mềm ứng dụng.
 
Hình 18. Quy trình thiết kế một hệ thống nhúng bằng bộ công cụ phần mềm Xilinx Vivado Suite.
Hình 18 chỉ ra lưu đồ các bước trong quy trình thiết kế một hệ thống nhúng SoC sử dụng chip ZynQ-7000 của Xilinx. Lưu ý rằng hệ vi xử lý PS có thể được sử dụng một cách độc lập với phần PL, do đó trong trường hợp này các bước 3, 4 và 5 trong lưu đồ là không cần thiết. Phần PL cũng có thể sử dụng độc lập với PS (khi đó các bước 2,
6-9 là không cần thiết), tuy nhiên PS và JTAG vẫn phải được sử dụng để lập trình cho PL. Công việc cụ thể của mỗi bước như sau:
1.     Quá trình thiết kế và thực thi một hệ thống nhúng được bắt đầu bằng việc chạy phần mềm Vivado.
2.     Trong Vivado, chọn Create Block Design để chạy IP Interator (tức IPI trong Hình 18).
a.  Thêm lõi ZYNQ7 Processing System IP vào hệ thống. Kích đúp vào khối ZYNQ7 Processing System để thực hiện việc cấu hình cho hệ thống như: chọn các khối ngoại vi I/O chuyên dụng của PS, cấu hình bộ nhớ, cấu hình tốc độ xung nhịp, …
b.  Thêm các lõi IP từ thư viện có sẵn của Vivado hoặc thêm vào các lõi IP được tạo ra bởi người sử dụng.
c.   Định nghĩa các cổng vào/ra để cho phép hệ thống có thể giao tiếp với các khối ngoại vi bên ngoài.
d.  Kết nối các khối với nhau bằng việc kéo thả các tín hiệu/net từ cổng của một lõi IP này tới cổng thích hợp của IP khác. Việc kết nối cũng có thể được thực hiện một cách tự động bởi IP Integrator.
3.     Tạo ra tệp mã nguồn HDL mức top-level mô tả thiết kế vừa tạo ra.
4.     Đảm bảo rằng các ràng buộc (constraints) liên quan đến phần thiết kế trên PL được định nghĩa như yêu cầu của Vivado. Bước này được thực hiện thông qua việc tạo ra hoặc thêm vào một tệp XDC (Xilinx Design Contraints) tới project.
5.     Tạo ra tệp bitstream cho cấu hình phần PL. Ở bước này một tệp định nghĩa phần cứng <system>.hdf và một tệp bitstream <system>.bit sẽ được tạo ra. Bitstream có thể được nạp vào chip FPGA từ môi trường Vivado hoặc trong SDK.
6.     Sau khi phần cứng của hệ thống nhúng đã được tạo ra nó cần được xuất (export) tới SDK để tiêp tục phát triển phần mềm. Thực hiện xuất cấu trúc phần cứng của hệ thống (Export the hardware to SDK) để đảm bảo bảo phần cứng của thiết kế được tích hợp tự động với phần mềm.
7.     Ngay sau khi phần cứng đã được xuất, chạy SDK (Launch SDK) từ Vivado để bắt đầu phát triển phần mềm.
8.     Trong SDK, để phát triển các chương trình standalone (chương trình không chạy trên hệ điều hành) cần tạo ra một gói phần mềm hỗ trợ bo mạch BSP (Board Support Package) trên nền tảng phần cứng sẽ được sử dụng.
9.     Viết chương trình ứng dụng và tiến hành biên dịcch chương trình để tạo tệp có phần mở rộng là .ELF – đây là tệp nhị phân có khả năng thực thi trên hệ thống. Tổ hợp của tệp bitstream và *.ELF cung cấp một hệ SoC hoàn thiện bao gồm cả phần cứng và
phần mềm trên ZedBoard.
10.  Nạp tệp cấu hình .bit (Program FPGA) để thiết lập phần cứng trên bo mạch Zedboard.
11. Nạp và thực thi chương trình phần mềm .elf trên bo mạch Zedboard.

Trả lời