2 Throughout Icarus Verilog descriptions and source code, I use a
3 variety of terms and acronyms that might be specific to Icarus
4 Verilog, have an Icarus Verilog specific meaning, or just aren't
5 widely known. So here I define these terms.
8 LRM - Language Reference Manual
9 This is a generic acronym, but in the Verilog world we sometimes
10 mean *the* language reference manual, the IEEE1364 standard.
13 PLI - Programming Language Interface
14 This is a C API into Verilog simulators that is defined by the
15 IEEE1364. There are two major interfaces, sometimes called PLI 1
16 and PLI 2. PLI 2 is also often called VPI.
19 UDP - User Defined Primitive
20 These are objects that Verilog programmers define with the
21 "primitive" keyword. They are truth-table based devices. The
22 syntax for defining them is described in the LRM.
26 This is the C API that is defined by the Verilog standard, and
27 that Icarus Verilog partially implements. See also PLI.
30 VVM - Verilog Virtual Machine
31 This is the Icarus Verilog runtime that works with the code
32 generator that generates C++.
35 VVP - Verilog Virtual Processor
36 This is the Icarus Verilog runtime that reads in custom code in a
37 form that I call "VVP Assembly". See the vvp/ directory for
38 documentation on that.