1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
13 <h1 id=
"icarusverilogglossary">Icarus Verilog Glossary
</h1>
15 <pre class=
"code">Throughout Icarus Verilog descriptions and source code, I use a
16 variety of terms and acronyms that might be specific to Icarus
17 Verilog, have an Icarus Verilog specific meaning, or just aren
't
18 widely known. So here I define these terms.
21 LRM - Language Reference Manual
22 This is a generic acronym, but in the Verilog world we sometimes
23 mean *the* language reference manual, the IEEE1364 standard.
26 PLI - Programming Language Interface
27 This is a C API into Verilog simulators that is defined by the
28 IEEE1364. There are two major interfaces, sometimes called PLI
1
29 and PLI
2. PLI
2 is also often called VPI.
32 UDP - User Defined Primitive
33 These are objects that Verilog programmers define with the
34 "primitive
" keyword. They are truth-table based devices. The
35 syntax for defining them is described in the LRM.
39 This is the C API that is defined by the Verilog standard, and
40 that Icarus Verilog partially implements. See also PLI.
43 VVM - Verilog Virtual Machine
44 This is the Icarus Verilog runtime that works with the code
45 generator that generates C++.
48 VVP - Verilog Virtual Processor
49 This is the Icarus Verilog runtime that reads in custom code in a
50 form that I call
"VVP Assembly
". See the vvp/ directory for
51 documentation on that.