Global Sources
EE Times-India
Stay in touch with EE Times India
EE Times-India > Embedded

Synthesis tool simplifies ANSI C code conversion

Posted: 06 Dec 2006     Print Version  Bookmark and Share

Keywords:Catalytic  synthesis tool  synthesis tools  Matlab  MCS tools 

Catalytic Inc. is rolling out a synthesis tool that converts Matlab code into ANSI C code. By automatically generating C, the MCS tool claims to eliminate the traditional process of manual translation.

Produced by The Mathworks, Matlab is widely used for DSP algorithm development. Previous offerings have promised links between Matlab and RTL code. Catalytic, however, is taking a different approach by focusing on C language generation.

Proclaiming a "breakthrough" capability aimed at algorithm developers, the new offering leverages C code generation technology developed for Catalytic RMS, an existing tool that accelerates floating-point simulation in Matlab. The new MCS offering requires RMS, noted Niraj Shah, product marketing manager at Catalytic.

"The core technology of our company is understanding Matlab and generating different flavours of C code," Shah said. "RMS is geared to the acceleration of Matlab, and the deliverable is a compiled module. For MCS, we put a lot of effort into generating clean, readable ANSI C code that users can integrate into their applications."

The target for MCS is applications developers, "the people who live and breathe in Matlab," Shah said. As of today, he said, there's no way to get out of Matlab and deliver an algorithm to other design groups in the user's company. Most often, Shah said, Matlab designers resort to a manual translation to C.

Catalytic MCS' underlying technology converts Matlab, a dynamically typed vector language, into C, a compiled language. Variable and function names are reused from the original Matlab code, and the generated C code mimics the Matlab code file structure and function hierarchy. Original Matlab code can be interleaved as comments in generated C code for further documentation of the algorithm. A graphical user interface provides viewing and cross-probing between Matlab and C code.

It should be noted, however, that MCS synthesises a subset of the Matlab language. Shah said the subset focuses on the "computational" parts of Matlab, and includes all the common data types, all the operators, and a large number of built-in functions. It doesn't include the testbench, visualisation or plotting capabilities of Matlab.

Shah said that Catalytic hasn't run into any limitations with MCS, and that the tool has successfully handled up to 10,000 lines of Matlab code. He said it requires no proprietary libraries or specialised block sets, and works with both fixed and floating point.

Aside from the original Matlab code, MCS requires that the user identify the types of primary inputs that are used by the algorithm. That's because Matlab is an interpreted, untyped language. Catalytic provides a set of pragmas that provide this information. After that, it's all automatic, he said.

Catalytic MCS is available now starting at Rs.11.38 lakh ($25,000) for a five-user licence.

- Richard Goering
EE Times

Comment on "Synthesis tool simplifies ANSI C cod..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top