This shows you the differences between two versions of the page.
— |
geda:icarus_glossary [2012/02/20 15:14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Icarus Verilog Glossary ====== | ||
+ | <code>Throughout Icarus Verilog descriptions and source code, I use a | ||
+ | variety of terms and acronyms that might be specific to Icarus | ||
+ | Verilog, have an Icarus Verilog specific meaning, or just aren't | ||
+ | widely known. So here I define these terms. | ||
+ | |||
+ | LRM - Language Reference Manual | ||
+ | This is a generic acronym, but in the Verilog world we sometimes | ||
+ | mean *the* language reference manual, the IEEE1364 standard. | ||
+ | |||
+ | |||
+ | PLI - Programming Language Interface | ||
+ | This is a C API into Verilog simulators that is defined by the | ||
+ | IEEE1364. There are two major interfaces, sometimes called PLI 1 | ||
+ | and PLI 2. PLI 2 is also often called VPI. | ||
+ | |||
+ | |||
+ | UDP - User Defined Primitive | ||
+ | These are objects that Verilog programmers define with the | ||
+ | "primitive" keyword. They are truth-table based devices. The | ||
+ | syntax for defining them is described in the LRM. | ||
+ | |||
+ | |||
+ | VPI - | ||
+ | This is the C API that is defined by the Verilog standard, and | ||
+ | that Icarus Verilog partially implements. See also PLI. | ||
+ | |||
+ | |||
+ | VVM - Verilog Virtual Machine | ||
+ | This is the Icarus Verilog runtime that works with the code | ||
+ | generator that generates C++. | ||
+ | |||
+ | |||
+ | VVP - Verilog Virtual Processor | ||
+ | This is the Icarus Verilog runtime that reads in custom code in a | ||
+ | form that I call "VVP Assembly". See the vvp/ directory for | ||
+ | documentation on that. | ||
+ | |||
+ | </code> |