The Vitis Unified IDE provides a common tool for
creating the different components of a heterogeneous system design, or a Data Center
acceleration application. These components include the HLS component generated from
C/C++ source code. It includes the v++ and vitis-run common command-line for compiling and linking
the system design. Vitis Unified IDE provides multiple
ways to migrate an existing Vitis HLS classic project
into the new tool. These include the following:
- Create an HLS Component from an existing Vitis HLS classic project
- Continue using an existing Tcl script
- Convert to using Python script
1. Create an HLS Component from an Exisiting Vitis HLS Project
As described in Creating an HLS Component you can specify the hls.app file from an existing Vitis HLS classic project to generate a new HLS config file. The tool lets you identify the hls.app file inside the project, and enter a New configuration file name for the config file generated from the hls.app file.
2. Continue Using an Existing Tcl Script
To continue to use the existing Tcl script, replace open_project with open_componentand
specify -flow_target vivado|vitis. Remove open_solution Tcl command as it is not required in Vitis Unified IDE as shown below.
By using open_component the output
structure created is compatible with the Vitis Unified IDE and the directory from where the Tcl script is run is
the workspace that can be opened in the Vitis Unified IDE. The hls reports and generated RTL files are now
under the component directory. Tcl script can be run using vitis-run as shown below.
vitis-run --mode hls --tcl <tcl_script>.tcl
3. Convert to Using Python Script
Vitis Unified IDE supports Python APIs to
create and manage various components including HLS component. A python script can be
used containing these APIs for HLS component development and execution. HLS
component configuration can be specified either in a config file (generated using
write_ini as described above) or inside the python script as
key-value pairs. The python script can be run using vitis as shown
below.
vitis -s <python_script>.py
Use write_ini to Create an HLS Config File
The vitis-run executable has the ability to
create a config file from an existing Tcl script using the write_ini command. This can be done by either including the
write_ini command in the Tcl script or by
launching HLS interactive Tcl shell using vitis-run (shown below) and specifying the write_ini command to export the Tcl commands used to create a project,
or a specific solution. After creating the HLS config files from the existing
project or solutions, HLS components can be created in the Vitis Unified IDE using these config files along with the specified
source files.
$ vitis-run --mode hls --itcl
HLS> open_project <project_name>
HLS> write_ini <config_file_name>
Additionally, for users who prefer scripted flows for HLS development with the Vitis Unified IDE, examples in the Migration directory of the Vitis-HLS-Introductory-Examples repository show a couple of ways to do it.