Newsletter

DSP DesignLine  >  Products

Synthesis software takes Matlab to C





Courtesy of EE Times

SANTA CRUZ, Calif. — Proclaiming a "breakthrough" capability aimed at algorithm developers, Catalytic Inc. this week is rolling out MCS, a synthesis tool that converts Matlab code into ANSI C code. By automatically generating C, it 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.

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 flavors 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 synthesizes 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, visualization 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 specialized 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 $25,000 for a five-user license.



 
Related Links:
  • http://www.eetimes.com/news/design/showArticle.jhtml;?articleID=193001441
  • http://www.eetimes.com/news/design/showArticle.jhtml;?articleID=174900876
  • http://www.eetimes.com/showArticle.jhtml;?articleID=166400359







  •  Featured Jobs
    Accenture seeking Project Management Team Lead in Charlotte, NC

    Accenture seeking Software Engineer in Salt Lake City, UT

    Boeing Company seeking Software Engineer in Herndon, VA

    Switch and Data seeking Customer Solutions Engineer in Dallas, TX

    Chart Industries seeking Sr. Developer in Cleveland, OH

    More jobs on EETimesCareers
     Sponsor
     CAREER CENTER
    Ready to take that job and shove it?
    SEARCH JOBS:

     SPONSOR

     RECENT JOB POSTINGS
    For more great jobs, career related news, features and services, please visit EETimes' Career Center.