Knowledge Center
Knowledge Center

Verilog Procedural Interface

Procedural access to Verilog objects


This C Application Programming Interface (API) provides access to the instantiated objects in a design described in the Verilog Hardware Description Language (HDL) when loaded into a simulator. It was previously known as Programming Language Interface (PLI) 2.0 and became part of the IEEE 1364 standard, the latest revision of which was 2005.
In addition to being able to access objects in a simulation image, it also enables callbacks to be placed on them enabling line tracing, time related callbacks and more.

When Verilog was superseded by SystemVerilog, VPI was also extended to cover all of the new objects. However, part of the functionality of VPI has been replaced by the Direct Programming Interface (DPI) that enables direct calling between a SystemVerilog task or function and a C function call, or vice-versa. DPI does not provide the protection or security of a VPI call, but is higher performance.