46th DAC / STMicroelectronics designs a Frequency Domain Processor out of pure C++
A couple of hours after Hitachi Telecom’s inspiring presentation on a 2 million gate enhanced Forward-Error Correcting (FEC) system designed with Catapult C, Nitin Chawla of STMicroelectronics gave extensive details on his experience with C synthesis for complex signal processing applications.
- Differentiating the high-level synthesis input languages
Chawla opened his talk by comparing the merits of the various languages available for high-level synthesis. C, C++ and SystemC are often bundled together as if they all were the same. The truth is that these languages, despite their common DNA, are very different. The language choice will actually have big consequences. According to Nitin Chawla, “structural languages restrict implementations to few solutions in close proximity” as they embedded architectural details embedded in the source. Restricted ANSI C on the other hand doesn’t hardcode the structural details, but without support for classes and object oriented programming, reuse is limited, coding style is complicated and the bit-accurate modeling and numerical refinement is made more difficult. Nitin Chawla views pure ANSI C++ as “extremely compact, allowing object oriented hardware reuse and enabling optimization through interactive constraints”; in short, the right language for high-level synthesis.
-
1GSamples/sec Frequency Domain Processor from pure C++
The design presented was a frequency domain processor with real time 1GSamples/sec interfaces. While the algorithmic nature of the application is obvious, the design also involved sophisticated control to manage “interleaved processing”. Chawla explained how the entire system was modeled in pure C++, providing details on how the above mentioned control was also described and synthesized.

STMicroelectronics: a 1GSamples/sec Frequency Domain Processor
The complexity of the system, including its 2048-point FFTs is simply mind-boggling. The ability of explore both the architectural and the algorithmic design space with a C-based methodology proved to be an absolute must for the project’s success.
- Linking C Synthesis and Physical Design
This was confirmed in the later phases of the project when physical design started. Chawla pointed that “in ASIC technologies of 65nm and below path delays are wire dominated”. His design, like most signal processing applications, use a lot of compiler generated memory cuts. At the system-level, memory architecture choices tend to be made on the simple basis of bandwidth and ports. But, continued Chawla, “memory cuts create routing blockages and wire detours”. Using the C synthesis flow, different memory architectures could be easily produced, and a multi-bank memory solution could quickly be found to reduce routing congestions.
-
A “production-worthy” solution
In his conclusion, Nitin Chawla was very affirmative of the benefits and the maturity of C synthesis solution such as Catapult C. C synthesis provides increased productivity, more flexibility as well as better quality of results. And to quote Chawla one last time: “C synthesis can successfully build production worthy multi million gate complex application engines from untimed C/C++ algorithmic models”.
More Blog Posts
Add Your Comment
About Thomas Bollaert’s Blog
High-Level Synthesis is entering the mainstream of hardware design, bringing tremendous opportunities and creating stimulating new challenges to hardware designers. This blog is about trends, opinions and experiences with going from C++ to RTL, automatically.
Latest Posts
- Mentor ESL in TSMC Reference Flow 12
- 48th DAC – Gary’s Magic Formula
- DAC: 9th ESL Symposium
- HLS Fundamentals / Part 2
- HLS Fundamentals: Loop Unrolling and Loop Pipelining
- HLS Contest: And the winner is…
Comments (↓ Add Your Own)
3 comments on this post
Commented on July 30, 2009 at 12:36 am
By 46th DAC / Hitachi reports 8 tape-outs with Catapult C « Thomas Bollaert’s Blog
[...] in the day, STmicroelectronics would confirm Hitachi’s findings in a captivating testimonial on designing complex systems using C [...]
Commented on October 2, 2009 at 7:34 pm
By Beyond the crystal ball, a C synthesis reality check « Thomas Bollaert’s Blog
[...] surge in testimonials on public forums – such as John Cooley’s Deepchip – or at the recent Design Automation Conference should be interpreted as a clear indication of the proliferation of C [...]
Commented on June 8, 2010 at 2:35 pm
By Dropping RTL for C++, from Finland to India « Thomas Bollaert’s Blog
[...] trying to provide, amongst others, regular updates on customer case studies – for instance here, here or [...]