This repository contains the source code of the Project "Versal System Exploration: Benchmark suite for AI Engine".
Information | |
---|---|
Team number | AOHW-334 |
Project name | Versal System Exploration: Benchmark suite for AI Engine |
YouTube's video | https://youtu.be/DQ7PJQzX1jk |
Project's repository | https://github.com/lele1001/AOHW-334 |
University name | Politecnico di Milano |
Participant (email) | Eleonora Cabai ([email protected]) |
Supervisor name | Davide Conficconi |
Supervisor email | [email protected] |
Board used | AMD-Xilinx Versal VCK5000 |
Software version | 2024.1 |
The archive is structured as follows:
├─ aie/ # AIE kernel for transfomation
| └─ src/ # Contains the code
├─ data_movers/ # PL kernels for setting up the AIE and for fetching
├─ mutual_info/ # PL Kernel for computing mutual information
├─ common/ # Common codes and variables
├─ hw/ # System integration
├─ sw/ # Host application and dataset
└─ Makefile/ # Top-level Makefile to build and run
Open a terminal, then clone the repository by running the following command
git clone https://github.com/github.com/lele1001/AOHW-334.git
Then, move into the repository with
cd AOHW-334
Before building and/or running the framework, run the following script. Notice that this will source Vitis 2022.1, xrt and devtoolset-7
source ./setup_all.sh
Main Commands
make aie_compile_x86 : compile your code for x86 architecture.
make aie_simulate_x86 : simulate your x86 architecture.
make aie_compile : compile your code for VLIW architecture, as your final hardware for HW ad HW_EMU.
make aie_simulate : simulate your code for VLIW architecture, as your final hardware.
make clean : removes all the output file created by the commands listed above.
make compile TARGET=HW/HW_EMU: compiles all your kernel, skipping the ones already compiled.
make run_testbench_setup_aie : compiles and execute the testbench for the kernel setup_aie.
make run_testbench_sink_from_aie : compiles and execute the testbench for the kernel setup_aie.
make all TARGET=HW : builds the hardware linking your components make all TARGET=HW_EMU : builds the hardware emu linking your components make clean: removes all files.
make build_sw : compiles the sw ./setup_emu.sh -s on : enables the hardware emulation ./host_overlay.exe : runs the emulation
If you need to move your bitstream and executable on the target machine, you may want it prepared in a single folder that contains all the required stuff to be moved. In this case, you can use the
make build_and_pack TARGET=hw/hw_emu : it allows you to pack our build in a single folder. Notice that the hw_emu does not have to be moved on the device, it must be executed on the development machine.