# LabA - Hardware Acceleration Tutorial - RTL Kernel Workflow and Mixing C++ & RTL Kernels ## Table of Content :::warning [toc] ::: ## Reference [Vitis-Tutorials : 01-rtl\_kernel\_workflow](https://github.com/Xilinx/Vitis-Tutorials/tree/2022.1/Hardware_Acceleration/Feature_Tutorials/01-rtl_kernel_workflow) [Vitis-Tutorials : 02-mixing-c-rtl-kernels](https://github.com/Xilinx/Vitis-Tutorials/tree/2022.1/Hardware_Acceleration/Feature_Tutorials/02-mixing-c-rtl-kernels) ## My Implementation [LabA:01_RTL_Kernel_Workflow](https://github.com/kevin33713371/2024_Fall_NTU_AAHLS_SP/tree/main/LabA_01_RTL_Kernel_Workflow) [LabA:02_Mixing_C_RTL_Kernels](https://github.com/kevin33713371/2024_Fall_NTU_AAHLS_SP/tree/main/LabA_02_Mixing_C_RTL_Kernels) ## Environment Ubuntu : 20.04 Vitis : 2022.1 Vivado : 2022.1 ### Download & Insert the Board File of Alveo U50 Since the Alveo U50 board is not included by default in Vivado 2022.1, you need to download the required board file for the U50 from Xilinx's official GitHub repository, XilinxBoardStore. At first, clone the overall repository of XilinxBoardStore by following command. ``` git clone https://github.com/Xilinx/XilinxBoardStore ``` Since the Alveo U50 board file is only available in the `2020.1.1` branch of the XilinxBoardStore repository, switch the downloaded XilinxBoardStore folder to branch `2020.1.1` using the following command. ``` cd XilinxBoardStore git checkout 2020.1.1 ``` Next, change the current directory to the folder containing `au50` (Alveo U50), and copy the `au50` folder to the corresponding board file directory in Vivado, my directory is `/tools/Xilinx/Vivado/2022.1/data/boards/board_files` ``` cd XilinxBoardStore/boards/board_files sudo cp -r au50 /tools/Xilinx/Vivado/2022.1/data/boards/board_files ``` Finally, open Vivado and create a new project. Ensure that the Alveo U50 is available in the selectable boards list. ![image](https://hackmd.io/_uploads/HJ3UM11kJl.png) ## Before the Experiment ### Clone the repository from vitis tutorials Before the experiment, we need to access the tutorial reference files for Xilinx Vitis Tutorial GitHub. By following command, we can clone the repository by git. At first, clone the overall repository by following command. ``` git clone https://github.com/Xilinx/Vitis-Tutorials.git ``` Next, enter the directory of Vitis-Tutorials and switch the branch to `2022.1` ``` cd Vitis_Tutorials git checkout 2022.1 ``` ## Experiment Process The detailed experiment process can be referenced in the following tutorial PPT. ["My tutorial PPT for RTL Kernel Workflow and Mixing C++ & RTL Kernels"](https://github.com/kevin33713371/2024_Fall_NTU_AAHLS_SP/blob/main/LabA_presentation.pdf)