emmtrix
Code Generator
(eCG)

Our Solution for Embedded Singlecore Systems

Develop target platform independent and readable C and C++ code for embedded singlecore processors from MATLAB®, Simulink®, Octave, Scilab or Xcos applications with emmtrix Code Generator. The generated code is easy to understand and can be adjusted to individual requirements. Automatically generated reports help with the code certification process. In combination with the emmtrix Parallel Studio, eCG enables multicore programming directly from MATLAB®, Simulink®, Octave, Scilab and Xcos.

Our Product Workflow

Development

Input languages:
MATLAB® & Simulink,
Scilab and C

Code Generation

Output Code Generator:
Sequential C code

Parallelization

Output Parallel Studio:
Parallel C code for the target platform

Deployment

Target platforms:
Multicore CPUs, Systems on Chip (FPGA, GPU)

Features

  • ISO C90, C99, C11, C18, C++98, C++11, C++14 and C++17 compliant code generation
  • Performance & memory analysis
  • Highly comprehensive target-optimized C/C++ code
  • User-controlled cache and memory optimization
  • Bidirectional traceability via code generation reports
  • Embedded code generation without dynamic memory allocation
  • Interfacing custom C/C++ code or libraries
  • Automatable back-to-back tests for functional validation
  • Usable within continuous integration processes
  • Automatic floating-point to integer number conversion
  • Profiling-based performance analysis and visualization within GUI
  • Worst-case analysis
  • Optional array bound checking within generated code

Supported MATLAB®/Octave/Scilab Language Features

  • N-dimensional arrays
  • Matrix operations
  • Processing of multiple input files
  • Variable-sized variables (growing arrays)
  • Subscripting, linear and logical indexing
  • Double-precision, single-precision, and integer data types
  • Complex numbers
  • Fixed-point arithmetic
  • Program control statements if, for, while, break, continue and switch/case
  • Arithmetic, relational, and logical operators
  • Function handles

  • Structures and array of structures
  • Global variables
  • Recursive function calls
  • Global and local functions
  • Functions with variable-length input/output arguments
  • Over 100 MATLAB®/Octave/Scilab functions supported
  • N-dimensional arrays
  • Matrix aperations
  • Processing of multiple input files
  • Variable-sized variables (growing arrays)
  • Subscripting, linear and logical indexing
  • Complex numbers
  • Fixed-point arithmetic
  • Global and local functions
  • Program control statements if, for, while, break and continue
  • Arithmetic, relational, and logical operators
  • Global variables
  • Recursive function calls
  • Functions with variable-length input/output arguments
  • Over 100 MATLAB®/Scilab functions supported
  • Double-precision, single-precision, and integer data type
+

For more information on emmtrix Code Generator or to request a demo, use our contact form or get directly in touch.