Hog Hog2026.2-5
create_project.tcl File Reference

contains all functions needed to create a new project More...

Go to the source code of this file.

Namespaces

 globalSettings
 Namespace of all the project settings.
 

Functions

 InitProject ?vitis_only?
 
 AddProjectFiles
 
 CreateReportStrategy obj
 Set Vivado Report strategy for implementation. More...
 
 ConfigureSynthesis
 configure synthesis. More...
 
 ConfigureImplementation
 configure implementation. More...
 
 ConfigureSimulation
 configure simulation More...
 
 ConfigureProperties
 uses the content of globalSettings::PROPERTIES to set additional project properties More...
 
 ConfigurePlatforms ?xsa?
 
 CreatePlatform platform_name platform_conf ?xsa?
 
 ConfigureApps
 
 ConfigureApp app_name app_conf
 
 AddAppFiles
 
 ConfigureVitisComponents xsa_option ide post_file
 Configure the Vitis components (HLS, platforms and apps) of a project. More...
 
 ConfigureHlsComponents
 Configure HLS components defined in hog.conf [hls:*] sections. More...
 
 ManageIPs
 upgrade IPs in the project and copy them from HOG_IP_PATH if defined More...
 
 SetGlobalVar var ?default_value?
 
 CreateProject args
 

Detailed Description

contains all functions needed to create a new project

Todo:
This file will need to be fully documented

Definition in file create_project.tcl.

Function Documentation

◆ AddAppFiles()

AddAppFiles

Definition at line 1068 of file create_project.tcl.

◆ AddProjectFiles()

AddProjectFiles

Definition at line 182 of file create_project.tcl.

◆ ConfigureApp()

ConfigureApp   app_name app_conf  

Definition at line 958 of file create_project.tcl.

◆ ConfigureApps()

ConfigureApps

Definition at line 918 of file create_project.tcl.

◆ ConfigureHlsComponents()

ConfigureHlsComponents

Configure HLS components defined in hog.conf [hls:*] sections.

For each [hls:<component_name>] section, this proc:

  1. Reads the HLS_CONFIG path from hog.conf (mandatory, repo-relative)
  2. Validates that the hls_config.cfg file exists and is well-formed
  3. Creates a Vitis-compatible workspace so the project can be opened in the GUI

The hls_config.cfg is the single source of truth for HLS settings. It is committed to the repo and directly used/edited by Vitis.

Definition at line 1171 of file create_project.tcl.

◆ ConfigureImplementation()

ConfigureImplementation

configure implementation.

The configuration is based on the content of globalSettings::IMPL_FLOW and globalSettings::IMPL_STRATEGY The function also sets Hog specific pre- and- post implementation and, pre- and post- implementation scripts

Definition at line 421 of file create_project.tcl.

◆ ConfigurePlatforms()

ConfigurePlatforms   ?xsa?  

Definition at line 743 of file create_project.tcl.

◆ ConfigureProperties()

ConfigureProperties

uses the content of globalSettings::PROPERTIES to set additional project properties

Definition at line 570 of file create_project.tcl.

◆ ConfigureSimulation()

ConfigureSimulation

configure simulation

Definition at line 523 of file create_project.tcl.

◆ ConfigureSynthesis()

ConfigureSynthesis

configure synthesis.

The method uses the content of globalSettings::SYNTH_FLOW and globalSettings::SYNTH_STRATEGY to set the implementation strategy and flow. The function also sets Hog specific pre and post synthesis scripts

Definition at line 328 of file create_project.tcl.

◆ ConfigureVitisComponents()

ConfigureVitisComponents   xsa_option ide post_file  

Configure the Vitis components (HLS, platforms and apps) of a project.

This is the work of the "-vitis_only" pass. It runs both from the standalone "-vitis_only" entry point and, in the same interpreter, at the end of the Vivado pass of a vivado_vitis_* project. It must not be run by spawning a second Vivado: on Windows the nested process dies with an access violation during Vivado start-up, before it can source any Hog script.

Parameters
[in]xsa_optionThe -xsa option, empty to derive the XSA from the Vivado project
[in]ideThe IDE name, as written in hog.conf
[in]post_fileThe post-creation Tcl script, sourced if it exists
Returns
0 on success, 1 if no usable XSA could be found

Definition at line 1087 of file create_project.tcl.

◆ CreatePlatform()

CreatePlatform   platform_name platform_conf ?xsa?  

Definition at line 776 of file create_project.tcl.

◆ CreateProject()

CreateProject   args  

nagelfar ignore

Definition at line 1279 of file create_project.tcl.

◆ CreateReportStrategy()

CreateReportStrategy   obj  

Set Vivado Report strategy for implementation.

Parameters
[in]objthe project object

Definition at line 244 of file create_project.tcl.

◆ InitProject()

InitProject   ?vitis_only?  

Definition at line 81 of file create_project.tcl.

◆ ManageIPs()

ManageIPs

upgrade IPs in the project and copy them from HOG_IP_PATH if defined

Definition at line 1234 of file create_project.tcl.

◆ SetGlobalVar()

SetGlobalVar   var ?default_value?  

Definition at line 1262 of file create_project.tcl.