1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en"
6 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
7 <title>geda:icarus_glossary
</title>
8 <meta name=
"generator" content=
"DokuWiki Release rc2007-05-24" />
9 <meta name=
"robots" content=
"noindex,nofollow" />
10 <meta name=
"date" content=
"2007-05-24T22:27:27-0400" />
11 <meta name=
"keywords" content=
"geda,icarus_glossary" />
12 <link rel=
"search" type=
"application/opensearchdescription+xml" href=
"http://geda.seul.org/wiki/lib/exe/opensearch.php" title=
"geda Wiki" />
13 <link rel=
"start" href=
"http://geda.seul.org/wiki/" />
14 <link rel=
"contents" href=
"http://geda.seul.org/wiki/geda:icarus_glossary?do=index" title=
"Index" />
15 <link rel=
"alternate" type=
"application/rss+xml" title=
"Recent Changes" href=
"http://geda.seul.org/wiki/feed.php" />
16 <link rel=
"alternate" type=
"application/rss+xml" title=
"Current Namespace" href=
"http://geda.seul.org/wiki/feed.php?mode=list&ns=geda" />
17 <link rel=
"alternate" type=
"text/html" title=
"Plain HTML" href=
"http://geda.seul.org/wiki/_export/xhtml/geda:icarus_glossary" />
18 <link rel=
"alternate" type=
"text/plain" title=
"Wiki Markup" href=
"http://geda.seul.org/wiki/_export/raw/geda:icarus_glossary" />
19 <link rel=
"stylesheet" media=
"all" type=
"text/css" href=
"lib/exe/css" />
20 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"lib/exe/001css" />
21 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"lib/exe/002css" />
24 <div class=
"dokuwiki export">
28 <h1><a name=
"icarus_verilog_glossary" id=
"icarus_verilog_glossary">Icarus Verilog Glossary
</a></h1>
30 <pre class=
"code">Throughout Icarus Verilog descriptions and source code, I use a
31 variety of terms and acronyms that might be specific to Icarus
32 Verilog, have an Icarus Verilog specific meaning, or just aren
't
33 widely known. So here I define these terms.
36 LRM - Language Reference Manual
37 This is a generic acronym, but in the Verilog world we sometimes
38 mean *the* language reference manual, the IEEE1364 standard.
41 PLI - Programming Language Interface
42 This is a C API into Verilog simulators that is defined by the
43 IEEE1364. There are two major interfaces, sometimes called PLI
1
44 and PLI
2. PLI
2 is also often called VPI.
47 UDP - User Defined Primitive
48 These are objects that Verilog programmers define with the
49 "primitive
" keyword. They are truth-table based devices. The
50 syntax for defining them is described in the LRM.
54 This is the C API that is defined by the Verilog standard, and
55 that Icarus Verilog partially implements. See also PLI.
58 VVM - Verilog Virtual Machine
59 This is the Icarus Verilog runtime that works with the code
60 generator that generates C++.
63 VVP - Verilog Virtual Processor
64 This is the Icarus Verilog runtime that reads in custom code in a
65 form that I call
"VVP Assembly
". See the vvp/ directory for
66 documentation on that.