datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Product Review

C-to-FPGA integration gives prototyping 10X boost!

Clive Maxfield
9/3/2010 3:11 PM EDT

Comment


Brian at Impulse

9/10/2010 1:53 PM EDT

Hi ChakC,
Disclosure - I am from Impulse.
C to HDL selection kinda ...

More...



Brian at Impulse

9/10/2010 1:45 PM EDT

Hi Dr. DSP. Disclosure -- I am from Impulse. OK, we are old dogs and previously ...

More...

I just heard that the folks at Stone Ridge Technology have integrated their mega-cool FPGA board and development kit with the popular Impulse C toolset from Impulse Accelerated Technologies.

The integration enables software developers to write HLL (high level language) algorithms that rapidly compile to optimized RTL (run time language) targeting Stone Ridge’s RDX-11 FPGA board and development kit. They say that, for designs with significant non-sequential logic, the speed improvements can be 10 – 100x. Also that, compared to hand coded RTL methodologies, the design entry can take two thirds the time and iterations one eighth the time ("Cool Beans," as we French say :-)

According to recent research, up to 1/3 of design teams are considering using an HLL to develop applications for hardware. The most common languages mentioned are C-based. The reasons given are time to prototype, plentiful existing intellectual property, and the fact that the increasing gate count of modern FPGAs makes manual design methods too slow for populating entire systems on a chip. Users from NASA to Wall Street are deploying HLL programmed FPGAs for applications such as image capture and financial feed processing.

Applications currently in use at Stone Ridge using ImpulseC center around high-speed feeds of data, images or signals. The integration to the new RDX development kit brings to reconfigurable computing C programmable cutting-edge FPGA technology with high bandwidth and ample memory to achieve maximum processing power. Specifically regarding accelerated network processing, Stone Ridge boards work with Impulse C to enable software developers to move critical path network interface processes to hardware, where they run faster in multiple streams without the overhead of an operating system.


This integration provides C based links to hardware features and busses on the FPGA and RDX-11 board such that software developers can accelerate on the board without writing hardware controllers. Processes run as custom streaming cores in dedicated FPGA hardware without an operating system, to maximize throughput and reduce power consumption. Packet data integrity is increased when compared to microprocessor based single- or dual-stream solutions.

"Many of our customers were interested in C-based tools. Impulse is a natural choice because of its broad based adoption across many industries and its place in the market." commented Vincent Natoli, President of Stone Ridge Technology; he continued "We think the option of C-based algorithm development via Impulse’s products will open the door to high performance reconfigurable computing on FPGAs to many groups not trained in HDL’s. Network processing solutions in particular, which we’ve investigated in some detail, will benefit from ANSI-C configurable hardware accelerated solutions that can shave off 10’s of microseconds of latency and deliver improved robustness under load."

The Stone Ridge/Impulse collaboration is an example of hardware/software co-design where the computational resources are optimized for the software problem being addressed. System teams can contact Stone Ridge and Impulse to evaluate this high-throughput, high-data integrity solution for their specific applications.

Developers can purchase Impulse C or Stone Ridge boards from the respective manufacturers. Also, Impulse and Stone Ridge have preconfigured systems available that include all the hardware and software a development team will need to create a first application and connect it up to a datastream. Systems come with 8 hours of remote training and the option of having algorithms professionally refactored for multi-streaming parallelism. On-site training and installation are available.




Dr DSP

9/4/2010 2:13 PM EDT

C does seem to work well for compute intensive applications. How does it do on simple data paths and state machines? Should work well there too, but I don;t see much of a shift to C for these 'traditional' designs. I guess the experienced Verilog coder isn't interested in moving to a new language until there is a clear advantage...

Sign in to Reply



eewiz

9/5/2010 11:20 PM EDT

"I guess the experienced Verilog coder isn't interested in moving to a new language until there is a clear advantage..." Exactly. In addition there is atleast 5 variations of C language and SystemVerilog which hope to replace Verilog and havent gain much traction except in the verification space.

Sign in to Reply



Max the Magnificent

9/10/2010 11:57 AM EDT

Hi Dr DSP -- I'm not sure as to how well C works for simple data paths and state machines -- I'll ask the folks at Impulse to comment on that.

Sign in to Reply



Brian at Impulse

9/10/2010 1:45 PM EDT

Hi Dr. DSP. Disclosure -- I am from Impulse. OK, we are old dogs and previously were part of the original ABEL team. The dialog re languages is reminiscent of the Assembly vs. HDL arguments of the 80's. Well coded assembly was better than HDL in the same way well coded VHDL (or Verilog) is going to beat machine generated code. We embrace that and highly recommend a mixed design methodology. Impulse C outputs synthesizable VHDL or Verilog as an intermediate file format to pass to place & route. Many of our users pull key portions of the HDL back out and hand optimize it. There is no one answer to design language. Use C for rapid prototyping, algorithmic design or infrastructure. Use HDL for static or mature code areas. We strongly feel solutions should be open and inclusive. Thanks for your comments.

Sign in to Reply



ChakC

9/5/2010 9:15 AM EDT

There are so many C-to-HDL compiler / languages existing in the market. Can anyone tell me if Impulse-C is the best one in the market nowadays?

Sign in to Reply



Max the Magnificent

9/10/2010 12:01 PM EDT

The trouble with this is that (a) it's very subjective and (b) it depends on what you are trying to do. A big differentiator with Impulse is that you can profile your C code, then select the time-hogging functions to be implemented in an FPGA, and the system automatically partitions everything, converts the functions you've selected into RTL, synthesized them and loads them in the FPGA, compiles the remaining C, and adds all of the hooks required to link the software to the stuff in the FPGA. Pretty Cool!

Sign in to Reply



Brian at Impulse

9/10/2010 1:53 PM EDT

Hi ChakC,
Disclosure - I am from Impulse.
C to HDL selection kinda depends on a) your existing IP and tools and b) what hardware you are selecting. There are some good products in the area but you might consider if you are going to target FPGA, FPGA enabled boards or ultimately ASIC. Compatibility with these considerations is critical. I'd recommend you white board out your flow: what IP you are starting with, what other tools you already use and what your final hardware target is. You might find that there are only one or two products that are actually compatible with your needs. Most of us will give you a free license for 30 - 90 days to play with it and ensure compatibility with your existing tools and target hw flow.

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Browse the technical library
Our technical library houses over 4,000 high-quality sponsored white papers, application notes, reference guides, use cases—all organized by company.