These automation features are available for projects using the new Sigasi Project format.
Introduction: Automating Your Designflow
In modern HDL design, efficiency is key. Manually running compilers, test benches, and export scripts after every change is time-consuming and error-prone. Sigasi streamlines this process by integrating with VS Code’s powerful task runner , allowing you to automate these repetitive actions.
By creating automated tasks, you can:
- Get Instant Feedback: Automatically compile your code with a third-party compiler every time you save a file.
- Automate and Standardize: Reduce manual work and ensure consistency across your team by using a single, version-controlled source (
.vscode/tasks.json) for your project’s build and test commands . Tasks can be set to run automatically when you open your project. - Integrate with Downstream Tools: Programmatically export your project’s structure for use in custom scripts for downstream tools like CI/CD pipelines, Linters, or synthesis tools.
This guide will walk you through creating and configuring automated tasks for VUnit testing, exporting, and external compilation.
Creating an Automated Task: The General Process
Creating a task is a simple process using the Sigasi UI. The steps are similar for all task types.
- Initiate Task Creation: In the Sigasi Projects view, right-click on either a project node or a specific target node and select Automate Designflow. Choose the desired task from the submenu (e.g., VUnit, External Compiler).
- Select a Target: If you initiated the task from the project node, you will be prompted to select a build target. This is the name of the build target defined in your
project.sigasifile that the task should process. This step is skipped if you start from a specific target node. - Configure Common Options: A dialog will appear with the following options:
- Watch mode: Enable this for a “live” development experience. The task will automatically re-run every time you save a relevant file, giving you immediate feedback without leaving the editor.
- Run at startup: Enable this for a “fire-and-forget” setup. The task will run automatically every time you open your VS Code workspace, so your environment is always ready.
Following these steps, Sigasi creates or updates the .vscode/tasks.json file in your project. A confirmation dialog appears in the bottom-right corner of the window, with a Run now button to execute your new task immediately. For advanced control, you can edit the generated .vscode/tasks.json file directly. VS Code offers full autocompletion for these tasks, making manual configuration easier.
Running a Task
Once a task has been created, there are several ways to run it:
- Immediately after creation: When you first create a task, a confirmation dialog appears in the bottom-right corner with a Run now button.
- From the Command Palette: At any time, you can run a task manually:
- Open the Command Palette with .
- Type Tasks: Run Task and press Enter.
- Select the task you want to run from the list. Recently used tasks will appear at the top.
- With a Keybinding: For tasks you run frequently, you can assign a keyboard shortcut .
Tasks configured with Watch mode or Run at startup will, of course, run automatically based on their configuration.
For more details on running and managing tasks, refer to the official VS Code documentation .
Troubleshooting
If a task fails, the first place to look for information is the Terminal panel in VS Code, where the error messages are displayed. If you’re new to it, the Terminal documentation covers navigation and troubleshooting tips. For more detailed logs, you can increase the verbosity by setting the logLevel property in your tasks.json file to "verbose".
If you continue to have issues, please contact our support team at support@sigasi.com and include the terminal output.