Sigasi's Blog

Be careful with VHDL operator precedence

I was recently writing some tests for our VHDL expression evaluator and was amazed by the the result of evaluting -16 ** 2.
I expected 256, but it wasn't.

Can you guess the output of running this process?

     process is
          report "-5 mod (-3) : " & integer'image(-5 mod (-3));
          report "(-5) mod (-3) : " & integer'image((-5) mod (-3));
          report "-(5 mod (-3)) : " & integer'image(-(5 mod (-3)));
          report "-16 ** 2 : " & integer'image(-16 ** 2);

Whitepaper: Standard Editor for Teams

This whitepaper explains why programmers tend to cling to the text editors they are used to using and are not always eager to move to a standardized product. Here we explain why a standardized text editor, one that is complete Integrated Development Environment (IDE), benefits the development organization.

Standardized Software

In the past, in Europe, each country’s railroads used a different width for their train tracks. When a train leaving, say, France, went into Spain, the train would have to stop and unload its cargo and load it onto a different train at the border.

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.


Benefits of extracting documentation from software code

Software with good documentation is far more valuable than software without.
Software that needs to be reliable will be subject to a code review. Good documentation makes the review go more smoothly, and makes it more likely that the review will accomplish its intended purpose.

To "to" or to "downto"... Ranges in VHDL

Most VHDL designers write 'something downto something' in their code all the time. But what does this downto actually mean. And what is the difference with to?

The keywords downto and to specify the direction of ranges in VHDL. downto is descending (going down); to is ascending (going up).

Ranges in Arrays

When used in arrays, downto corresponds to little endian. This means that the least significant bit is stored at the lowest position.