Mentor Blogs

Posts tagged with 'ANSI C++'

HLS Fundamentals / Part 2

Posted Apr 25, 2011, by Thomas Bollaert

In my last two posts, I introduced the question that proved the most challenging in the HLS Bluebook quiz (here) and presented some fundamental concepts about loop unrolling and loop pipelining and explained why answer 2 was not the right one (here). Let’s now see what happens in the case of answer 1, when we unroll LOOP0 by 4 and pipeline the design with II=1. Partially unrolling by 4 means … Read More

Tags: High-Level Synthesis, Unrolling, Bluebook, C synthesis, HLS, ANSI C++, Loop, Pipelining, How-to, Learning

A Designer’s Perspective on ESL Methodologies for an OFDM Modem Design

Posted Apr 5, 2011, by Thomas Bollaert

“In recent times, ESL design methodologies have been the talk of the semiconductor design community and have found increasing acceptance. Most of the recent publications have given information on design flow needs and an high level overview of the (C/C++/SystemC) based high level synthesis design process using a small block level design scenario. Although productivity benefits for ESL methodologies … Read More

Tags: RTL, OFDM, STMicroelectronics, C synthesis, Catapult C, ANSI C++, User Testimonial, FFT, Full-Chip, High-Level Synthesis, Control-Logic Synthesis, DesignCon

Application-specific approaches to ESL

Posted Feb 16, 2010, by Thomas Bollaert

Different design types generate different challenges and trigger different modeling and specification needs. SystemC is C++ class library which, most notably, adds support for timing and concurrency, two features not available from ANSI C++. When it comes to describing actual hardware, these are two critical aspects which must be taken in account through modeling and simulation. But at the specification … Read More

Tags: ANSI C++, SystemC

Synthesizing parallel designs from sequential C++ - part 3

Posted Aug 9, 2009, by Thomas Bollaert

A couple of weeks ago, I started explaining how sequential C++ could be parallelized to produce high-performance concurrent hardware. In the first two posts (part 1 and part2) I developed the notions of resource bottlenecks and spatial parallelism; in this third post we will explain the notion temporal parallelism. This concept is essential as it allows parallelizing data dependant operations - a case … Read More

Tags: High-Level Synthesis, ANSI C++