Automated code generation

This Software Development Kit (SDK) allows programing imperix controllers directly from Simulink or PLECS. It provides blocksets and automated code generation (ACG) tools to achieve both simulation and device programming with just a few clicks.

With the ACG SDK, truly rapid prototyping is possible, hence accelerating the experimental validation of any sort of control algorithms.

You are here:

Home | Software | ACG SDK
your price

your price


Volume pricing

When multiple licenses are related to the same customer, degressive pricing applies, according to the overall purchase history. The table below shows the proposed volume discounts:

Volume discounts


All controllers can be flashed up to 20 times with this free-of-charge license. This authorizes firmware upgrades during the entire system lifetime in production environments.

Licensing policy


These licenses allow unlimited access to the controllers. All software licenses are:

  • Target-locked (i.e. tied to the controller unit)
  • Lifetime (no renewal fees, free software updates)
  • Usable on an unlimited number of computers

In multi-B-Box configurations, only the master unit must be licensed. The master is the controller hosting the user-defined CPU program.


All controllers can be flashed up to 20 times with these free-of-charge licenses. This authorizes firmware upgrades during the entire system lifetime in production environments.

Simulink blockset

The imperix blockset library supports both the B-Box RCP and the B-Board PRO directly from within Simulink. Each block supports:

  • Offline simulation, thanks to an accurate model of each corresponding hardware peripheral.
  • Automated code generation.
  • Online parameterization and tuning through Simulink’s external mode.

The imperix blockset is compatible with Matlab Simulink 2016a to 2020b.

PLECS Blockset

The imperix blockset library supports both the B-Box RCP and the B-Board PRO directly from within PLECS (standalone or blockset). Each block supports:

  • Offline simulation, thanks to an accurate model of each corresponding hardware peripheral.
  • Automated code generation.

The imperix blockset is compatible with Plexim PLECS 4.4 and above.

BB Control utility

BB Control is imperix’s monitoring software. Designed to interact in real-time with the controllers, it allows visualizing, tuning and logging any variable or parameter during run-time.

BB control also allows configuring various aspects of the control hardware.

operating system

Imperix BBOS is the real-time operating system running on B-Box RCP and B-Board PRO.

BBOS is specifically developed for hard real-time operation with short control cycles (2-100μs). It is also therefore highly optimized for speed as well as a strict respect of timings.

Address any application!

There are almost no limitations to what can be implemented with the ACG SDK. In practice, executable code can be generated for virtually anything that can be simulated.

Typical applications include wind power, solar, energy storage, e-mobility, drives, distributed generation, energy transport, … whatever!

Upgrade existing projects!

The great flexibility of automated code generation tools allows reusing almost any control code from existing projects and adapting it for real-time execution.

The capability to generate run-time executables from existing files drastically reduced the time-to-market or time-to-publication.

Control development workflow

The imperix ACG SDK supports direct integration within widespread simulation software, facilitating the simulation, tuning and validation of the control algorithms prior to deployment onto the controller.

Furthermore, the fully automated generation of code is possible, so that the knowledge of a programming is entirely dispensable. The only required user action is to click on the “build” button!

Use existing blocks

The libraries contain blocks for each hardware function. All you need is drag-&-drop them into your existing control file. You can also start from the examples available in our knowledge base.

Simulate offline

As each block accurately models the hardware peripheral, you can reliably anticipate the system behavior with offline simulation. Controller pre-tuning can hence be easily achieved.

Auto-generate code

Once simulations are completed, experimental activities can start. The ACG SDK fully automates the code generation process, so that clicking on the build button is the only required action. 

Capture results

During run-time, experimental results can be easily extracted. For that, the BB Control software grants access to all measurement samples and internal variables, with easy export options.

Matlab Simulink

Simulink is probably the most common simulation software in power electronics. It is often further completed by additional blocksets, such as Simscape Power Systems or control-oriented toolboxes.

Plexim PLECS

PLECS is a powerful simulation software, which has gained popularity in the last decade. It distinguishes by a fast simulation speed as well as an easy integration of other physical domains, such as mechanics or magnetics.

From the computer to the lab

Unified development software

The ACG SDK allows you to work straight from your preferred simulation software. All sorts of applications can be simulated and then tested experimentally using the very same software.

What’s more, the transition between both types of activities is absolutely seamless. One click on the “build” button is all you need to move from simulation to the real world! This may even be done iteratively.

You can start either from existing files or from one of the examples available in our knowledge base. All options are open! Indeed, run-time code can be generated for practically anything, from simple operators to PID controllers, S-functions or state machines.

Accurate simulations

The blocksets of the SDK are carefully designed to accurately model:

  • Sampling instant(s)
  • PWM phase-shifts
  • Computation delays

As such, simulations truly represent what happens in real life. This guarantees the smoothest possible transition from your ideas to their validation with real power.

No coding skills

Automated code generation (ACG) makes prior experience with embedded control entirely dispensable. This enables you to move very quickly from the computer to the lab, saving time and efforts!

About the CPP SDK

Do you like coding and prefer to keep all options open? Our CPP SDK is made for that. Both kits can be used jointly.


The ACG SDK – coupled with Simulink or PLECS – is able to cover a broad range of applications, while boosting the productivity of research engineers. This also relies on the powerful capabilities of additional software and tools.

BB Control utility

BB Control is imperix's real-time monitoring software for B-Box and B-Board. This remote control utility allows to view, edit and log all control variables. Furthermore, BB Control facilitates the configuration of the controllers.

  • Real-time parameter tuning
  • Data logging and visualization

To see how to extract impactful experimental results, get more insight on BB Control.

FPGA programming

For the advanced cases when part of the control must be executed on FPGA, the firmware can be freely edited. Users only need to instantiate one imperix IP. Besides, all FPGA resources and I/Os can be accessed with complete freedom.

  • Multi-rate control implementation
  • Peripheral communication extension 

To see how to extend the capabilities of imperix controllers, read more on FPGA programming.

Firmware technology

The acclaimed ease of use of imperix controllers is made possible by a dedicated firmware architecture. This also guarantees the portability of the user software as well as the advanced performance of the networking.

  • Long-term code portability
  • Transparent networking

To learn more about how the control hardware operates, see more details on our firmware.

Browse our software solutions

To see what else is available, browse also among the detailed description of other programming workflows. Notably, both the ACG SDK and the CPP SDK allow modifying the FPGA firmware using Xilinx’s Vivado development suite.

 Hover to find out more.

Want to know more?

For all questions related to our software, feel free to get in touch with our technical team. We're here to help! Online demos can also be organized upon request.

Alternatively, you can always download and install the software. As our licenses are hardware-related, our software is essentially unrestricted and all features can be tested free of charge.