Contact us Start a Trial

Creating Sigasi Projects

To avoid accidental usage of this experimental feature, there’s currently only one way to create a Sigasi Project: in the command palette, run Sigasi: Create New Sigasi Project (Preview Feature)….

This command opens a file browser, in which you can select an empty folder (to create a project from scratch) or a folder containing an existing code base (to import it into Sigasi).

Regardless of the contents of the selected folder, Sigasi will create a project.sigasi in the folder and open it for you. It should contain JSON contents similar to these:

{
  "name": "MyProject",
  "targets": {
    "hdl": {
      "libraryMapping": {
        "": []
      }
    }
  }
}

The project name is taken from the name of the chosen directory, and can be changed here. After that, you’ll find the definition of the hdl target. A target comprises a self-contained set of files that are compiled together—you can read more on them in the next section.

This particular target isn’t doing much. It only contains a library mapping, which details how HDL files are assigned to libraries. Library mapping contains a detailed explanation. For now, you might simply want to map your whole project to the work library by replacing "": [] with "": "work" or, if you have a very large project, map everything in a single folder using "path/to/folder": "work" instead. Alternatively, right-click on folders and files in the Projects view to Change Library.

Migration guide

You have aNext step
Classic (Eclipse) projectKeep using it, or manually convert it to Manual targets
Vivado projectUse the built-in Vivado import
VUnit projectUse the built-in VUnit import
VCS projectCheck out Scripted targets
Questa projectCheck out Scripted targets
XCelium projectCheck out Scripted targets
New designStart a Sigasi project with a single Manual target

Sigasi projects in version control systems

When using a version control system such as git , you likely want to inform the version control system which project configuration files need to be tracked.

You definitely want to add the project.sigasi file, because that describes to others (even when not using Sigasi) how to build your project. When you’re changing e.g. linting rule configuration, we’ll store those in the .sigasi directory in your project directory, so tracking those will help your colleagues use the same styling rules, etc.

You don’t want to track .sigasi/generated though: this directory contains log files and other debug information on Scripted targets which could contain timestamps etc. The files and directories here change often and contain machine-specific details.