hdt-1.0, hdt-2.0

Generating a Sigasi project from a Vivado project

I have blogged before on how to import Xilinx ISE projects in Sigasi before. In this blog post I show how you can import an existing Vivado project into Sigasi.

If you have a Vivado project which uses one or more IP cores, the project becomes complex quickly. Vivado generates different sources for Simulation and Synthesis. And although VHDL has elegant support for this –entities can have multiple architectures–, Vivado generates duplicate entities instead.

Importing a Xilinx ISE project in Sigasi

Although project setup in Sigasi is in most cases straight forward, it remains a hurdle, certainly if you already have a 'project definition' in another tool. I have blogged about Scripting Sigasi project creation for importing custom project descriptions before. But now we extended the Python scripts to make even easier to import Xilinx ISE and Mentor Graphics HDL Designer projects. In this post I show how easy this has become.


How to avoid absolute (library) paths in your Sigasi Project files

Sigasi 2.21 introduced more default path variables. Read the first comment for more details.

In this blog post, I will describe how you can use path variables to avoid system dependent, absolute paths in your project files.

The default way to add a third party library (e.g. modelsim_lib) to your project is as follows:

  1. Add files to project
    • File > New > Folder
    • Advanced
    • Link to alternate location (Linked Folder)
    • Enter location.

Scripting Sigasi project creation

When you start using Sigasi, the first thing you have to do is set up a Sigasi project. This consists of two steps: (1) selecting the VHDL files that you want in your project and (2) configuring in which VHDL library these files must be mapped. In most cases you already have this information in one form or another.

Call for feedback: A new way to compile Sigasi/Eclipse project dependencies with an External Compiler

Sigasi allows you to split your design in multiple projects. This is an efficient way to deal with with big designs.