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 a | Next step |
|---|---|
| Classic (Eclipse) project | Keep using it, or manually convert it to Manual targets |
| Vivado project | Use the built-in Vivado import |
| VUnit project | Use the built-in VUnit import |
| VCS project | Check out Scripted targets |
| Questa project | Check out Scripted targets |
| XCelium project | Check out Scripted targets |
| New design | Start 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.