Array
(
    [content] => 
    [params] => Array
        (
            [0] => /forum/index.php?threads/ann-new-high-level-synthesis-tool-hercules.832/
        )

    [addOns] => Array
        (
            [DL6/MLTP] => 13
            [Hampel/TimeZoneDebug] => 1000070
            [SV/ChangePostDate] => 2010200
            [SemiWiki/Newsletter] => 1000010
            [SemiWiki/WPMenu] => 1000010
            [SemiWiki/XPressExtend] => 1000010
            [ThemeHouse/XLink] => 1000970
            [ThemeHouse/XPress] => 1010570
            [XF] => 2021370
            [XFI] => 1050270
        )

    [wordpress] => /var/www/html
)

[ANN] New high-level synthesis tool: HercuLeS

nkkav

New member
I'm pleased to announce a new high-level synthesis tool, HercuLeS, which is just out of its first development cycle. HercuLeS allows you to synthesize ANSI C code (certain rules apply) to RTL VHDL.

HercuLeS is named after the homonymous constellation and not after the demigod.

You can find information on HercuLeS here:
Nikolaos Kavvadias - HercuLeS high-level synthesis tool

A very informative blog post can be found at EETimes: HercuLeS, High-Level Synthesis, HLS, Nikolaos Kavvadias | Introducing a new high-level synthesis tool called HercuLeS

Some of its features:
1. Integer and fixed-point (VHDL-2008) arithmetic of arbitrary lengths
2. It is able to synthesize VHDL from code spanning across several C functions
3. Support for both the Synopsys "de-facto standard" libraries and the official IEEE standard libraries
4. Support of synchronous read ROM and RAM memories (directly mapped to FPGA block RAMs)
5. Functions can pass single-dimensional array arguments
6. Support of streaming outputs (producing a sample at a time)

You can either code your input in ANSI C or in a bit-accurate typed-assembly language called NAC (N-Address Code). Then, your input is converted to a series of CDFGs (Control/Data Flow Graphs), expressed as Graphviz graphs with user-defined attributes, which again are translated to VHDL code adhering to the FSMD (Finite-State Machine with Datapath) paradigm.

I would appreciate if you had a look at the sample files available at the website. They illustrate complete examples of automatically synthesized algorithms such as Bresenham's line drawing algorithm, and the Sieve of Eratosthenes. Overall, eight complete examples can be found at the HercuLeS website.

There will be regular updates on the HercuLeS webpage (every 1-1.5 months). The October update, scheduled for 2011/10/11, will allow access to HercuLeS via a web interface!

But first I would appreciate feedback on whatever related to the HercuLeS webpage.

You can contact me at: nikolaos.kavvadias-at-gmail-dot-com.

Best regards,
Nikolaos Kavvadias
Research Scientist, Hardware developer,
Ph.D., M.Sc., B.Sc.

<script type="text/javascript" src="http://platform.linkedin.com/in.js"></script><script type="in/share" data-counter="right"></script>
 
Last edited by a moderator:
You have lots of competition:

Catapult (Mentor)
Cynthesizer (Forte)
C-to-Silicon Compiler (Cadence)
Synphony C Compiler (Synopsys)
eXCite (YXI)

All the best to your EDA business development.
 
Hi Daniel

at a first glimpse there seems that the ESL/HLS field indeed is crowded.

It looks that there is lots of competition out there.

However, we are confident for our product (well... soon to be product, aiming for an October release of a web interface (with line/char limitation).

We have identified some sweet spots:

1) Users that donnot program in C++/SystemC. TIOBE index shows that C++ is steadily declining.
GCC GIMPLE allows us to target other users such as Python or Go coders.

2) Our technology allows us to adapt from high-QoR to "good-enough" markets.

3) We will offer HercuLeS at a very competitive price and licensing scheme. We believe that some tools are overpriced.

4) Better technology (although this sometimes doesnot matter). For instance, with one day's work I have developed much better fixed-point rounding operators than Simulink HDL Coder. It is a pity but there are much problems with certain development practices out there.

