Forum Discussion
Altera_Forum
Honored Contributor
15 years agoC2H is an ESL (electrical system level) design tool. It takes a software function and maps it into dedicated hardware as a component in SOPC Builder. At a high level what it does is form DMAs and data transforms and provides statemachines that controls all that stuff. For example if you used it on a 'for' loop that copied data from one memory to another one element at a time you would end up with an accelerator that acts like a DMA engine.
There are other ESL tools out there that vary in input language, output files, and complexity. If you have ever heard of Handle-C that's a language that is specifically used for this purpose. C2H uses ANSI-C as an input language which makes things easier on software developers but there are sometimes optimizations you have to perform to your code to make it more efficient for C2H. For example C2H works well on code that is rolled up which is the opposite of how you typically optimize code for a general purpose CPU. Here is some additional info: http://www.altera.com/products/ip/processors/nios2/tools/c2h/ni2-c2h.html?gsa_pos=3&wt.oss_r=1&wt.oss=c2h http://www.alteraforum.com/forum/showthread.php?t=12696