Your Open-Source Library for building distributed SIL Environments

Vector and Synopsys are jointly developing SIL Kit, a versatile open-source library designed to connect Software-in-the-Loop (SiL) environments like emulators, virtual machines and simulators. It provides a robust communication infrastructure needed to connect these simulation tools with each other and ensures seamless interoperability across all SIL Kit enabled systems.

Under MIT licensing, both companies share a commitment to interoperability, shared governance, and unified development to advance distributed software testing and accelerate virtual ECU innovation. This goal is to grow the SIL Kit ecosystem and welcomes participation from the complete ecosystem to ensure broad industry adoption.

Key Benefits

Features

SIL Kit is a versatile open-source library for simulation and software testing for  embedded systems. It enables seamless communication between various test tools and virtual components over a TCP/IP network, translating service calls into network messages. This facilitates not only the testing of individual software modules but also the synchronized simulation of complex, distributed, multi-node environments.

SIL Kit is compatible with simulation tools and workflows from Synopsys, Vector, and a large and growing number of 3rd parties..  Thanks to its open‑source MIT foundation, SIL Kit is widely adopted in third‑party applications, enabling true interoperability across heterogeneous simulation setups from multiple manufacturers. Synopsys is fully committed to SIL Kit as a long‑term solution, ensuring ongoing development, maintenance, and growth of the open‑source project. 

  •  Implemented in C++ w/o platform dependencies
  • Interoperability between Windows, Linux and other operating systems with POSIX support
  • Stable API and ABI (Application Binary Interface) as well as long-term network layer compatibility

  • Vehicle Network Controllers: CAN (CAN 2.0, CAN FD, CAN XL), Ethernet, FlexRay, and LIN
  • Data Publish/Subscribe: topic-based publish/subscribe mechanism to exchange arbitrary data
  • RPC Servers/Clients: for dynamic remote procedure execution
  • Orchestration: for lifecycle and time synchronization control
  • Logging: for logging messages into a file, standard output, or to other participants

Resources