How to work with Gaisler's Leon3 SPARC processor

Big projects

During our beta period, some people have had trouble loading very large designs into Sigasi HDT. The processing power required by Sigasi HDT rises with the size of your project, as opposed to the processing power required by a VHDL editor which increases with the size of the file you are editing.

We have been working on improving the responsiveness of Sigasi HDT, and to demonstrate this, I'd like to show you how you use Sigasi HDT to navigate and edit one of the largest open source hardware projects: Gaisler's Leon3 SPARC processor and its accompanying libraries (commonly known as GRLIB). I've downloaded the GRLIB project, and set it up to work with Sigasi HDT. GRLIB uses a lot of different libraries:

libraries in GRLIBlibraries in GRLIB

Still fast

To start off with some performance figures on my computer. I have a standard desktop computer, Core 2 Duo and 2 GiB or RAM. Nothing fancy.
The initial compilation of the full GRLIB project takes 35 seconds on my machine, using a Java heap space of less than 500 MiB. In fact, our upcoming release (due Februari 2010) will knock an extra 40% off that compilation time, bringing it to 20 seconds.

Once Sigasi HDT is started and the project is fully compiled, you move to full speed. If you edit a file an save it, Sigasi HDT will not recompile the full project, but only the small subset that is required to make its internal data structures consistent with your project. This usually takes less than a second.

Try it yourself

Taking a look at other people's code is always a good way to learn. This is especially true for large industrial projects, like GRLIB, rather than hello-world style toy projects. I'd like to thank Jiri and the people from Airoflex Gaisler for sharing this project with the world under the GPL license. (Note that you can purchase a commercial license from Airoflex if you need that.)

To look at GRLIB using Sigasi HDT, you can download a free trial license. After you've started Sigasi HDT, just click "Point to existing project", and you're set to go.

Download the GRLIB project. I've packaged release 1.0.20-b3403, with one actual design and the VHDL libraries that it requires.

What do you think?

I'd love to hear which publicly available VHDL projects you have inspected and learned from. Was it easy to understand them? Were the files well-structured? Did it include documentation or did you have to dive in head first?

Comments

Hi, I'm also working on the

Hi,

I'm also working on the LEON3. I'm making my own modifications to the processor for research purposes. I've found that when I edit anything in the gaisler library, there are no problems with delayed response. Sigasi works very well. However, I've found that in order to get highlighting to work when I work in LEON3's "designs" folder I have to change the "work" library to be in that directory. When I work on VHDL designs in this directory I experience significant delays in highlighting. It may simply be that I've made some incorrect assumptions.

I use Linux on a core 2 Duo with 6GB RAM. I've made all libraries external except for gaisler and work.

Are you talking about the

Are you talking about the occurrence highlighting? Occurrence highlighting is when you move your cursor over a name (signal, datatype, anything) and the tools makes the background of the name and all occurrences of that name gray.

Occurrence highlighting has an implicit delay of at least half a second. This period is not spend on calculations, but it is caused by the underlying Eclipse platform.

Occurrence highlighting may also be slow in very large files.

Other types of highlighting include the regular syntax highlighting (also slow only on very large files).

Can you let me know which type of highlighting you refer to? Which order of delays do you encounter (half second, several seconds, half a minute)?

Philippe

Hi Nathan, If you look at the

Hi Nathan,

If you look at the screen shot for configuring the libraries, you'll notice that you can designate multiple folders as the same VHDL library "work". Just click add, fill in the name WORK and select the folder you want to add.

Also in the screen shot, you see that I have not selected the entire designs folder, but just one single design. Depending on the size of the other designs, this may give you an extra speedup.

Philippe