Prerequisites
- Xilinx Zynq 7000 based hardware
- Ubuntu 22.04 or newer
- Xilinx Vivado ML 2021.1 (older versions are not guaranteed to work)
- Makefile_gen build system version 2.2 (tag v2.2)
HDL IP repository structure
The HDL IP repository consists of several sub-directories, each one containing a different type of resource
Components: The components directory contains the sources for HDL IP blocks and relative auxiliary files.
Applications: The applications directory contains the sources for the top level designs that can be directly deployed on hardware.
Library Licenses: This repository contains the licenses for third party IPs used throughout the HDL IP collection.
Doc: The Doc repository contains documentation and diagrams source files.
Scripts: The Scripts folder contains python and TCL scripts usefull throughout the repository.
Creating a new application
The first step in development consists of the generation of a basic application directory structure, to do this open a terminal window at the desired location, entering the following command:makefilegen --new_app [NAME]
–language [LANG]
Arguments:
- [NAME]: Name of the Application project to create
- [LANG]: Language used for the design (vlog, sv or vhdl)
As a result of this step the tool will have created both the relevant directory structure along with a Depfile file, used to interact with the build system, a top level RTL file, a testbench file for simulation and a XDC constraints file for IO mapping.
Creating the Vivado project
To then build the desired Vivado project the following command can be issued.
makefile_gen --X
Add New IP to the Vivado project
When RTL code instantiating IP modules is added to the project the following command can be used to refresh the vivado project
makefile_gen --X --add_new_ip