There are a number of ways to create an HLS component in the Vitis Unified IDE. The following steps describe a recommended approach.
-
With the Vitis IDE open, from the main menu select .
Tip: You can also select New Component on the Welcome page, or from the right-click menu in the Explorer view.
-
Enter a Component name and Component location and select Next.
The HLS component configuration file contains commands and directives for the synthesis, simulation, and export of the component.
The Configuration File page of the Create HLS Component wizard provides three ways to add a configuration file to your component:
- Empty File: Specifies the creation of a new empty configuration file to be populated after component creation. Selecting this option lets you specify a name in the New configuration file name field.
- Existing File: Specifies the use of an existing configuration file. Selecting this option lets you enter the path and name in the File field, or select Browse to locate the file.
- Generate From Vitis HLS Project: This option generates a new config file from an existing Vitis HLS project hls.app file using the classic HLS tool. The tool lets you identify the hls.app file inside the project, and enter a New Configuration File Name for the config file hls.app generates.
- Choose the method of adding the config file to your HLS
component and specify a name or files as needed. Select Next to proceed to the Source Files. The Source Files page of the wizard opens
as shown below.
- Under Design
Files, select Add
files to select the primary source file for the design, or add
multiple files as needed. After adding one or more source files, identify the
Top Function for
synthesis as the top-level function for the HLS component. Functions that the
top-level function calls also undergo synthesis into RTL.
Under Test Bench Files, you can select Add files. You can also select Add folders.
For both design files and test bench files, you can add CFLAGS and CSIMFLAGS to specify directives for compilation and simulation. You can specify directives for all files or specific files from each category. After adding files, folders, and directives, click Next.
-
Select the Part or select the Platform for the HLS component and select Next.
Tip: If you selected Platform when creating the HLS component, the Vitis Unified IDE extracts the part from the specified platform and addspart=to your configuration file. -
You can specify a clock period or frequency for the design, and a clock uncertainty in the Settings. The default clock for the tool is a clock period of 10 ns (or 100 MHz), and a clock uncertainty of 27%.
Use the Settings page to configure default interfaces for your HLS module's top-level arguments. When this setting is enabled, Vitis HLS automatically selects the appropriate AXI interface type (m_axi,s_axilite, oraxis) for any top-level argument without a specified interface pragma.You can specify the package.output.format to generate when packaging the design. The default output format is the Vivado IP. The IP generates a .zip file for adding to your IP catalog, allowing you to use the RTL design that HLS generates in other designs.
Also keep in mind that the HLS component uses a bottom-up design flow, generating only RTL output until you package the output. The bottom-up flow lets you develop multiple design iterations as you sort through the design challenge. The flow only package the output when the design is ready. This approach saves significant time each time you run Synthesis or Simulation.
Select Next to proceed to the Summary page.
The Summary page reflects the choices you have made on the prior pages. - Review the summary and select Finish to create the HLS component, or select Back to return to earlier pages and change your selections.
After creating the HLS component, the central editor window opens the vitis-comp.json file. The HLS component is active in the Flow Navigator.
After creation, the HLS component becomes the active component in the Flow Navigator. You can also select the Component to make it the active component in the tool.
When the HLS component is active, the Flow Navigator enables C Simulation, C Synthesis, C/RTL Co‑simulation, Package, and Implementation, as shown in the following image.
To control how each of these steps runs, edit the HLS configuration
file (hls_config.cfg) to specify the commands and directives that
define your design objectives.