Jan on HDL Design

The personal view of Jan Decaluwe on HDL design. Relevant for the future, but aware of the past.

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

The biggest EDA innovations that did not happen

In my previous blog post, I concluded that RTL synthesis was the latest of the all-time most important EDA innovations. Although it is more than 20 years old, nothing with a similar impact has happened since.

It's not that there was a lack of candidates. In the early nineties, several ideas and technologies seemed to have great potential. Personally, I was eager to repeat my great experience with RTL synthesis. Moreover, my company was basically selling design methodology, so we had a vested interest to stay at the forefront of innovation. Consequently, we were continuously watching out for the next big thing. But it didn't come. So here is my personal anti-list: the biggest EDA innovations that did not happen.

First on my list is Asynchronous Design Synthesis. Asynchronous design refers to design techniques without a global clock. It promises advantages with regard to performance, power consumption and design security, but it is inherently more complicated than synchronous design.

Then comes Formal Verification. Formal verification refers to the use of mathematical proof to verify the correctness of a design. When it works, it is superior to simulation, because it provides a 100% guarantee.

Last but not least we have Behavioral Synthesis. This is a technique whereby one starts from an algorithmic description, and where a synthesis tool allocates hardware resources and assigns operations to clock cycles.

Let me be clear about my position. I certainly don't want to suggest that there hasn't been any progress in the listed domains. Quite the contrary. There are now EDA tools that support a systematic methodology for asynchronous design. Formal verification tools are being employed successfully for certain well-defined tasks in the design flow. And behavioral synthesis is moving into the spotlight with the new wave of C-based high level synthesis tools.

What I am saying is that these tools have not fundamentally changed the way in which the majority of design engineers work. The mainstream paradigm for digital circuitry and EDA is still synchronous design. To verify the functionality of complex designs, we are still using good old simulation, not formal verification. And behavioral synthesis hasn't replaced RTL synthesis as the principal synthesis technique in mainstream design flows.

In summary, none of these tools has revolutionized the industry in the way RTL synthesis did.

The latest EDA innovation: logic synthesis!

A few months ago Richard Goering blogged about the 5 greatest moments in EDA innovation. Here is the list: Spice, Verilog, Multi-level logic synthesis, Automated IC layout and Structured VLSI design.

I would make some minor edits to the list. Instead of Verilog, I would nominate VHDL and Verilog, because I believe we have at least as much to thank to VHDL as to Verilog. Instead of multi-level logic synthesis, I would list RTL synthesis, because that has been the standard for digital design standard during the last 20 years. It builds on logic synthesis by adding the concept of synthesizing from clocked hardware descriptions written in a hardware description language.

On a sidenote, it's kind of funny that Mr. Goering mentions a lot of synthesis technology contributors, but not Synopsys, the company that made it all happen. But OK, that's Cadence company policy I guess.

Overall, I agree with the list. Its most remarkable feature is that all these great innovations are quite old. By 1985, the year I graduated as an engineer, the fundamental research and development for all of them had been done. By 1990, the year I became a hardware designer for real, all were well-established solutions. In fact, if the list would have been compiled 15 years ago, I think it would have been exactly the same.

The youngest of these innovations is logic synthesis. This confirms my experience that it was a one-of-a-kind innovation, as I testified in a previous blog post. However, it also means that nothing as great has happened in EDA during my career as a digital hardware designer.

That is certainly not what I expected on my graduation day. Back in 1985, there was a feeling of great enthusiasm about digital VLSI design and about EDA as its prime enabler. It looked like a vast unexplored field with lots of exciting innovations waiting to happen. It's quite a shock to realize that the greatest moments were in fact already behind us.

Academic frustration

In my previous blog post, I told you that back in 1990 I got pretty excited about my first experiments with Synopsys Design Compiler.

To understand my excitement better, let me explain where I was coming from. After I graduated in 1985, I had worked for 2.5 years at the brand new IMEC institute in Leuven, Belgium. I was part of a team that did research on behavioral synthesis, in a project called the Cathedral silicon compiler. I remember well how we thought about the state of the field. Logic synthesis was considered a solved problem. The next big thing was "obviously" going to be behavioral synthesis. However, this is a very complex problem. Therefore (so the argument went) you have to choose a particular application domain to make it tractable. In our case, the application domain was DSP.

