PLI applications can be used to add functionality to the simulator. PLI applications can be provided by a third-party vendor or you may wish to write your own. See Section 2.11 Using VPI applications to interface to the simulator for an example of how to write a VPI-based PLI application.
Note that using either of the options documented below will also implicitly enable the +access+w+r option as these are needed for correct operation of most pli/vpi applications. If your application uses vpi_put_value() with the vpiForceFlag, you will also need to enable object forcing using the option +access+f.
+loadpli1=pli_shared_lib_name:boot_function_name[,boot_function_name ...]
Dynamically load the specified PLI application and optionally specify a boot_function that will execute when the simulation is started. The argument to this option is the name or full path of the shared library that contains the PLI application followed by the name of the function or functions that registers the new system tasks. This function, called the boot function, is part of the PLI application, and is defined in the shared library. Any number of applications can be loaded in the same statement by separating the names of the bootstrap functions with a comma. No spaces are allowed in the argument. The file extension of the shared library is optional.
As an example, to load the shared library syncadverilogx.dll, execute the boot function register_default_tasks, then execute the boot function register_syncad_tasks, use the following option to simx or simxloader:
+loadpli1=syncadverilogx.dll:register_default_tasks,register_syncad_tasks
+loadvpi=vpi_shared_lib_name
Dynamically load the specified VPI application.