When we talk to prospective high-level synthesis (HLS) customers, one of the slides we show is a pie chart that breaks down the types of production designs (that we are aware of) for which customers have used C-to-Silicon Compiler. The current snapshot looks like this:
Then we overlay this breakdown:
The "primarily datapath" designs have varying amounts of control logic in them, the "primarily control" designs have some datapath content, and the "mixed" designs have a more balanced mixture. If we had more intimate knowledge of each design (and if my PowerPoint skills were better!), we would represent this as a spectrum rather than distinct pie pieces.
But the first reaction from a lot of folks that see this for the first time is "...so this tool is really more for datapath designs".
Our first reaction is "no, we are very proud of the amount of control logic that is being synthesized with C-to-Silicon!" The early HLS tools could not handle control logic at all, which made it difficult to adopt for production usage. C-to-Silicon was designed from the start to be able to handle any mixture of control and datapath - it can handle this because it utilizes RTL Compiler synthesis to characterize the timing/area/power of logic in the context of the design. So in the early days, we had to overcome this impression of HLS as a datapath-only specialist.
But upon further reflection, getting this reaction is also a good sign. It means we are talking to more folks that don't have this preconception ande are, thus, probably looking into HLS for the first time. So we need to change the way we talk about it and explain ourselves a little more. We are all learning as HLS ramps up the adoption curve for production hardware design.
In the meantime, you can check out some of our public examples of customers using C-to-Silicon for control-dominated designs:
Fujitsu Semiconductor's data access controller
Freescale's antenna interface controller
ITRI's NAND flash controller