I would love to hear about specific comments on the HercuLeS webpage, the complete examples etc. It would be very helpful!

Best regards
Nikolaos Kavvadias
Research scientist, Hardware developer,
Ph.D, M.Sc., B.Sc.

You have lots of competition:

Catapult (Mentor)
Cynthesizer (Forte)
C-to-Silicon Compiler (Cadence)
Synphony C Compiler (Synopsys)
eXCite (YXI)

All the best to your EDA business development.
 
You have lots of competition:

Catapult (Mentor)
Cynthesizer (Forte)
C-to-Silicon Compiler (Cadence)
Synphony C Compiler (Synopsys)
eXCite (YXI)

All the best to your EDA business development.

jh2.jpg

2.jpg
 
Hi Tammy1949

assuming that you are not just a copying troll, and you have a physical mind and opinion.

If you cared taking look at my EETimes article you would see that the commercial offerings you have re-mentioned are not directly my/ours competition.

[promo]
It's not my fault that i'm one of the best programmers/engineers in the field alive. I rank myself amongst the top-50 HDL engineers worldwide.
[/promo]

Now, letting myself aside and regarding HercuLeS: i think that it is a feat that I have a wonderful little code base of around 30kLOCs. HercuLeS will ALWAYS be manageable by a single person; that is me. No code bloat due to many monkey-coders taking hasty decisions when supervision is yelling above their necks. No crappy OOP languages, etc, etc.

You can always visit HercuLeS web interface and run anything (within 25 low-level statements and frontend limitations) to your heart's content.

It is best for you to provide some constructive criticism...

Best regards,
Nikolaos Kavvadias


You have lots of competition:

Catapult (Mentor)
Cynthesizer (Forte)
C-to-Silicon Compiler (Cadence)
Synphony C Compiler (Synopsys)
eXCite (YXI)

All the best to your EDA business development.

jh2.jpg

2.jpg

 
Nikolaos,

I really like the idea of letting engineers try out your synthesis tool using a web interface.

Can you share how many visitors you've had use the HercuLeS web interface?

Just curious.

Daniel
 
Hi Daniel

thank you for your interest/curiosity.

These last 5-6 days, I've had about 30 attempts of web interface usage. Unfortunately most people wouldn't identify themselves via their emails in order to receive results (and they didn't get any). It is intentional from my side that a user should provide a valid email address to receive them. Until now 8 unique visitors have identified themselves.

Another interesting thing is that most of them (with two exceptions) just ran the default example (factorial: fact), although about 20 more examples have been available in small-examples.zip (visible from the same page). Only one user provided his/her own example.

Unfortunately (or fortunately) I have 4-day business trips these last weeks (every week!) so I can't settle down and give this early attempt better promo support. Hopefully, this will change in about 10 days or so.

Best regards
Nikolaos Kavvadias
 
Nikolaos,

Thanks for the update. I agree that users should leave an email to identify themselves in exchange for using a new tool.

Are there any standard high-level regression suites that you can run to show your results and then share with us?
 
Hi Daniel

thanks for the heads-up regarding benchmark/test suites. I have eyed CHStone and a couple of other serious suites that regularly pop-up when comparing HLS tools. These last few weeks I have been running tests against small suites from some other tools.

Regarding my prototype C frontend, it is currently based on GCC GIMPLE dumps, which tend to be incomplete descriptions of the source program (some observations are collected here: Notes on GIMPLE representation and code generation). At some point, GIMPLE will be standardized within GCC.
A more complete proprietary C frontend targeting my NAC IR is in progress by a fellow developer (our legal scheme is currently being under founding since 2011/11/02). So it would be more meaningful to evaluate CHStone or something similar using this frontend.

I'm always open to suggestions regarding interesting applications and suites. In any case, I'm going to post updated comparative synthesis reports towards the end of the year. It is very important to us, getting user feedback via the web interface, in order to take the next step.

I'm having another trip starting within a few hours. I will be able to reply to you in a little more than 12 hours or so.

Best regards,
Nikolaos Kavvadias
 
Back
Top