Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Brian Durwood

It Ain't the Tool: It's the Coder

Brian Durwood
aj1s
aj1s
2/17/2013 2:21:03 PM
User Rank
Guru
Why not "high level" HDL?
My biggest complaint with most HLS tools is that they don't accept HDL, written at the same high a level of abstraction, untimed, as C or C++, as input.

Several years ago, my company bought Catapult-C, an HLS tool that accepts C/C++. While it was very cabable, I kept wondering why it would not accept an untimed algorithm written in language like Ada or VHDL.

To my knowledge, no HLS tool accepts untimed Ada, VHDL or Verilog/SV. (Please correct me if I'm wrong.)

At least Ada, VHDL and SV can be used to describe untimed behavior at just as high a level of abstraction as C++ or C, and at least Ada & VHDL also have a lot of other features not available in C/C++.

Some RTL synthesis tools have "HLS" features like retiming and pipelining, so many RTL developers are already familiar with these concepts. The leap to HLS would be easier for them if they could still code in VHDL, and move between RTL and HLS at will, in the same language, while keeping the advantages of strong typing, runtime bounds checking, etc. After all, it's not like they are going to execute an entire FPGA design in C, so if there is one language they can use for their entire design, it will be an HDL. 

By focusing on transforming only C/C++ into RTL, HLS vendors are ignoring a big chunk of their potential market.

Andy

 

100%
0%
Brian Durwood
Brian Durwood
2/17/2013 12:10:11 PM
User Rank
Blogger
Re: Most certainly
I actually strongly agree with Duane. I think many of the tools, by necessity of following ever growing FPGAs, have grown complex. I can excuse us tool makers because the modern FPGAs are hosting entire systems on chip these days.... but it's still the job of the tool makers to have  it be easy. And we're not doing a great job of that.

50%
50%
Duane Benson
Duane Benson
2/17/2013 3:04:31 AM
User Rank
Blogger
Most certainly
I've heard may people calling out a compiler bug, but I'm not sure any one of those have remained "a compiler error" by the time all of the debugging was done.

Now, unfamiliarity with a tool is a different story. Some are much easier to learn than others. If it's a very difficult tool to master, is that the tool or really just the coder whom will soon learn it well enough to not be the problem anymore?

50%
50%
shakeeb
shakeeb
2/16/2013 5:45:30 AM
User Rank
Beginner
Re
A great article, as you said "It Ain't the Tool: It's the Coder".  

50%
50%
More Blogs from Brian Durwood
Freemium software marketing shows some weaknesses in the traditional EDA/ESL model of evangelizing tools to move software to FPGA.
A new award has been launched for budding engineering students who are savvy on hardware, software, and solutions-level thinking.
I expect that development times will continue to diminish, average engineers will use the tools without manuals, and that when anyone gets stuck on a project they will call in an expert.
An open-source solution would mean much more device independent designs, more fun for engineers, and quicker evolution for products.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS