Simulink support

The Simulink blockset contained within ACG SDK enables easy and performant coding of imperix controllers from the widely spread and versatile Simulink environment.

The blockset takes advantage of both the simulation and code generation engines of Simulink to offer ultra-fast development of control algorithms.

You are here:

Home | Software | ACG SDK & CPP SDK | Simulink blockset
  • Ease of use: Accessible and fast graphical programming thanks to automated code generation.
  • Accurate modeling: Advanced simulation models for faithful offline simulation results.
  • Extensive capabilities: Broad range of specialized functions such as ADC, PWM modulators, etc…
  • High performance: Transparent use of optimized driver methods for uncompromised performance.
  • High flexibility: Easy integration with custom FPGA-based developments, offering boundless possibilities.
Create Simulink model
Start from scratch, adapt an existing control model, or use one of the code examples available on the imperix knowledge base.
Run offline simulation
You can test your control on a simulated converter model first. Then, you can rely on the obtained results to switch to real power.
Auto-generate code
In just one click, your model is automatically converted into code and executed on your imperix target, thanks to a fully integrated toolchain.
Capture results
The transient generator and datalogging features of BB Control will challenge your control and export the results for your next publication.

A fully Integrated environment

ACG SDK is entirely integrated inside the Simulink environment, making the numerous Simulink tools directly available for your control development.
In particular, this includes :

  • The vast collection of Simulink native blocks
  • A whole set of Simulink and third-party toolboxes
  • The Simulink simulation and code generation engines

Furthermore, ACG SDK makes imperix controllers fully integrated into the Simulink environment. Each block of the library contains both a simulation model of the peripheral and its code counterpart for the B-Box or B-Board. Hence, the exact same Simulink model can be used for offline simulation and real experiments, making the transition from the computer to the lab even quicker and easier.

 Hover to find out more.

Thanks to the layered structure of BBOS, ACG SDK has access to the exact same drivers as the C++ SDK, providing you with the best performance available. Used in combination with the graphical approach of Simulink, you benefit from ultra-rapid control prototyping without compromising on performance.


If you plan to offload some parts of your control in the user-programmable portion of the FPGA, Simulink can help in many ways. ACG SDK contains interface blocks to exchange data with the FPGA Sandbox (SBI and SBO), and Simulink’s HDL Coder can help to write VHDL code without prior knowledge.


The licensing policy of ACG SDK lets you download the software and freely experiment with the tools – even run a full offline simulation of your system – without the need for a paid license. A license is only required to load and execute the control code on a B-Box or B-Board controller.


Thanks to advanced simulation models in every peripheral block, the behavior of the simulated controller matches the behavior of a B-Box or B-Board controller, allowing you to test and tune your control strategy offline. Ultimately, this means that the transition from simulation to real power is the smoothest possible.

To this end, we took great care in modeling every aspect of the control loop, with extra caution for its dynamic behavior. This does not only involve parameters tied to the application, such as the control frequency or the PWM phase-shifts, but also hardware-related quantities, like the computation time of the algorithm or the conversion delay of the ADCs.

 Hover to find out more.

The control model, on the left, contains the portion of the system that is meant to be executed on the B-Box or B-Board controller. As such, it contains the peripheral blocks and the control algorithm itself, which can be translated into code.

The plant model, on the right, contains a simulation model of the controlled power converter and the related equipment. It can be either implemented using Simscape Power System, or PLECS Blockset.


The ADC block’s simulation model, combined with the sampling clock signal, ensures that the measurements provided by the plant model are sampled at the correct frequency and with the right phase. In this way, the simulated controller can work with the exact same samples as a real controller.


The carrier-based modulator block lets you freely configure the carrier phase-shift, even in run time at each interrupt execution. In addition, the block’s simulation model uses a PWM clock signal to guarantee a precise timing of the generated switching edges, using the exact same logic as the imperix controllers.


When applications grow in complexity, the non-zero computation time of the control algorithm introduces an extra delay in the control loop. This phenomenon is very often neglected in RCP systems, but thanks to the simulation models of ACG SDK, it can be anticipated and the control tuned accordingly.

Flexible monitoring options


While code is running on an imperix target, External Mode allows you to monitor and modify any real-time variable on the fly, directly from Simulink. This can even be used to create stunning personalized Graphical User Interfaces using Simulink’s App Designer.


Thanks to BB Control‘s easy-to-use datalogging feature, each and every sample of any variable can be monitored in an oscilloscope-like interface. This is also the best way to export all your results in CSV format to analyze or post-process them with the tool of your choice.


When it comes to debugging, sometimes there’s nothing like your beloved oscilloscope! For easy interfacing with a B-Box RCP, we provide 4 handy analog outputs with SMA coaxial connectors that will let you scope any controller variable alongside your real measurements.

Related products

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.