Nexus
Co-simulate
anything!
![](https://kirlab.com/wp-content/uploads/2023/09/nexus_logo-2-300x259.png)
All the elements of your system running in lockstep, and fast!
Imagine all the code from your microcontrollers, your power electronics and electro-mechanical models, your communication databases… running in perfect synchronization, with minimal overhead and easy data exchange. All operating in parallel processes, maximizing the performance of multi-core architectures.
![](https://kirlab.com/wp-content/uploads/2023/09/debug_icon-293x300.png)
Debugging complex systems made simple
Debugging complex systems made simple
Debug each process independently using your favorite IDE.
And guess what? When you set a breakpoint, everything will automatically pause and wait!
Maximum compatibility
With a base library written in C, Nexus can be optimally wrapped by almost any programming language or modeling environment.
A Python 3 library is provided, as well as the tooling needed for easily creating DLLs for the most common modeling software.
This allows you to simulate your processor’s production code in C/C++ or even Rust, and model your system with specialized tools, and even integrate FMU models.
![](https://kirlab.com/wp-content/uploads/2023/09/nexus_compatibility-2-300x262.png)
How does it work?
The Nexus library is based on shared memory between different processes.
It serves as a data exchange space, and time synchronization is done by a master process through careful interaction with shared flags.
It employs the most efficient locking mechanisms for every platform, ensuring it is as swift and lightweight as a co-simulation library can be.
And by the way, it is easy to use!
![](https://kirlab.com/wp-content/uploads/2023/09/base_nexus_code.png)
Add-ons
Nexus features well-integrated libraries for simulating communication protocols such as Ethernet, CAN, UART…
And typical microcontroller peripherals such as timers, ADCs, PWMs, and much more.
It also features advanced synchronized logging capabilities, a delightful graphic signal viewer and test report generation.
These add-on libraries are totally optional, and you can easily build on top or just skip them.
![](https://kirlab.com/wp-content/uploads/2023/09/comm-300x230.png)