A leading underscore is valid for macro substitutions.
[iverilog.git] / glossary.txt
blob3e2b3b43d070b5577d77712ad0cec71a26b24d9a
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.
25 VPI     -
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.