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

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.

[Announce] Jan on HDL Design

I met Hendrik and Philippe, Sigasi's founders, for the first time in early 2008. They explained their plans and showed me a prototype of their IDE for VHDL. That prototype has since evolved into the product you all know and love: Sigasi HDT.

I was intrigued. We had a few more meetings, and I decided to join them in their efforts to get the company off the ground. My main motivation: the idea behind Sigasi HDT coincides completely with my own vision on hardware design.

For their PhD work Hendrik and Philippe had been doing both software and hardware development. For software, they used modern methodologies and tools, such as an Eclipse-based Java IDE. They found that sophisticated features such as intelligent autocompletion and automated refactorings improved productivity and code quality significantly.

Naturally, they looked for something similar for hardware development. However, to their suprise, they found nothing that came even close. Out of this frustration grew the idea for a tool that would make the most modern software development techniques available to the hardware designer. That was the origin of Sigasi HDT.

My own career has been guided by the vision that digital hardware design can be viewed as a kind of software development. That explains why I am so excited about Sigasi HDT. However, even today, almost 20 years after I subscribed to this vision, I hesitate to write it down. It is still often met with scepticism. For example, it is still often asserted that "one shouldn't write HDL code like a software engineer". However, I believe the sceptics have it wrong. They misunderstand how a good software engineer actually thinks and works.

Today, I am announcing a blog about my personal views on HDL design. I believe they are relevant for the future, but I will talk frequently about the past. Insight in the past is very helpful to understand the issues, especially for younger engineers. If you are interested, you can easily follow my contributions on this page or via an RSS feed.

Syndicate content