[Only in Sigasi Visual HDL Enterprise Edition]
This task automates the generation of a Compilation Recipe, a JSON file that describes your project’s exact file list, library mapping, and compilation order. This is extremely useful for scripting and integrating with downstream tools such as CI/CD pipelines, custom Linters, or synthesis tools. You can even chain VS Code tasks to automatically run a downstream tool whenever the recipe is regenerated. For more details on the format, see the Compilation Recipe V2 documentation.
Creating the Export Task
Follow the general process. The specific steps are:
- Choose Automated Export from the Automate Designflow menu.
- Select Export Compilation Recipe.
- You will be prompted to specify an Output directory.
Advanced Configuration (tasks.json)
The recipe export task is defined with the type sigasiExportCompilationRecipe. For advanced configuration, you can edit its entry in .vscode/tasks.json.
Here is an example of a fully configured task:
{
"version": "2.0.0",
"tasks": [
{
"label": "Export Compilation Recipe (top_level_design)",
"type": "sigasiExportCompilationRecipe",
"target": "top_level_design",
"logLevel": "verbose",
"watch": false,
"runOptions": {
"runOn": "folderOpen"
},
"outputDirectory": "build/sigasi",
"absolutePaths": true,
"includeDependencies": true,
"precompiledLibraries": [ "unisim" ]
}
]
}
Recipe Export Task Properties
This task uses the common base properties and adds the following specific properties:
| Property | Type | Description |
|---|---|---|
outputDirectory | string | The path to the directory where the compilation_recipe.json file will be saved, relative to the project root. Defaults to .sigasi/compilationRecipe. |
absolutePaths | boolean | If set to true, all file paths within the generated recipe will be absolute. If false, they will be relative to the project root. Defaults to false. |
includeDependencies | boolean | If set to true, the compilation recipe will also include information about the project’s dependencies. Defaults to true. |
precompiledLibraries | string[] | An optional list of library names that are considered pre-compiled in your tool environment. These libraries and their files will not be included in the generated recipe. |