################################################################################################## File : file:///afs/slac/g/reseng/svn/repos/VivadoHlsExample/trunk/firmware/README.txt Author : Larry Ruckman Created : 2014-07-31 Last update: 2014-08-01 ################################################################################################## This project demonstrates how to do the following: 1) Build a Vivado HLS project with an AXI-Lite interface 2) Build a Vivado HLS project with an AXI streaming interface 3) Interface the HLS projects to a PGP core The final .bit file is designed for the Xilinx KC705 development board. These examples are based on Xilinx's UG871 and UG902. To get the proper background on Vivado HLS, I HIGHLY recommend you read these two user guides before going through these below instructions. ################################# ## Section#1 ## Checking out the SVN project ## and setting up the environment ################################# Step 1) Log into your favorite SLAC Linux server: - Example: $ ssh rdusr219 -YC Step 2) Check out the subversion repository: - Note: This step IS REQUIRED if it has not be done before. - Example: rdusr219 ~$ cd $home/projects rdusr219 ~$ svn checkout file:///afs/slac/g/reseng/svn/repos/VivadoHlsExample/trunk/ VivadoHlsExample Step 3) Check that the subversion repository is up-to-date: - Example: rdusr219 ~$ cd $home/projects rdusr219 ~$ svn update VivadoHlsExample/ Step 4) Setup the firmware environment: - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/firmware/ rdusr219 ~$ source setup_env.csh - Note: This .csh script will do the following: A) Makes an output build directory in the Linux server's /u1 hard drive mount B) Makes a symbolic link from this checkout SVN source tree to the /u1's output build directory C) Sets up your Xilinx licensing ########################################### ## Section#2 ## Building the HLS AXI-Lite Example Module ########################################### Step 1) Complete the steps in Section#1 Step 2) Compile the Vivado HLS code: - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/firmware/modules/common/AxiLiteExample/vivado_hls rdusr219 ~$ make clean; make ############################################ ## Section#3 ## Building the HLS Streaming Example Module ############################################ Step 1) Complete the steps in Section#1 Step 2) Compile the Vivado HLS code: - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/firmware/modules/common/AxiStreamExample/vivado_hls rdusr219 ~$ make clean; make ############################### ## Section#4 ## Building the firmware target ############################### Step 1) Complete the steps in Section#2 Step 2) Complete the steps in Section#3 Step 3) Compile the firmware code: - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/firmware/targets/VivadoHlsExample/ rdusr219 ~$ make clean; make Step 4) Program the KC705 evaluation board (either with the .bit or .mcs file) - Images are located here: rdusr219 ~$ cd $home/projects/VivadoHlsExample/firmware/targets/VivadoHlsExample/images/ ####################### ## Section#5 ## Running the software ####################### Step 1) Complete the steps in Section#4 Step 2) Setup the firmware environment: - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/software/VivadoHlsExample rdusr219 ~$ source setup_env.csh Step 3) Build the software - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/software/VivadoHlsExample rdusr219 ~$ make clean; make Step 4) Test the HLS AXI-Lite Example Module via PGP link - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/software/VivadoHlsExample rdusr219 ~$ bin/AxiLiteExampleTest Step 5) Test the HLS AXI Streaming Example Module via PGP link - Example: rdusr219 ~$ cd $home/projects/VivadoHlsExample/software/VivadoHlsExample rdusr219 ~$ bin/AxiStreamExampleTest