High Level Synthesis Exposed

About a week ago I got my very own copy of the "High-Level Synthesis Blue Book" written by Michael Fingeroff of Mentor Graphics. My first impression was surprise. This is not a marketing book, this is a serious engineering book, even if Chapter 1 by Thomas Bollaert is a marketing introduction to the topic.

If I had to capture in one sentence what I think of the book I would say: if you are considering using High-Level synthesis, if you are using High-Level synthesis, if you think you know High-Level synthesis, read the book.

The beauty of the book is the high concentration of code examples. As every programmer knows, and every designer will shortly learn, coding style is important. A high level programming language, like C++ has similarity with a human spoken language in the sense that its semantics have a much wider range that say Verilog. When you combine this with the fact that High-Level synthesis tools are still maturing, you get that the coding style significantly impacts the results of the synthesis.

So, when a designer writes something in C++ and the synthesis results are not what he or she expected, it is very time consuming trying to find the problem. This is because the C++ code seems to make sense, the simulation gives the expected results, and yet the downstream netlist is either not optimal or even incorrect. The Blue Book spends a lot of time addressing problems of this kind, and this is its greatest asset.

The organization of the book is such that you do not have to read it sequentially either. If you already are using a High-Level synthesis tool, and happen to, for example, need to design a digital filter, then read Chapter 10.

Buy the book, it will save you hours of debugging time. In fact ask your company to buy the book. It will save them thousand of dollars of engineering time. It is available from Amazon.com.