"There is some self-interest behind every friendship. There is no Friendship without self-interests. This is a bitter truth." Chanakya (Indian politician, strategist and writer, 350 BC -275 BC)
 

Main Menu

Home
Articles
SVTechie Blog
Links
Download
Discussion Forum
Photo Gallery
Quick Bites
FAQs

Login






Lost Password?
No account yet? Register

Statistics

We have 7 guests online

SVTechie Recommends


powered_by.png, 1 kB

Text Links


Home arrow SVTechie Blog arrow High Level Synthesis Resources
High Level Synthesis Tools: A Designer's Perspective PDF Print E-mail
Written by SVTechie   
Wednesday, 28 June 2006

In Designs: A HLS Perspective, Design requirements are presented and categorized based on High level Synthesis tool perspective. How those requirements are met, was not discussed in the article.

To meet the requirements outlined in Designs: A HLS Perspective, high level synthesis tools have to employ few techniques. These techniques may be employed in a manner that these  are transparent to designers or may create usability issues and add to learning curve.

For example, A command or extension need to be added to existing language like ANSI-C to determine the width of data path. Now it can be achieved in following different ways

  • Method A: A 'special' type keyword added to ANSI C. Existing ANSI-C Code is modified for each data type.
  • Method B: A 'special' type keyword added to ANSI C. Existing ANSI-C Code modification is required for only input & output data types. All other internal data types are automatically extracted.
  • Method C: A constraint command is defined which can be added to ANSI C Code 'inline style' or can be specified in constraints file. All other internal data types are automatically extracted.

Method 'C' doesn't necessiate need of two separate files, one as golden reference and other as 'hardware' version and according to me, Method C is the best option. What do you think? Please vote.

According to you, which method is best?
 
 
 


Which Method is Best?
According to you, which method is best?
   Method 'B'
26.67%
   Method 'A'
33.33%
   Method 'C'
40%

Number of Voters  : 9

Similar to data path synthesis, special timing constructs are needed to implement bus interface in ANSI C. Issue is that once these constructs are available, design style becomes like RTL coding style. Even if tool may not require usage of these constructs to implement algorithmic portion of application, designers will use it anyway. To force designer to think at higher level of abstraction, these option should not be part of language at all. This creates further sub catagory in High Level Synthesis tools, called Algorithm Synthesis tools. Such high level synthesis tool will not be able to handle interface/bus protocol effectively but is adept at handling algorithms. I think it is okay as long as bus protocols are standards driven.

In Ranking System, pure ANSI C gets highest mark and added constructs/limitations will cost. On other hand, pure ANSI C based tool will not be able to handle bus protocols. Reality is that no tool is going to achieve perfect score. But any tool with ease of use will win eventually and remember QoR is the key!

Last Updated ( Wednesday, 28 June 2006 )
 
Next >

Blog Sidebar

 Apr   May 2008   Jun

SMTWTFS
   1  2  3
  4  5  6  7  8  910
11121314151617
18192021222324
25262728293031

Blog Roll


categories


Latest in Blog

Techies Resources Behavioral Synthesis
Servidores virtuales | PT Cruiser | Car Insurance | Loans | Debt Consolidation
© 2008 SVTechie :: Online Resources For Techies BY Techies
Joomla! is Free Software released under the GNU/GPL License.