Development kit for automated code generation

This Software Development Kit (SDK) allows programing imperix controllers directly from Simulink or PLECS.

It provides blocksets and automated code generation 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.

Control developement without code

Automatic programming

Modern power electronic simulation software – such as Matlab Simulink and Plexim PLECS – support the automated generation of run-time control code, directly from the simulation models. With a bit of extra automation, this code can be compiled and uploaded onto the real-time target too, resulting in the whole effort of programming a power converter controller being done in just one click!

This is exactly what imperix offers with the ACG-SDK: a convenient approach to control implementation, testing, and maintenance directly from within your usual computer simulation software.

Pre-tuning with computer simulations

What’s more, by integrating accurate subsystem models – such as ADC or PWM blocks – directly into the simulation, getting realistic simulations before code is generated is possible too! This allows pre-testing and pre-tuning the converter control algorithms off-line, hence leading to precious time savings when starting experimental activities. Besides, thanks to our monitoring software, it is still time to fine-tune all parameters during run-time.

Whatever is your preferred approach, the ACG SDK embeds models that accurately model system dynamics as well as its sampling, modulation, and other phase-sensitive aspects.

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 related to the power converter during run-time.

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

operating system

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

BBOS is specifically developed for power electronic applications, 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 using the ACG SDK. In practice, executable code can be generated for all sorts of inverters, drives and other converter topologies 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 visual control development and code generation tools allows reusing almost any power converter 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 validation workflow

Automated code generation at the service of rapid control prototyping

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.

Going beyond simulation

Thanks to the imperix automated code generation kits, a computer with Simulink/PLECS is virtually everything needed to turn any power stage into a fully and easily (re)programmable power converter. If the chosen controller hardware is the B-Box RCP, then everything is even hardware-protected.

Unified development environment
The ACG SDK allows you to work straight from your preferred simulation software. All sorts of power converter control algorithms can be developed visually, simulated, and then tested experimentally using the very same software.

What’s more, the transition between both types of activities is absolutely seamless. You can always go back-and-forth and work iteratively, learning from your finding in the lab.

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.