Breaking News
Design How-To

The war is over: C++ and SystemC coexist in a single flow

NO RATINGS
1 saves
Page 1 / 6 Next >
More Related Links
View Comments: Threaded | Newest First | Oldest First
DKC
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
DKC   12/16/2010 8:35:30 AM
NO RATINGS
What war? SystemC is just a C++ class library. It would pretty lame not to be able to have them coexist. How about analog and power? When will we see - "The wait is over: C++ and Spice coexist in a single flow"?

cfelton_emb
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
cfelton_emb   2/16/2011 10:33:16 PM
NO RATINGS
Python and spice coexist in a single language.

stevekuznicki
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
stevekuznicki   12/16/2010 2:22:18 PM
NO RATINGS
DKC - yes, i was a bit perplexed by the title as well. Multiple HLS technologies should co-exist in a single work-flow, not only these. It is really in what application you are designing for and what VnV activities are required- which can really impact the quality of the product and TTM.

jskull
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
jskull   12/23/2010 9:12:52 AM
NO RATINGS
Why is the example given for these HLS tools always a trivial datapath block such as an FIR filter? It gives the impression, rightly or wrongly, that the tools are only good for simple pipelines. I am not losing sleep over those sorts of designs.

Rishiyur.Nikhil
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
Rishiyur.Nikhil   1/18/2011 10:57:00 PM
NO RATINGS
"... but it has been proven that it is easy to extract parallelism from sequential sources." This will come as news to everyone in the High Performance Computing community, who have been attempting to do this unsuccessfully for over 40 years. It will also be news to the authors of the numerous textbooks on parallel algorithms (if extracting parallelism was easy, why would we need them?) Sam Fuller (CTO Analog Devices) and co-author Lynette Millett have the opposite opinion: "Experience has shown that parallelizing sequential code or highly sequential algorithms effectively is exceedingly difficult in general." in their article "Computing Performance: Game Over or Next Level", IEEE Computer, January 2011, pp. 31-38, reporting on the NSF-sponsored study by the Computer Science and Telecommunications Board of the US National Academy of Sciences.

Jack.Erickson
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
Jack.Erickson   1/24/2011 2:35:26 PM
NO RATINGS
This article shows that SystemC is required to do any real design. Since SystemC is a class lib of C++, thus a superset, and since SystemC processes can contain pure untimed C++ code, shouldn’t the article be titled: “SystemC is the language of ESL”. Also why does the article avoid the very popular TLM standard which enables easy separation of the interface from the computation and yields large simulation speedups (instead of inserting an RTL interface from a library)? For those interested in how to do production design with SystemC, there's an archived EETimes webinar by Mark Warren aptly titled "Practical application of high-level synthesis in SoC designs".

mr88cet
User Rank
Rookie
re: The war is over: C++ and SystemC coexist in a single flow
mr88cet   2/17/2011 6:05:55 PM
NO RATINGS
Maybe this example might help clear up some of the "huh?!" discussion: Your task is to HLS a block that crunches data in a certain way, and is interfaced into a certain system environment. For the crunching part, you want to use the HLS tool to help you examine lots of microarchitectures, meaning implementation possibilities (various data widths, depths of pipelining, etc.). You may even want to create two or three different implementations at different price/performance points, but the tool must create the RTL for all of those different implementations. You only change a few microarchitectural parameters, pipeline-depth, for example, push a button and out pops radically different RTL. In the meantime, however, there are interfaces to the world around that algorithmic portion that absolutely must proceed according to a very exact, and possibly intricate, timing definition. You have to ensure that those timing concerns are never violated. It's possible, for example, that a certain implementation of that algorithmic logic will not be able to process the data quickly enough to satisfy the data rates of the interface. If that's the case, we want the HLS tool, not the designer, to limit the available choices of microarchitectures so that the bandwidth requirements of the interface will never be violated.

August Cartoon Caption Winner!
August Cartoon Caption Winner!
"All the King's horses and all the KIng's men gave up on Humpty, so they handed the problem off to Engineering."
5 comments
Top Comments of the Week
Like Us on Facebook

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
EE Times on Twitter
EE Times Twitter Feed
Flash Poll
Radio
LATEST ARCHIVED BROADCAST
David Patterson, known for his pioneering research that led to RAID, clusters and more, is part of a team at UC Berkeley that recently made its RISC-V processor architecture an open source hardware offering. We talk with Patterson and one of his colleagues behind the effort about the opportunities they see, what new kinds of designs they hope to enable and what it means for today’s commercial processor giants such as Intel, ARM and Imagination Technologies.