Hog Hog2026.2-1
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
 
 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 1031 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 921 of file create_project.tcl.

◆ ConfigureApps()

ConfigureApps

Definition at line 884 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 1045 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.

◆ CreatePlatform()

CreatePlatform   platform_name platform_conf ?xsa?  

Definition at line 776 of file create_project.tcl.

◆ CreateProject()

CreateProject   args  

nagelfar ignore

Definition at line 1148 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 1108 of file create_project.tcl.

◆ SetGlobalVar()

SetGlobalVar   var ?default_value?  

Definition at line 1131 of file create_project.tcl.