PLECS support

The PLECS blockset contained within ACG SDK enables easy and performant coding of imperix controllers from the power electronics focused PLECS environment.

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

You are here:

Home | Software | ACG SDK & CPP SDK | PLECS 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 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 BB Control will challenge your control and export the results for your next publication.

A fully Integrated environment

ACG SDK is entirely integrated 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 B-Board or B-Box. 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 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 PLECS, 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, ACG SDK contains interface blocks to exchange data with the FPGA Sandbox (SBI and SBO). With the Sandbox PWM block, you can program your own custom modulator in the FPGA and use it directly in the PLECS environment.


The ACG SDK  licensing policy 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 will only be required to load and execute the control code on a B-Box or B-Board controller.

An extensive BLOCKSET

The 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 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 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 B-Box or B-Board 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.



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 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.