The Simulink blockset contained within ACG SDK enables graphical converter control software design and implementation. It transforms imperix controllers into a fully-compatible Simulink Coder targets.

The blockset takes advantage of both the simulation and code generation engines of Simulink to support easy converter control development and maintenance.

You are here:

Home | Software | ACG SDK & CPP SDK | Simulink blockset

Imperix controllers as Simulink Coder targets

  • 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, Simulink Coder transforms your model into code that is loaded and executed on your imperix target, thanks to a fully integrated toolchain.
Capture results
The transient generator and datalogging features of Cockpit will challenge your control and export the results for your next publication.

Integrated control software development

The ACG SDK integrates entirely inside the Simulink environment, making the numerous Simulink tools directly available for your control software 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 (Simulink Coder) engines
Furthermore, ACG SDK makes imperix controllers directly programmable from Simulink. Each block of the library contains both a simulation model of the peripheral and its code counterpart for the real-time controller. 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 the embedded operating system, Simulink has access to the exact same drivers as the C++ routines. This guarantees the best possible performance as well as a rigorous supervision of possible hardware misconfigurations.


For demanding applications, parts of the runtime control can be offloaded inside the user-programmable portion of the FPGA. For this, Simulink has interface blocks readily available, exchanging data with the FPGA sandbox (SBI and SBO peripherals).


The licensing policy of ACG SDK authorizes downloading and installing the software on an unlimited number of computers. As such, offline simulation is always possible. A license is only required to load and execute the control code onto a real-time control target (e.g. B-Box).


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 Imperix Cockpit and its remote monitoring tools, 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.