C to HDL
From Wikipedia, the free encyclopedia
A number of vendors have attempted to create tools that convert C or C-like languages into a hardware description language like VHDL or Verilog. They can then be run on Field-programmable gate array. The motivation for this is that writing in a hardware description language can be tedious and time consuming.
C to RTL is another name for this methodology. RTL refers to the Register transfer level representation of a program necessary to implement it in logic.
There are other tools and flow that aim to achieve the same but with flow rather than C based design, these are discussed in the Flow_to_HDL page.
Contents |
[edit] History
Early development on C to HDL was done by Ian Page and colleagues at Oxford University in the 90s. They commercialized their research by forming Celoxica in 1999. In 2008 Celoxica was sold to Catalytic for $3 million.
[edit] Applications
C to HDL techniques are most commonly applied to applications that have unacceptably high execution times on existing general-purpose supercomputer architectures. Examples include bioinfomatics, CFD, financial processing, and oil and gas survey data analysis. Embedded applications requiring high performance or real-time data processing are also an area of use. System-on-a-chip design may also take advantage of C to HDL techniques.
C-to-VHDL compilers are very useful for large designs or for implementing code that might change in the future. Designing a large application entirely in HDL may be very difficult and time-consuming; the abstraction of a high level language for such a large application will often reduce total development time. Furthermore, an application coded in HDL will almost certainly be more difficult to modify than one coded in a higher level language. If the designer needs to add new functionality to the application, adding a few lines of C code will almost always be easier than remodelling the equivalent HDL code.
[edit] Tool Examples and their Vendors
- C-to-Verilog tool (NISC) from University of California, Irvine
- CatapultC tool from Mentor Graphics
- Cynthesizer from Forte Design Systems
- SystemC from [Celoxica]
- Handel-C from [Celoxica]
- DIME-C from Nallatech
- Impulse C from [Impulse Accelerated Technologies]
- FpgaC which is an open source initiative
- SA-C_programming_language
- Cascade from [Critical Blue]
- Mitrion-C from Mitrionics
- C2R Compiler from [Cebatech]
- Mimosys Clarity from [Mimosys]
- Hthreads Compiler (based on GCC) from the University of Kansas