This design uses the ARM processor as a programmable tesybench to test IPs with AXI Stream interfaces. The project is setup for Zedboard, although it would be easy to change to other boards assuming you have some basic TCL skills.
The ARM processor programs the AXI Stream Traffic Generator IP to test a certain AXIS-based DUT. The DUT interfaces are checked with the AXI Stream Protocol Checker IP. The results can also be viewed with Chipscope.
This repository might have custom IPs included as git submodules. Thus, the following command is required to download all its dependencies.
git clone --recursive https://github.com/amamory/<repo-name>.git
If you already cloned the repository without --recursive
, then run the following command to download all the submodules.
git submodule update --init --recursive
Refer to this tutorial to learn how to manage submodules.
These scripts are assuming Linux operation system (Ubuntu 18.04) and Vivado 2018.2.
Follow these instructions to recreate the Vivado and SDK projects:
- Open the build.sh script and edit the first lines to setup these environment variables:
- VIVADO: path to the Vivado install dir;
- VIVADO_DESIGN_NAME: mandatory name of the design;
- XIL_APP_NAME: used only in projects with software;
- VIVADO_TOP_NAME: set the top name (optional).
- run build.sh
These scripts will recreate the entire Vivado project, compile the design, generate the bitstream, export the hardware to SDK, create the SDK projects, import the source files, build all projects, and finally download both the bitstream and the elf application. Hopefully, all these steps will be executed automatically.
These scripts come from a template repository and they get updated and improved over time. If you wish to get the latest script version, then follow these steps:
git remote add template https://github.com/amamory/vivado-base-project.git
git fetch --all
git merge --no-commit --no-ff template/master --allow-unrelated-histories
Solve any conflict manually and then commit.
- update the scripts to Vitis
- support or test with Windows (help required !!! :D )
The scripts are based on the excellent scripts from fpgadesigner plus few increments from my own such as project generalization, support to SDK project creation and compilation and other minor improvements.