How can I use a custom board with the Zynq workflow provided by MATLAB/Simulink?

MathWorks offers an integrated workflow for targeting the Zynq platform using SoC Blockset, HDL Coder, and Embedded Coder.
The currently supported boards are listed here: SoC Blockset documentation
However, I am using a board based on Zynq that is not supported by MathWorks (e.g., MicroZed, PicoZed, Arty), or a completely custom-made board. How can I use a custom board with the Zynq workflow provided by MATLAB/Simulink?

 Accepted Answer

To use your custom board with our full Zynq hardware/software codesign workflow, you will need to complete the following tasks:
1) Build a custom Linux image from the MathWorks Buildroot GitHub repository, as explained in the following MATLAB Answers post: How can I create a custom Linux image for my custom board to use the Zynq workflow or Intel SoC workflow with MATLAB/Simulink?
2) Obtain the board files from the vendor to register your board part in the Xilinx Vivado tool.
3) Create a custom reference design in the Xilinx Vivado tool, and export this block design to a TCL script.
4) Create all necessary plugins and definition files to register your board & reference design files with HDL Workflow Advisor in MATLAB.
You can also use the SoC Blockset product to register the custom board. Once you register the custom board, you will have the same feature set support as ZedBoard, ZCU102, etc… For more information, please refer to the following documentation links:
Refer to the following simplified example which sets up a Zybo board for our Zynq workflow (using a prebuilt Linux image, vendor-provided board files, and the existing Zynq processing system preset TCL file to create the reference design in Vivado):
NOTE: The above tasks are outside the scope of MathWorks Technical Support. What HDL Coder provides is the capability to allow you to import the custom Vivado design into HDL Coder workflow, and define a custom Reference Design, so HDL Coder can generate an IP core and insert it into the custom Reference Design for faster design iteration.
MathWorks Consulting Services may be able to assist with these tasks: https://www.mathworks.com/services/consulting.html

More Answers (1)

Another option to support custom board based on Zynq 7000, MPSoC and RFSoC chips is the customization APIs/tools provided from SoC Blockset product. You will get same feature set support as ZedBoard, ZCU102, etc…on your custom board using these APIs/tools. Below are the customization related examples:
  1. Custom board support: Using a Custom Board with SoC Blockset
  2. Custom HDL IP support: Import Custom HDL IP into SoC Blockset Design
  3. Linux image customization support: Customize PetaLinux Image for AMD Xilinx Devices

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!