Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

AMD logo

AMD Vitis™ System Design Tutorials

See Vitis™ Development Environment on amd.com

Vitis Functional Simulation

Version: Vitis 2025.2

Table of Contents

  1. Introduction
  2. Setup Instructions
  3. Available Examples

Support

Introduction

Vitis Functional Simulation (VFS) allows you to functionally simulate AI Engine graphs and/or HLS kernels in both MATLAB® and Python™ environments on Linux. It presents simple APIs to compile and simulate your design. VFS is designed to be easy to use and provides a familiar environment for users who are already accustomed to using MATLAB or Python.

VFS Introduction

Varray

Vitis Functional Simulation (VFS) leverages "varray" (Vitis array), a module supporting all the data types available in AMD devices in both MATLAB and Python environments and allowing conversion and casting between the types.

Varray Introduction

For more information on Vitis Functional Simulation and Vitis array, refer to Chapter 6 of Embedded Design Development Using Vitis User Guide (UG1701).

Setup Instructions

Source the appropriate settings file:

[shell]% source <vitis_install_folder>/settings64.sh

Python

Launch Python (supports 3.9 to 3.13). The "numpy" module is required.

# import the following two modules
import vfs
import varray as va

Optional: Create a virtual environment to install necessary modules or simply source create_venv.sh.

MATLAB

Launch MATLAB (supports 2024a, 2024b and 2025a).

Available Examples

This directory contains simple AI Engine Graphs and HLS kernels to show how to get started with VFS, as well as a more representative system example.

Example Description
varray Showcasing basic varray operations
aie/GraphMultiplyByComplex Simple design showcasing the basic structure of a VFS code
aie/bfloat16 Demonstrates partial data being passed to the AIE graph
aie/FIRasyncRTP Instantiation of a symmetric FIR filter with async RTP port from Vitis_Libraries
aie/gmio Simple weighted-sum design that leverages GMIO
hls/SumOfFour Simple design showcasing the basic structure of a VFS code
hls/array_pointer_data_type Demonstrates a kernel with array and pointer inputs
hls/arrayOfHlsStreams Demonstrates using an HLS kernel where the ports are arrays of streams
hls/kernel_invert Demonstrates usage of the fixed-point varray data type
aie_hls/64kifft 64k-point IFFT implemented using a 2D breakdown containing resources in both AI Engine and PL. Also includes a Jupyter notebook version. Link to original design.

Support

GitHub issues are used for tracking requests and bugs. For questions, go to Support.


Copyright © 2025 Advanced Micro Devices, Inc.

Terms and Conditions