Enable faster iterations between algorithm and hardware implementation

It takes time to produce good C code

Reproduce Hardware Setup

VersionBay will reproduce your hardware setup and will support / maintain your environment across different MATLAB versions

Empower your domain experts to try new implementations faster than ever before


If you need experts in automatic code generation from MATLAB/Simulink 

Contact Us


Some examples of what we do


MATLAB Coder

Convert your MATLAB/Simulink to C

Deploy your MATLAB/Simulink to your hardware

Deploy MATLAB/Simulink to Hardware
ntegrate generated code into existing applications

Integrate generated code into existing applications

Optimize C code generated based on your requirements

Optimize C code generated based on your requirements

MATLAB Function

function [a] = simple(w, x)
    a = w .* 0.0;
    for i = 1:numel(w)
        a(i) = (w(i) + x(i)) .* (w(i) + x(i));
    end
end

Embedded Coder in R2019a

for (i = 0; i < 16641; i++) {
    a_tmp = w[i] + x[i];
    a[i] = a_tmp * a_tmp;
  }

New Embeded Coder performance optimization in R2019b

for (i = 0; i <= 16636; i += 4) {
    r = _mm_add_ps(_mm_loadu_ps(&w[i]), _mm_loadu_ps(&x[i]));
    _mm_storeu_ps(&a[i], _mm_mul_ps(r, r));
  }

The loop increments by 4 because the input data type is single. Incrementing by four instead of one occurs because the SIMD functions in the loop body process data in parallel. This optimization increases the execution speed of the generated code.

Test and compare impact of migrating to a different version of Embedded Coder

Create I/O drivers and configuration scripts for custom board support

Create I/O drivers and configuration scripts for custom board support

Setup Software-In-the-Loop and Processor-In-the-Loop simulations

Quantify performance of generated code profiling with Software-In-the-Loop and Processor-In-the-Loop

Quantify performance of generated code profiling with Software-In-the-Loop and Processor-In-the-Loop

The table shows execution times of functions generated from a Simulink Model.


Deep Tool/Hardware Knowledge

ARM

TI

STMicroelectronics

NXP

MicroChip

Analog Devices

BeagleBone

Infineon