Contact us Start a Trial

Compilation recipe export

[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:

  1. Choose Automated Export from the Automate Designflow menu.
  2. Select Export Compilation Recipe.
  3. 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:

PropertyTypeDescription
outputDirectorystringThe path to the directory where the compilation_recipe.json file will be saved, relative to the project root. Defaults to .sigasi/compilationRecipe.
absolutePathsbooleanIf 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.
includeDependenciesbooleanIf set to true, the compilation recipe will also include information about the project’s dependencies. Defaults to true.
precompiledLibrariesstring[]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.