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®, GNU 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 emmtrix Parallel Studio, eCG enables multicore programming directly from MATLAB® or Simulink®, Scilab or Xcos or GNU Octave.
Our Product Workflow

Development
Input languages:
MATLAB® & Simulink®, GNU Octave, Scilab & Xcos 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®/GNU 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®/GNU Octave/Scilab functions supported
For more information on emmtrix Code Generator or to request a demo, use our contact form or get directly in touch.

Rainer Heim