Part of the ACG SDK

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

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

You are here:

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

Imperix control hardware as a PLECS Coder target

  • 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 PLECS 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 Cockpit will challenge your control and export the results for your next publication.

Integrated control software development

The ACG SDK integrates entirely inside PLECS environment, making this power-electronic-focused tool directly available for your model development. In particular, this includes:

  • A vast collection of PLECS native blocks
  • Native libraries. Including electrical, thermal and magnetic libraries 
  • A powerful simulation and code generation engines

Furthermore, ADG SDK makes imperix controllers fully integrated into the PLECS environment. 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 PLECS 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, PLECS 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, PLECS 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).

Interface blocks to dedicated hardware peripherals 

The PLECS blockset included in ACG SDK contains numerous blocks to interface your PLECS model with any kind of I/O on imperix controllers. In particular, several PWM modulators are provided to fulfill the needs of the most demanding applications, whether it is for a traditional carrier-based or a more advanced multi-level modulator.

Each individual block can be parametrized using an easy-to-use configuration dialog. For instance, modulator carrier shapes, ADC gains or PWM dead-times can be modified in a few clicks. Each block also includes a help button that provides detailed documentation on its functionalities and its recommended usage in all sorts of applications.
 Hover to find out more.


Conventional pulse-width modulators with fixed or variable phase-shift.
Direct update of switching state output.


Two- and three-level Space Vector modulator.


Configurator for custom modulators designed in the FPGA Sandbox.


Multilevel modulator and balancer for modular converter topologies (MMC and similar).


LUT- based modulators for pre-optimized patterns such as selective harmonic elimination (SHE).


Thanks to advanced simulation models in every peripheral block, the behavior of the simulated controller matches the behavior of a programmable controller, allowing you to test and tune your control strategy offline. Ultimately, this means that the transition from simulation to real power is made as smoothly as possible.

To this end, we took great care in modeling every aspect of the control loop, with extra consideration 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 meant to be executed on the converter controller. As such, it features 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, implemented using the many components available in the PLECS libraries.


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.

Real-time controller access

Imperix programmable controllers guarantee continuous access to control variables and measurements during run time. Indeed, thanks to our dedicated operating system as well as monitoring software, users benefit from multiple data logging capabilities.


Thanks to 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 controller, we provide four 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.