Breaking News
Blog

Introducing a new high-level synthesis tool called HercuLeS

Clive Maxfield
7/20/2011 02:16 PM EDT

 4 comments   post a comment
NO RATINGS
View Comments: Newest First | Oldest First | Threaded View
nkkav
User Rank
Rookie
re: Introducing a new high-level synthesis tool called HercuLeS
nkkav   7/26/2011 12:42:30 PM
NO RATINGS
Hi teddy_zhai the first set of examples aims in raising awareness of HercuLeS and to provide an early feedback from potential users and interested parties. Large scale examples are indeed useful for comparing HercuLeS QoR against that of other commercial tools. We plan for a subscription scheme that will provide unlimited access through the web interface for commercial users. However, a few large scale examples should be provided with the integration of the first optimizations. Again, a specific example would be meaningful to an individual, but meaningful or uninteresting to another. So, I'll have to think about widely recognizable and appreciated examples (e.g. a jpeg decoder?) Apart that, the web interface to HercuLeS will be released in October 2011 for a much more direct, hands-on experience. I believe that HercuLeS has potential advantages against competition: 1) Its price will be highly competitive. I don't want to fix it right now, but we intend in making a difference there. 2) HercuLeS technology allows us to separate infrastructure from add-ons (e.g. optimizations). This is very useful in order to separate highly-demanding users from "good-enough" users that are at the stage of prototyping their ideas. 3) The HercuLeS approach opens new doors to neglected users, developing their algorithmic specifications in something else than C++/SystemC. That does not mean that we do not identify C++/SystemC developers as a potential target group. This is currently under investigation. 4) HercuLeS aims in removing burden from the users by providing a seamless flow and -- ultimately -- a code restructuring infrastructure for hardware-friendly canonicalization of the users' input. The interaction of a (predominantly software-oriented) user should be kept to a minimum. This is key to the success of the HercuLeS flow. Hope that these points clarify things a bit! Best regards Nikolaos Kavvadias

teddy_zhai
User Rank
Rookie
re: Introducing a new high-level synthesis tool called HercuLeS
teddy_zhai   7/26/2011 12:01:05 PM
NO RATINGS
As an AutoESL user, it is not very clear to me what I can benefit from this technology. I think larger scale examples and improvements need to be provided.

nkkav
User Rank
Rookie
re: Introducing a new high-level synthesis tool called HercuLeS
nkkav   7/22/2011 6:14:43 PM
NO RATINGS
Dear Mr. Bailey thank you for your insightful answer. You are right: this mindset might be common to people that come from an academic discipline. I didn't notice it at the beginning; maybe there is more focus on low-level information and internals than actually needed! About QoR: Indeed, this is the top priority and aim for any newcomer in this market, and it is for us also. Since know we have a lot of the infrastructure completed, it is time to incorporate optimizations. Quite a few of them are ready; what is nice about the infrastructure is that optimizations can be provided as add-ons. HercuLeS is an HLS tool that has been designed from the start for adaptability to different frontends (as you correctly identify it). It is able to synthesize not only standalone blocks (if i get this correctly, a block could be equivalent to a high-level language procedure?) but entire translation units. There are certainly some limitations (e.g. visibility of globals) that can be overcome and I will deal with them in the next months. At this point (almost no optimizations integrated) HercuLeS is compared to some other open HLS tools (http://www.nkavvadias.com/hercules/hlstool_pres.pdf). Some of these tools have better optimizers than frontends. Most of these tools lack decent frontend capabilities and thus some of the test applications can only be processed by HercuLeS. In the next 6 months I will be adding some of the missing optimizations that are now under test. Also, the new set of benchmarks includes an example of automatically interfacing two blocks in a single design. It is the sieve design of the C-to-VHDL flow, where the sieve procedure calls isqrt. So, I would say that there is a way to low-level interfacing. In this way, a single hardwired processor can be generated from C specifications. For an interfacing level accounting for programmability there remain things to be done. Best regards Nikolaos Kavvadias

BrianBailey
User Rank
Blogger
re: Introducing a new high-level synthesis tool called HercuLeS
BrianBailey   7/20/2011 3:44:42 PM
NO RATINGS
I think this demonstrates a key thing that academic researchers have to understand - when you enter the commercial market, we don't really care how you do something, we care about what you do. We don't care about how many lines of code it is, we care about quality of results. What I get out of this is that they have a C to RTL tool. It uses a common intermediate low-level code representation that makes it amenable to putting other front-end languages on, such as Python. It is probably targeted at the block level since I don't see anything about interfaces mentioned. Would love to learn more as they get closer to product release.

Radio
NEXT UPCOMING BROADCAST
How to Cope with a Burpy Comet
October 17, 2pm EDT Friday
EE Times Editorial Director Karen Field interviews Andrea Accomazzo, Flight Director for the Rosetta Spacecraft.
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