Skip to content

This repository covers on class tutorial of MICS 6001C - Custom Computing with FPGAs

Notifications You must be signed in to change notification settings

CLabGit/MICS-6001C-Tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vitis™ Hardware Acceleration Introduction Tutorial

Acknowledgement: This tutorial is adapted from Vitis™ Hardware Acceleration Introduction Tutorial and modified to our server environment.

Introduction

Version: Vitis 2024.1

AMD FPGAs and AMD Versal™ adaptive SoC devices are uniquely suitable for low-latency acceleration of high-performance algorithms and workloads. With the demise of traditional Moore's Law scaling, design-specific architectures (DSAs) are becoming the tool of choice for developers needing the optimal balance of capability, power, latency, and flexibility. But, approaching FPGA and Versal adaptive SoC development from a purely software background can seem daunting.

With this set of documentation and tutorials, our goal is to provide you with an easy-to-follow, guided introduction to accelerating applications with AMD technology. We will begin from the first principles of acceleration: understanding the fundamental architectural approaches, identifying suitable code for acceleration, and interacting with the software APIs for managing memory and interacting with the target device in an optimal way.

This set of documents is intended for use by software developers; it is not a low-level hardware developer's guide. The topics of RTL coding, low-level FPGA architecture, high-level synthesis optimization, and so on are covered elsewhere in other AMD documents. Our goal here is to get you up and running with Vitis quickly, with the confidence to approach your own acceleration goals and grow your familiarity and skill with AMD over time.

Provided Design Files

In this directory tree you will find a collection of documents and a directory named design_source. The design_source directory contains all of the design elements — hardware and software.The example applications correspond to specific sections in the guide. Every effort has been made to keep the code samples as concise and "to the point" as possible.

Build the Software and Hardware

The attached Makefile can be used to build the design:

Command Run Result
make run TARGET=sw_emu Build and run Software Emulation
make run TARGET=hw_emu Build and run Hardware Emulation
make run TARGET=hw Build and run the application on Hardware

Note: The hw_emu is not tested for this release.

Firstly, access the server via SSH (in compus only).

ssh yourfirstname@10.92.254.206 
// Initial password is 1qaz@WSX 
// Please change your password after logging in

Secondly, setup Vitis and XRT environment.

source /opt/Xilinx/Vitis/2024.1/settings64.sh
source /opt/xilinx/xrt/setup.sh

Thirdly, clone the repository.

git clone https://github.com/CLabGit/MICS-6001C-Tutorial.git
cd MICS-6001C-Tutorial

Then, setup environment variables: PLATFORM and PLATFORM_REPO_PATH.

export PLATFORM=xilinx_u250_gen3x16_xdma_4_1_202210_1 # Example to set the PLATFORM before launching the run 
export PLATFORM_REPO_PATH=/opt/xilinx/platforms/      # Example to set the PLATFORM_REPO_PATH before launching the run

Finaly, build the hardware in a push-button manner.

make run TARGET=hw

Once the build is completed, a folder build under directory design_source will contain all the executables and alveo_example.xclbin to run the tutorial.

Important: since hardware compilation is time consuming (around 3 hours), we prepare prebuilt xclbin file under the folder design_source/prebuilt, so that you can directly run the programs with it.

So far, you have the executables for this tutorial. Next, follow the documents below to finish the tutorial.

Table of Contents

This tutorial is divided into several discrete example designs. Note that each design builds on the last one, so if this is your first time here, we recommend proceeding through the tutorial in order.

Copyright © 2020–2023 Advanced Micro Devices, Inc

Terms and Conditions

About

This repository covers on class tutorial of MICS 6001C - Custom Computing with FPGAs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published