C/C++ DLL-Defined Digital Devices

In addition to the current offerings for digital device support:

  • Classic SIMPLIS Digital Devices
  • Advanced SIMPLIS Digital Devices
  • SystemDesigner Symbol and Model Library
  • Co-simulation with Verilog-HDL (SIMPLIS VH)

version 8.40 of SIMPLIS has added support for user-defined digital devices implemented in C/C++ and distributed as a DLL.

Technical and Usage Highlights

  • Bus-oriented I/O with built-in support for reading/writing Unsigned, Two’s Complement and Binary Offset encodings
  • Supports parameterization, Monte Carlo and Multi-Step using Multi-Core
  • Automatic symbol and editing dialog creation
  • Supports multiple device and version definitions within the same DLL

Requirements for DLL-defined Digital Devices

  • A C/C++ Compiler Toolchain (e.g. Visual Studio®)
    • If Visual Studio® is used, the "Desktop development with C++" Workload is required.
  • The SIMPLIS Digital Development Kit
    • containing header files, documentation, and examples
  • SIMetrix/SIMPLIS Pro or Elite v8.40 or later
    • the functionality will be made available automatically to Pro and Elite users for no additional cost

Usage Highlights: Bus-Oriented I/O

primitive digital


Modeling with SIMPLIS Advanced Digital devices uses SIMPLIS primitive digital components which are pin-oriented, requiring the user to wire each pin of a bus to a bus connector or another pin. To read a set of pins as an integer value, a bus ripper must be used to construct a number from individual bits.

dll digital


DLL-defined digital devices are bus-oriented, allowing users to utilize bus wiring for connectivity. During a simulation, bus values can be read from and written to as integers instead of individual bits.


Cautions and Caveats

DLL-defined Digital Devices run inside the SIMPLIS Advanced Digital simulation engine and so share the same advantages and limitations. A few things to note:

  • Like all other devices running in the Advanced Digital simulator, a non-zero output delay is enforced. This eliminates problems associated with the classic SIMPLIS logic gate's ability to instantaneously switch state with zero delay.
  • While ultimately dependent on the specific circuit and operating conditions, for digitally controlled systems where the signals in the feedback loop are quantized into discrete levels, the POP / AC analysis is typically not applicable.  The extremely small perturbation of the injected signal during the AC analysis is not large enough to produce a control loop response. These circuits are usually better suited to the SIMPLIS Multi-Tone AC Analysis.

More Information

Check out the SIMPLIS DLL-Defined Digital Devices documentation for more detailed information.