VHDL Blog

Posts that will make you a better VHDL designer, regardless of the tools you use.

You can easily subscribe to this blog by clicking this rss icon: Syndicate content

Are VHDL post-93 versions used in real life?

I've just finished implementing VHDL protected types, as defined in the VHDL 2000 standard.

As part of our quality assurance process, we run a bunch of VHDL code through our tool. In fact, we've downloaded all freely available VHDL from the internet to stress test our tool. However, none of these projects seem to use protected types. All I can do is run the tests that I have created and compile the VHDL files that one of our users has sent me.

This makes me wonder if the world will ever upgrade from VHDL-93? It has been seventeen years since that standard was approved. Pretty soon, we will start training engineers that were not even born in 1993!

My hypothesis is that engineers won't use more recent standards because EDA companies won't implement them and EDA companies are not interested because their customers don't use the newer standards. The Wikipedia contains a list of simulators with information on which VHDL version is supported. If this list is correct about half of the simulators support VHDL-93. The other half supports VHDL-2002. Never mind VHDL-2008, for which I have the language reference manual lying on my desk. Now I know that Wikipedia might or might not be accurate: if you see any errors in Wikipedia, please update that wiki page.

As an interesting note, the documentation for Xilinx ISim states that their mode for VHDL-200X "provides support for select additional constructs introduced post-VHDL-93." That is exactly what we support: select additional constructs. However, this is a temporary situation. Eventually all EDA providers should strive to support the latest standards in full. What else are standards for? (Which reminds me I should get a copy of Karen Bartleson's book on Effective Standards.)

Anyway, here are two questions for all of you:

  1. Which VHDL standard do you use? (and why)
  2. If you have any VHDL-2002 or VHDL-2008 lying around that you can share, please do. It would be great for our quality assurance and for proving to the world that recent VHDL standards are useful after all.

      -- Philippe

Can we have an open source simulator?

In my previous post, I talked about GHDL, and why it is not good enough as an open source parser and simulator. In this post, I talk about possible solutions. I see three options today.

GHDL could become really good and perhaps even great. But in order to achieve this, the GHDL community would need to grow. Perhaps a few students would have to spend a Summer of Code working on GHDL.

Or, we could drop the idea of GHDL and start from scratch. This would be wise if the effort saved by using newer, better tools and languages, will compensate for having to start from scratch.

As a last alternative, one of the existing players could release its own simulator as open source software. This may not be as crazy as is sounds. Xilinx has dropped Mentor Graphic's ModelSim in favor of its own ISim. We can only presume that Mentor's royalties were an important factor in this decision. ISim translates VHDL and Verilog to C, which is then compiled to an executable. This executable in fact simulates the hardware design. Xilinx has much to gain from a larger community of designers: they can sell more FPGAs. They also have much to gain from a diverse EDA landscape, as they would be able to cut back on their own EDA development budgets.

We need an open source, high quality VHDL simulator. It will enable more people and companies to join the community of VHDL and FPGA designers. It will enable new players to enter the EDA market and build innovative tools. If there are more EDA vendors, they can provide more high quality EDA tools at a lower cost and less vendor lock-in.

I don't expect a lot of cheers from the companies that sell their own simulators. But if the EDA sector as a whole wants to remain healthy, it needs to allow new innovators in the market. Having a freely available parser and simulator for the cornerstone hardware description languages would be a good start.

Let me know what you think, in the comments or on Twitter.

--
Philippe

VHDL word search puzzle

We shouldn't always be serious. With a good toolkit, VHDL can also be fun.
Although I'm afraid that Sigasi's recovering parser will not be able to recover from following fragment. So you will have to search manually, as in the good old days...

Can you find all words?
architecture, latch, code, register, component, reset, concurrency, sigasi, description, simulation, entity, end, statement, hardware, signal, synthesis, ieee, timing, inout, vhdl

Y C N E R R U C N O C A
T E S E R A W D R A H L
V S I G A S I G N A L A
H F R E G I S T E R C T
D E S C R I P T I O N C
L N I G N I M I T E O H
A R C H I T E C T U R E
E N D S Y N T H E S I S
T N E N O P M O C T N I
C O D E N T I T Y R O E
S I M U L A T I O N U E
G R S T A T E M E N T E

Did you find which word you can form out of the remaining 11 characters?

Why is GHDL (currently) not good enough?

In my previous post I argued that the world would be a better place if we had a freely available VHDL parser and simulator. Today, I will explain why one particular open source compiler is honorable, but not sufficient.

If you have ever searched for a VHDL simulator, you will surely have found (and perhaps tried) GHDL. GHDL is an open source simulator for VHDL, implemented as a front-end for the popular GCC compiler. While it is the best open source alternative available at the moment, there are some problems with it.

GHDL supports only part of the VHDL language. While it behaves pretty decently for correct VHDL code, erroneous code may cause GHDL to crash without a sensible error message. This leaves the engineer in the cold, not knowing where he should start looking for the mistake he made. In order to improve GHDL to an industrial quality level, we need more developers working on it. Call it a developer community.
GHDL is written in ADA, a language that is hardly used, save by defense contractors. Having ADA as its project language, GHDL may have a hard time attracting code contributors. To its defense, ADA resembles VHDL. So it should be easy for VHDL designers to pick up ADA.

The activity level on the mailing list, the website and the Subversion repository is not exciting. GHDL is basically lead by a single developer, Tristan Gingold, with occasional help from others. I think Tristan has done a great job getting GHDL to where it is now, and I hear he is a very responsive project maintainer. However, it takes more than a project lead to build a community.

Considering its difficulties, I haven't given up on GHDL, but I would not bet my money on it either.

--
Philippe

Also read my next post.

Lacking an open source VHDL simulator

The most important tasks of digital designers is to write VHDL (or Verilog) code and to verify it. The two tools you need for that are: an editor (or rather: an IDE) and a simulator. Editors are available for free and I've discussed IDE's elsewhere. What concerns me is that there are no high quality open source implementations of a VHDL simulator available.

Now, why is that a concern? I think there are two points to be made.

The first reason why we need an open reference implementation, is more important for me as an EDA tool vendor. We need an open VHDL parser and simulator, so that new players can innovate on VHDL technology. Today, any new company that wants to build a new VHDL tool, needs to write or buy their own parser. The price of a VHDL and Verilog parser from the leading provider is in the order of seven-digits. Not a problem for the top three EDA vendors or the two largest FPGA vendors, but the rest of us will think twice before spending that kind of money. Cheaper reusable parsers and open source parsers are just not good enough to build a commercial product. Universities using these parsers spend all their effort building a prototype that will yield interesting papers, but not a product they can spin off.

The second reason is that hardware designers should be able to choose a high quality low cost simulator. This will enable more people to work with VHDL and with FPGA's. I think the best way to deliver this is through an open source model. I think that other, more complex EDA tools, including synthesizers, require too much of an R&D effort to have them available in an open-source model, so let me focus on simulators. Perhaps we can get to synthesis tools in the next decade.

If there is to be more innovation in EDA, we need a freely available parser and simulator for VHDL, Verilog and SystemVerilog. Contrary to FSF dogma, GPL-style licenses will not provide enough freedom for EDA start up companies. These companies will want to sell their software under a proprietary license model. The least we need is LGPL, but BSD-style would be the best.

In my next post, I will talk about a popular, but not quite good enough VHDL simulator.

Let me know what you think in the comments, or on Twitter.

--
Philippe

Also read my next post.

Syndicate content