There were several clever people in the team doing clever things. But I remember that I often got a feeling of dissatisfaction. The choice of an application domain seemed artificial and arbitrary. Moreover, our behavioral synthesis tool needed a lot of manual steering through so-called "pragma's". As a result, it often seemed that the tool was not just restricted to an application domain, but to a single example.

Synopsys Design Compiler was a totally different kind of tool. It didn't need to know about the application domain: you could use it for just about any kind of digital design. Moreover, it came up with a good solution by default: pragma's and settings were only required to further optimize an already good solution. I felt relieved: this was silicon compilation according to my taste!

I can hear the critique already. What's the point in comparing a research project on behavioral synthesis to a commercial tool that surely works at a much lower level? Isn't this comparing apples to oranges? Well, I have a lot more to say about that, but I'll leave it for future posts. But in some sense the critique is definitely valid. As a result, my main conclusion out of this experience was that I'm probably not suited for an academic career. I didn't realize it at the time, but what I missed was a direct link to industry and customers.

I guess I always felt more at ease in the bazaar than in the cathedral.

Synthesis was my first love

In my previous blog post I mentioned that when I first met VHDL, it wasn't love at first sight. However, I did experience love at first sight with another hardware design technology: synthesis.

It was early 1990, and I had just started as a hardware designer at Alcatel. My very first assignment was an evaluation of a new tool called Synopsys Design Compiler. Within a few days after I got my hands on it, I was hooked. This was a tool that could convert a non-trivial hardware description "program" into an efficient implementation. I felt that I had discovered the missing link in the vision that hardware design is a kind of software development.

I remember that I tried out one Verilog example after another on the tool. Each time I thought: "it won't be able to handle this one". Yet each time the tool surprized me as it came back with a correct, efficient implementation. And on every occasion, my conviction grew that this was "it". I just "knew" that this tool was going to revolutionize the industry. I have been wrong with many predictions, but with this one I have been absolutely right.

Experimenting with Synopsys Design Compiler was a great experience, a time full of excitement and new insights. Only a few other technologies have made a similar first expression on me. Among them are the Netscape browser and the Python programming language, but Synopsys DC is still my number one. Such an experience does not happen every day, but it may have profound implications. It may change your life.

Synopsys Design Compiler did change my life. Without it, I wouldn't have bothered learning Verilog or VHDL, and I probably would have left the hardware design field a long time ago. Most importantly, I might never have started a company.

A 20-year old relationship

Next year, in 2010, my relationship with VHDL will be 20 years old. It has been a good journey, but I can't say that it was love at first sight.

The first chip I designed while at Alcatel was done with Verilog. I remember that I was quite happy with Verilog. However, at the time (1990) there was this idea that very soon VHDL would take over the whole market. I remember very well how that idea was cultivated by a start-up CAD company called Synopsys.

At a certain point, management decided to switch to VHDL. So I promptly wrote a memo explaining why that decision was wrong, and why Verilog would prosper, using the kind of pro-Verilog arguments that I have been reading over and over again since. I believe that is why I understand the pro-Verilog camp well: I was once part of it.

Over the years my relationship with Verilog deteriorated into a love-hate relationship that eventually ended with a separation with mutual consent. I just had too many bad surprises. I often felt that Verilog was like a nice looking building on very shaky foundations. Therefore, I eventually settled for the solid ground of VHDL's strong typing and delta cycle algorithm.

In retrospect, the pro-Verilog analysis in my memo to management wasn't wrong. Verilog really has prospered, even though the building doesn't look nice anymore because of too many additions from too many architects. However, management's decision to switch to VHDL wasn't wrong either. VHDL has prospered too.

Late 1991, I co-founded a design services company, and we faced the choice between Verilog and VHDL. Our strong point was a methodology based on the vision that I presented in my previous blog post: digital hardware design is a kind of software development. We concluded that VHDL was a better language to support that vision. And in fact, VHDL has kept its promises and things have turned out pretty well. VHDL has been a good choice for us.

Syndicate content