ruby-vpi 18.0.2 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +15 -19
- data/bin/generate/proto.rb +15 -10
- data/bin/ruby-vpi +2 -0
- data/doc/README +3 -5
- data/doc/Rakefile +3 -3
- data/doc/common.css +24 -136
- data/doc/common.tpl +48 -37
- data/doc/figures/figures.dia +19 -19
- data/doc/figures/ruby_relay.png +0 -0
- data/doc/history.html +252 -67
- data/doc/history.inc +98 -1
- data/doc/history.yaml +105 -0
- data/doc/intro.inc +43 -32
- data/doc/lib/doc_format.rb +19 -13
- data/doc/lib/doc_proxy.rb +7 -7
- data/doc/manual.doc +156 -117
- data/doc/manual.html +601 -560
- data/doc/memo.html +29 -25
- data/doc/print.css +63 -4
- data/doc/readme.doc +4 -6
- data/doc/readme.html +129 -111
- data/doc/rss.xml +168 -7
- data/doc/screen.css +146 -0
- data/doc/spacing.css +57 -0
- data/{samp → examples}/counter/RSpec/Rakefile +0 -0
- data/{samp → examples}/counter/RSpec/counter_design.rb +0 -0
- data/examples/counter/RSpec/counter_proto.rb +9 -0
- data/{samp → examples}/counter/RSpec/counter_runner.rake +0 -0
- data/{samp → examples}/counter/RSpec/counter_spec.rb +0 -0
- data/{samp → examples}/counter/Rakefile +0 -0
- data/{samp → examples}/counter/counter.v +0 -0
- data/{samp → examples}/counter/xUnit/Rakefile +0 -0
- data/{samp → examples}/counter/xUnit/counter_bench.rb +0 -0
- data/{samp → examples}/counter/xUnit/counter_bench.v +0 -0
- data/{samp → examples}/counter/xUnit/counter_design.rb +0 -0
- data/examples/counter/xUnit/counter_proto.rb +9 -0
- data/{samp → examples}/counter/xUnit/counter_runner.rake +0 -0
- data/{samp → examples}/counter/xUnit/counter_spec.rb +0 -0
- data/{samp → examples}/pipelined_alu/Hw5UnitModel.rb +0 -0
- data/{samp → examples}/pipelined_alu/README +0 -0
- data/{samp → examples}/pipelined_alu/Rakefile +0 -0
- data/{samp → examples}/pipelined_alu/TestHw5UnitModel.rb +0 -0
- data/{samp → examples}/pipelined_alu/hw5_unit.v +0 -0
- data/{samp → examples}/pipelined_alu/hw5_unit_design.rb +0 -7
- data/examples/pipelined_alu/hw5_unit_proto.rb +2 -0
- data/{samp → examples}/pipelined_alu/hw5_unit_runner.rake +0 -0
- data/{samp → examples}/pipelined_alu/hw5_unit_spec.rb +0 -0
- data/{samp → examples}/pipelined_alu/int_gen.rb +0 -0
- data/{samp → examples}/register_file/LICENSE +0 -0
- data/{samp → examples}/register_file/README +0 -0
- data/{samp → examples}/register_file/Rakefile +0 -0
- data/{samp → examples}/register_file/register_file.v +0 -0
- data/{samp → examples}/register_file/register_file_design.rb +0 -0
- data/examples/register_file/register_file_proto.rb +11 -0
- data/{samp → examples}/register_file/register_file_runner.rake +0 -0
- data/{samp → examples}/register_file/register_file_spec.rb +0 -0
- data/ext/main.c +5 -5
- data/ext/swig_vpi.i +6 -2
- data/lib/ruby-vpi/core/callback.rb +142 -0
- data/lib/ruby-vpi/core/edge.rb +128 -0
- data/lib/ruby-vpi/core/handle.rb +421 -0
- data/lib/ruby-vpi/core/scheduler.rb +244 -0
- data/lib/ruby-vpi/core/struct.rb +123 -0
- data/lib/ruby-vpi/core.rb +41 -0
- data/lib/ruby-vpi/rcov.rb +25 -12
- data/lib/ruby-vpi/runner.rb +30 -26
- data/lib/ruby-vpi/runner_boot_loader.rb +67 -37
- data/lib/ruby-vpi.rb +2 -2
- data/ref/c/annotated.html +1 -1
- data/ref/c/common_8h.html +1 -1
- data/ref/c/files.html +1 -1
- data/ref/c/functions.html +1 -1
- data/ref/c/functions_vars.html +1 -1
- data/ref/c/globals.html +1 -1
- data/ref/c/globals_0x63.html +1 -1
- data/ref/c/globals_0x65.html +1 -1
- data/ref/c/globals_0x66.html +1 -1
- data/ref/c/globals_0x6d.html +1 -1
- data/ref/c/globals_0x70.html +1 -1
- data/ref/c/globals_0x72.html +1 -1
- data/ref/c/globals_0x73.html +1 -1
- data/ref/c/globals_0x74.html +1 -1
- data/ref/c/globals_0x76.html +1 -1
- data/ref/c/globals_0x78.html +1 -1
- data/ref/c/globals_defs.html +1 -1
- data/ref/c/globals_defs_0x65.html +1 -1
- data/ref/c/globals_defs_0x70.html +1 -1
- data/ref/c/globals_defs_0x76.html +1 -1
- data/ref/c/globals_defs_0x78.html +1 -1
- data/ref/c/globals_enum.html +1 -1
- data/ref/c/globals_eval.html +1 -1
- data/ref/c/globals_func.html +1 -1
- data/ref/c/globals_type.html +1 -1
- data/ref/c/globals_vars.html +1 -1
- data/ref/c/index.html +1 -1
- data/ref/c/main_8c.html +1 -1
- data/ref/c/main_8h.html +1 -1
- data/ref/c/relay_8c.html +1 -1
- data/ref/c/relay_8h.html +1 -1
- data/ref/c/structt__cb__data.html +1 -1
- data/ref/c/structt__vpi__delay.html +1 -1
- data/ref/c/structt__vpi__error__info.html +1 -1
- data/ref/c/structt__vpi__strengthval.html +1 -1
- data/ref/c/structt__vpi__systf__data.html +1 -1
- data/ref/c/structt__vpi__time.html +1 -1
- data/ref/c/structt__vpi__value.html +1 -1
- data/ref/c/structt__vpi__vecval.html +1 -1
- data/ref/c/structt__vpi__vlog__info.html +1 -1
- data/ref/c/verilog_8h.html +1 -1
- data/ref/c/vlog_8c.html +1 -1
- data/ref/c/vlog_8h.html +1 -1
- data/ref/c/vpi__user_8h.html +1 -1
- data/ref/ruby/classes/ERB.html +7 -5
- data/ref/ruby/classes/ERB.src/{M000026.html → M000024.html} +0 -0
- data/ref/ruby/classes/FileUtils.html +11 -11
- data/ref/ruby/classes/FileUtils.src/{M000027.html → M000025.html} +0 -0
- data/ref/ruby/classes/FileUtils.src/{M000028.html → M000026.html} +0 -0
- data/ref/ruby/classes/Float.html +8 -6
- data/ref/ruby/classes/Float.src/{M000021.html → M000019.html} +0 -0
- data/ref/ruby/classes/Integer.html +67 -65
- data/ref/ruby/classes/Integer.src/M000007.html +25 -0
- data/ref/ruby/classes/Integer.src/{M000014.html → M000008.html} +5 -5
- data/ref/ruby/classes/Integer.src/M000009.html +5 -12
- data/ref/ruby/classes/Integer.src/M000010.html +5 -5
- data/ref/ruby/classes/Integer.src/M000011.html +5 -5
- data/ref/ruby/classes/Integer.src/M000012.html +5 -5
- data/ref/ruby/classes/Integer.src/M000015.html +25 -0
- data/ref/ruby/classes/Integer.src/M000016.html +31 -0
- data/ref/ruby/classes/Integer.src/M000017.html +12 -12
- data/ref/ruby/classes/Integer.src/M000018.html +17 -18
- data/ref/ruby/classes/Object.html +126 -0
- data/ref/ruby/classes/RDoc.html +5 -5
- data/ref/ruby/classes/RDoc.src/{M000061.html → M000081.html} +0 -0
- data/ref/ruby/classes/RubyVPI.html +50 -9
- data/ref/ruby/classes/String.html +22 -20
- data/ref/ruby/classes/String.src/M000020.html +36 -0
- data/ref/ruby/classes/String.src/M000021.html +41 -0
- data/ref/ruby/classes/String.src/M000022.html +5 -23
- data/ref/ruby/classes/String.src/M000023.html +5 -28
- data/ref/ruby/classes/{Vpi → VPI}/Handle.html +442 -140
- data/ref/ruby/classes/{Vpi/Handle.src/M000042.html → VPI/Handle.src/M000037.html} +4 -4
- data/ref/ruby/classes/VPI/Handle.src/M000038.html +21 -0
- data/ref/ruby/classes/VPI/Handle.src/M000039.html +18 -0
- data/ref/ruby/classes/{Vpi/Handle.src/M000036.html → VPI/Handle.src/M000040.html} +5 -5
- data/ref/ruby/classes/VPI/Handle.src/M000045.html +18 -0
- data/ref/ruby/classes/{Vpi/Handle.src/M000038.html → VPI/Handle.src/M000046.html} +5 -5
- data/ref/ruby/classes/VPI/Handle.src/M000057.html +18 -0
- data/ref/ruby/classes/{Vpi/Handle.src/M000040.html → VPI/Handle.src/M000058.html} +5 -5
- data/ref/ruby/classes/VPI/Handle.src/M000061.html +18 -0
- data/ref/ruby/classes/VPI/Handle.src/M000062.html +18 -0
- data/ref/ruby/classes/{Vpi/Handle.src/M000054.html → VPI/Handle.src/M000065.html} +11 -11
- data/ref/ruby/classes/VPI/Handle.src/M000067.html +21 -0
- data/ref/ruby/classes/VPI/Handle.src/M000068.html +28 -0
- data/ref/ruby/classes/VPI/Handle.src/M000069.html +50 -0
- data/ref/ruby/classes/{Vpi/Handle.src/M000048.html → VPI/Handle.src/M000070.html} +6 -6
- data/ref/ruby/classes/{Vpi/Handle.src/M000049.html → VPI/Handle.src/M000071.html} +6 -6
- data/ref/ruby/classes/{Vpi/Handle.src/M000050.html → VPI/Handle.src/M000072.html} +5 -5
- data/ref/ruby/classes/{Vpi/Handle.src/M000051.html → VPI/Handle.src/M000073.html} +17 -17
- data/ref/ruby/classes/VPI/Handle.src/M000075.html +18 -0
- data/ref/ruby/classes/VPI/Handle.src/M000076.html +40 -0
- data/ref/ruby/classes/{Vpi/Handle.src/M000056.html → VPI/Handle.src/M000077.html} +18 -18
- data/ref/ruby/classes/{Vpi → VPI}/S_vpi_time.html +22 -20
- data/ref/ruby/classes/VPI/S_vpi_time.src/M000078.html +18 -0
- data/ref/ruby/classes/VPI/S_vpi_time.src/M000079.html +19 -0
- data/ref/ruby/classes/{Vpi → VPI}/S_vpi_value.html +37 -23
- data/ref/ruby/classes/VPI/S_vpi_value.src/M000034.html +35 -0
- data/ref/ruby/classes/VPI/S_vpi_value.src/M000035.html +42 -0
- data/ref/ruby/classes/VPI/S_vpi_value.src/M000036.html +42 -0
- data/ref/ruby/classes/{Vpi.html → VPI.html} +129 -34
- data/ref/ruby/classes/VPI.src/M000027.html +19 -0
- data/ref/ruby/classes/VPI.src/M000028.html +18 -0
- data/ref/ruby/classes/VPI.src/M000029.html +19 -0
- data/ref/ruby/classes/VPI.src/M000031.html +25 -0
- data/ref/ruby/classes/VPI.src/M000032.html +26 -0
- data/ref/ruby/classes/VerilogParser/Module/Port.html +17 -15
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000004.html +23 -0
- data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000007.html → M000005.html} +0 -0
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +5 -10
- data/ref/ruby/classes/VerilogParser/Module.html +7 -5
- data/ref/ruby/classes/VerilogParser/Module.src/{M000005.html → M000003.html} +0 -0
- data/ref/ruby/classes/VerilogParser.html +7 -5
- data/ref/ruby/classes/VerilogParser.src/{M000004.html → M000002.html} +0 -0
- data/ref/ruby/created.rid +1 -1
- data/ref/ruby/files/bin/generate_rb.html +2 -2
- data/ref/ruby/files/lib/ruby-vpi/{vpi_rb.html → core/callback_rb.html} +7 -8
- data/ref/ruby/files/lib/ruby-vpi/core/edge_rb.html +114 -0
- data/ref/ruby/files/lib/ruby-vpi/core/handle_rb.html +107 -0
- data/ref/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +114 -0
- data/ref/ruby/files/lib/ruby-vpi/core/struct_rb.html +108 -0
- data/ref/ruby/files/lib/ruby-vpi/core_rb.html +121 -0
- data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +5 -41
- data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +3 -3
- data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
- data/ref/ruby/fr_class_index.html +5 -4
- data/ref/ruby/fr_file_index.html +6 -1
- data/ref/ruby/fr_method_index.html +80 -60
- metadata +126 -103
- data/ext/swig_vpi.h +0 -924
- data/ext/swig_wrap.cin +0 -7083
- data/lib/ruby-vpi/vpi.rb +0 -651
- data/ref/ruby/classes/Integer.src/M000013.html +0 -18
- data/ref/ruby/classes/Integer.src/M000019.html +0 -25
- data/ref/ruby/classes/Integer.src/M000020.html +0 -30
- data/ref/ruby/classes/String.src/M000024.html +0 -18
- data/ref/ruby/classes/String.src/M000025.html +0 -18
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000008.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000035.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000037.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000039.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000041.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000043.html +0 -21
- data/ref/ruby/classes/Vpi/Handle.src/M000044.html +0 -21
- data/ref/ruby/classes/Vpi/Handle.src/M000045.html +0 -22
- data/ref/ruby/classes/Vpi/Handle.src/M000046.html +0 -50
- data/ref/ruby/classes/Vpi/Handle.src/M000047.html +0 -91
- data/ref/ruby/classes/Vpi/Handle.src/M000053.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000057.html +0 -40
- data/ref/ruby/classes/Vpi/S_vpi_time.src/M000058.html +0 -18
- data/ref/ruby/classes/Vpi/S_vpi_time.src/M000059.html +0 -19
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000032.html +0 -18
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +0 -18
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +0 -18
- data/ref/ruby/classes/Vpi.src/M000029.html +0 -28
- data/ref/ruby/classes/Vpi.src/M000030.html +0 -39
- data/ref/ruby/classes/Vpi.src/M000031.html +0 -20
- data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +0 -18
- data/samp/counter/RSpec/counter_proto.rb +0 -10
- data/samp/counter/xUnit/counter_proto.rb +0 -10
- data/samp/pipelined_alu/hw5_unit_proto.rb +0 -4
- data/samp/register_file/register_file_proto.rb +0 -11
data/doc/memo.html
CHANGED
|
@@ -2,30 +2,37 @@
|
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
|
5
|
-
<link rel="stylesheet" type="text/css" href="
|
|
5
|
+
<link rel="stylesheet" type="text/css" href="screen.css" media="screen" />
|
|
6
6
|
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
|
|
7
|
+
<link rel="alternate stylesheet" type="text/css" href="print.css" title="Print Preview" />
|
|
7
8
|
<link rel="alternate" type="application/rss+xml" href="http://ruby-vpi.rubyforge.org/doc/rss.xml" title="RSS feed for this project." />
|
|
8
9
|
<title>Pending tasks</title>
|
|
9
10
|
</head>
|
|
10
11
|
<body>
|
|
11
|
-
<div id="
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
<div id="menu">
|
|
13
|
+
<h1>Site navigation</h1>
|
|
14
|
+
<ul id="site-links">
|
|
15
|
+
<li><a href="readme.html">Home</a></li>
|
|
16
|
+
<li><a href="manual.html">Manual</a></li>
|
|
17
|
+
<li><a href="memo.html">Memo</a></li>
|
|
18
|
+
<li><a href="history.html">History</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<div id="toc">
|
|
23
|
+
<h1 id="toc-contents">Contents</h1>
|
|
24
|
+
<ul><li>1 <a id="a-607246108" href="#Pending_tasks" class="ref">Pending tasks</a></li><li>2 <a id="a-607251748" href="#Finished_tasks" class="ref">Finished tasks</a></li><li>3 <a id="a-607255818" href="#Obsolete_tasks" class="ref">Obsolete tasks</a></li></ul>
|
|
25
|
+
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
18
28
|
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
<div id="body"><p>
|
|
29
|
+
<div id="body">
|
|
30
|
+
<p>
|
|
24
31
|
<hr style="display: none"/>
|
|
25
32
|
|
|
26
33
|
<div id="Pending_tasks" class="section">
|
|
27
34
|
<h1 class="title">
|
|
28
|
-
<a href="#a-
|
|
35
|
+
<a href="#a-607246108" class="ref">1</a>
|
|
29
36
|
|
|
30
37
|
|
|
31
38
|
|
|
@@ -70,7 +77,7 @@
|
|
|
70
77
|
|
|
71
78
|
<div id="Finished_tasks" class="section">
|
|
72
79
|
<h1 class="title">
|
|
73
|
-
<a href="#a-
|
|
80
|
+
<a href="#a-607251748" class="ref">2</a>
|
|
74
81
|
|
|
75
82
|
|
|
76
83
|
|
|
@@ -160,7 +167,7 @@
|
|
|
160
167
|
|
|
161
168
|
<div id="Obsolete_tasks" class="section">
|
|
162
169
|
<h1 class="title">
|
|
163
|
-
<a href="#a-
|
|
170
|
+
<a href="#a-607255818" class="ref">3</a>
|
|
164
171
|
|
|
165
172
|
|
|
166
173
|
|
|
@@ -194,13 +201,10 @@
|
|
|
194
201
|
</ul>
|
|
195
202
|
|
|
196
203
|
</div>
|
|
197
|
-
</p
|
|
198
|
-
|
|
199
|
-
<hr
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
</div>
|
|
205
|
-
</body>
|
|
204
|
+
</p>
|
|
205
|
+
<br/>
|
|
206
|
+
<hr/>
|
|
207
|
+
This website is maintained by Suraj N. Kurapati (SNK at GNA dot ORG). This particular webpage was last updated on Mon Aug 27 19:26:43 -0700 2007.
|
|
208
|
+
</div>
|
|
209
|
+
</body>
|
|
206
210
|
</html>
|
data/doc/print.css
CHANGED
|
@@ -1,10 +1,69 @@
|
|
|
1
|
-
@import
|
|
1
|
+
@import 'common.css';
|
|
2
2
|
|
|
3
|
-
body {
|
|
4
|
-
|
|
3
|
+
#body {
|
|
4
|
+
border: none;
|
|
5
5
|
max-width: none;
|
|
6
|
+
width: auto;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
#menu
|
|
9
|
+
#menu {
|
|
9
10
|
display: none;
|
|
10
11
|
}
|
|
12
|
+
|
|
13
|
+
code.code {
|
|
14
|
+
border: none;
|
|
15
|
+
line-height: inherit;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/* hyperlinks */
|
|
20
|
+
|
|
21
|
+
a {
|
|
22
|
+
color: #520;
|
|
23
|
+
font-weight: bold;
|
|
24
|
+
text-decoration: underline;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
a:after {
|
|
28
|
+
content: " (" attr(href) ")";
|
|
29
|
+
font-family: sans-serif;
|
|
30
|
+
font-weight: normal;
|
|
31
|
+
font-size: 90%;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
a.ref {
|
|
35
|
+
color: inherit;
|
|
36
|
+
font-weight: inherit;
|
|
37
|
+
text-decoration: none;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
a.ref:after {
|
|
41
|
+
content: "";
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/* source code */
|
|
46
|
+
|
|
47
|
+
pre {
|
|
48
|
+
line-height: 1.5em;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/* emphasis */
|
|
53
|
+
|
|
54
|
+
body {
|
|
55
|
+
font-family: serif;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
h1, h2, h3, h4, h5, h6, th, .title {
|
|
59
|
+
font-family: sans-serif;
|
|
60
|
+
font-weight: bolder;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/* firefox quirks */
|
|
65
|
+
|
|
66
|
+
li {
|
|
67
|
+
padding-left: 0.5em;
|
|
68
|
+
margin-left: 2em;
|
|
69
|
+
}
|
data/doc/readme.doc
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
<doc_proxy_include common.inc>
|
|
2
|
-
<%
|
|
3
|
-
insert_toc = false
|
|
4
|
-
page_title = "Ruby-VPI: Ruby interface to Verilog VPI"
|
|
5
|
-
%>
|
|
2
|
+
<% page_title = "Ruby-VPI: Ruby interface to Verilog VPI" %>
|
|
6
3
|
|
|
7
|
-
<
|
|
8
|
-
|
|
4
|
+
<hr style="display: none"/>
|
|
5
|
+
|
|
6
|
+
<h1 style="padding-top: 0">Ruby-VPI <a style="float: right; position: relative; top: -1em; margin-bottom: -1em;" href="history.html#<%= version.to_html_anchor %>"><%= version %></a></h1>
|
|
9
7
|
|
|
10
8
|
<a href="http://www.ruby-lang.org"><img src="images/ruby/logo-reflection.png" alt="Logo of the Ruby programming language" style="margin: 0; margin-left: 2em; margin-bottom: 1em; float: right"/></a>
|
|
11
9
|
|
data/doc/readme.html
CHANGED
|
@@ -2,23 +2,34 @@
|
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
|
5
|
-
<link rel="stylesheet" type="text/css" href="
|
|
5
|
+
<link rel="stylesheet" type="text/css" href="screen.css" media="screen" />
|
|
6
6
|
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
|
|
7
|
+
<link rel="alternate stylesheet" type="text/css" href="print.css" title="Print Preview" />
|
|
7
8
|
<link rel="alternate" type="application/rss+xml" href="http://ruby-vpi.rubyforge.org/doc/rss.xml" title="RSS feed for this project." />
|
|
8
9
|
<title>Ruby-VPI: Ruby interface to Verilog VPI</title>
|
|
9
10
|
</head>
|
|
10
11
|
<body>
|
|
11
|
-
<div id="
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
<div id="menu">
|
|
13
|
+
<h1>Site navigation</h1>
|
|
14
|
+
<ul id="site-links">
|
|
15
|
+
<li><a href="readme.html">Home</a></li>
|
|
16
|
+
<li><a href="manual.html">Manual</a></li>
|
|
17
|
+
<li><a href="memo.html">Memo</a></li>
|
|
18
|
+
<li><a href="history.html">History</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<div id="toc">
|
|
23
|
+
<h1 id="toc-contents">Contents</h1>
|
|
24
|
+
<ul><li>1 <a id="a-607217228" href="#resources" class="ref">Resources</a><ul><li>1.1 <a id="a-607205968" href="#Records" class="ref">Records</a></li><li>1.2 <a id="a-607208408" href="#Documentation" class="ref">Documentation</a></li><li>1.3 <a id="a-607211248" href="#Facilities" class="ref">Facilities</a></li></ul></li><li>2 <a id="a-607230458" href="#intro.features" class="ref">Features</a><ul><li>2.1 <a id="a-607220078" href="#Portable" class="ref">Portable</a></li><li>2.2 <a id="a-607222628" href="#Agile" class="ref">Agile</a></li><li>2.3 <a id="a-607225228" href="#Powerful" class="ref">Powerful</a></li></ul></li><li>3 <a id="a-607243448" href="#intro.reqs" class="ref">Requirements</a><ul><li>3.1 <a id="a-607233248" href="#Verilog_simulator" class="ref">Verilog simulator</a></li><li>3.2 <a id="a-607235818" href="#Compilers" class="ref">Compilers</a></li><li>3.3 <a id="a-607238348" href="#Libraries" class="ref">Libraries</a></li></ul></li><li>4 <a id="a-607247078" href="#intro.appetizers" class="ref">Appetizers</a></li><li>5 <a id="a-607250138" href="#intro.applications" class="ref">Applications</a></li><li>6 <a id="a-607257618" href="#intro.related-works" class="ref">Related works</a><ul><li>6.1 <a id="a-607253438" href="#intro.related-works.pli" class="ref">Ye olde PLI</a></li></ul></li><li>7 <a id="a-607261148" href="#intro.license" class="ref">License</a></li></ul>
|
|
25
|
+
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<div id="body">
|
|
30
|
+
<hr style="display: none"/>
|
|
18
31
|
|
|
19
|
-
|
|
20
|
-
<div id="body"><div style="float: right">Version 18.0.2</div>
|
|
21
|
-
<h1 style="padding-top: 0">Ruby-VPI</h1>
|
|
32
|
+
<h1 style="padding-top: 0">Ruby-VPI <a style="float: right; position: relative; top: -1em; margin-bottom: -1em;" href="history.html#a19.0.0">19.0.0</a></h1>
|
|
22
33
|
|
|
23
34
|
<p><a href="http://www.ruby-lang.org"><img src="images/ruby/logo-reflection.png" alt="Logo of the Ruby programming language" style="margin: 0; margin-left: 2em; margin-bottom: 1em; float: right"/></a></p>
|
|
24
35
|
|
|
@@ -42,7 +53,7 @@
|
|
|
42
53
|
|
|
43
54
|
<div id="resources" class="section">
|
|
44
55
|
<h1 class="title">
|
|
45
|
-
<a href="#a-
|
|
56
|
+
<a href="#a-607217228" class="ref">1</a>
|
|
46
57
|
|
|
47
58
|
|
|
48
59
|
|
|
@@ -53,8 +64,8 @@
|
|
|
53
64
|
<div id="Records" class="paragraph">
|
|
54
65
|
<p class="title">Records</p>
|
|
55
66
|
<ul>
|
|
56
|
-
<li><a href="history.html#
|
|
57
|
-
– release notes for version
|
|
67
|
+
<li><a href="history.html#a19.0.0">What’s new</a>
|
|
68
|
+
– release notes for version 19.0.0.
|
|
58
69
|
<ul>
|
|
59
70
|
<li><a href="history.html">History</a>
|
|
60
71
|
– a record of all release notes.</li>
|
|
@@ -122,7 +133,7 @@
|
|
|
122
133
|
|
|
123
134
|
<div id="intro.features" class="section">
|
|
124
135
|
<h1 class="title">
|
|
125
|
-
<a href="#a-
|
|
136
|
+
<a href="#a-607230458" class="ref">2</a>
|
|
126
137
|
|
|
127
138
|
|
|
128
139
|
|
|
@@ -134,7 +145,7 @@
|
|
|
134
145
|
<p class="title">Portable</p>
|
|
135
146
|
<ul>
|
|
136
147
|
<li>Supports the <em>entire</em> <a href="http://ieeexplore.ieee.org/xpl/standardstoc.jsp?isnumber=33945"><span class="caps">IEEE 1364</span>-2005 Verilog VPI</a> standard.</li>
|
|
137
|
-
<li>Works with all <a href="#intro.reqs">major Verilog simulators</a> available today.</li>
|
|
148
|
+
<li>Works with all <a href="#intro.reqs" class="ref">major Verilog simulators</a> available today.</li>
|
|
138
149
|
<li>Compiled <em>just once</em> during <a href="manual.html#setup.inst">installation</a> and used forever!</li>
|
|
139
150
|
</ul>
|
|
140
151
|
</div>
|
|
@@ -193,7 +204,7 @@
|
|
|
193
204
|
|
|
194
205
|
<div id="intro.reqs" class="section">
|
|
195
206
|
<h1 class="title">
|
|
196
|
-
<a href="#a-
|
|
207
|
+
<a href="#a-607243448" class="ref">3</a>
|
|
197
208
|
|
|
198
209
|
|
|
199
210
|
|
|
@@ -223,7 +234,7 @@
|
|
|
223
234
|
|
|
224
235
|
<ul>
|
|
225
236
|
<li><a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim</a>
|
|
226
|
-
– any version that supports the <tt>+loadvpi</tt> option should be acceptable
|
|
237
|
+
– any version that supports the <tt>+loadvpi</tt> option should be acceptable.</li>
|
|
227
238
|
</ul>
|
|
228
239
|
|
|
229
240
|
|
|
@@ -289,9 +300,80 @@
|
|
|
289
300
|
<p>
|
|
290
301
|
<hr style="display: none"/>
|
|
291
302
|
|
|
303
|
+
<div id="intro.appetizers" class="section">
|
|
304
|
+
<h1 class="title">
|
|
305
|
+
<a href="#a-607247078" class="ref">4</a>
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
Appetizers
|
|
310
|
+
</h1>
|
|
311
|
+
|
|
312
|
+
Here is a tiny sampling of code to whet your appetite. See <a href="manual.html#usage.tutorial">the tutorial</a> for more samples.
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
<ul>
|
|
316
|
+
<li>Assign the value 2<sup>2048</sup> to a register:
|
|
317
|
+
<ul>
|
|
318
|
+
<li><code class="code">your_register.intVal = <span style="color:#00D; font-weight:bold">2</span> ** <span style="color:#00D; font-weight:bold">2048</span></code></li>
|
|
319
|
+
<li><code class="code">your_register.put_value <span style="color:#00D; font-weight:bold">2</span> ** <span style="color:#00D; font-weight:bold">2048</span></code></li>
|
|
320
|
+
</ul></li>
|
|
321
|
+
</ul>
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
<ul>
|
|
325
|
+
<li>Check if all nets in a module are at high impedance:
|
|
326
|
+
<ul>
|
|
327
|
+
<li><code class="code">your_module.all_net? { |your_net| your_net.z? }</code></li>
|
|
328
|
+
<li><pre class="code">
|
|
329
|
+
your_nets = your_module.net_a
|
|
330
|
+
your_nets.all? { |net| net.z? }</pre></li>
|
|
331
|
+
</ul></li>
|
|
332
|
+
</ul>
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
<ul>
|
|
336
|
+
<li>See a register’s path, width, and location (file & line number):
|
|
337
|
+
<ul>
|
|
338
|
+
<li><code class="code">puts your_register</code></li>
|
|
339
|
+
<li><pre class="code">
|
|
340
|
+
p <span style="color:#A60">:path</span> => your_register.fullName
|
|
341
|
+
p <span style="color:#A60">:width</span> => your_register.size
|
|
342
|
+
p <span style="color:#A60">:file</span> => your_register.fileName
|
|
343
|
+
p <span style="color:#A60">:file</span> => your_register.lineNo</pre></li>
|
|
344
|
+
</ul></li>
|
|
345
|
+
</ul>
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
<ul>
|
|
349
|
+
<li>Access the first five elements in a memory:
|
|
350
|
+
<ul>
|
|
351
|
+
<li><code class="code">your_memory.memoryWord_a.first(<span style="color:#00D; font-weight:bold">5</span>)</code></li>
|
|
352
|
+
<li><code class="code">your_memory.memoryWord_a[<span style="color:#00D; font-weight:bold">0</span>..<span style="color:#00D; font-weight:bold">4</span>]</code></li>
|
|
353
|
+
<li><code class="code">your_memory.memoryWord_a[<span style="color:#00D; font-weight:bold">0</span>, <span style="color:#00D; font-weight:bold">5</span>]</code></li>
|
|
354
|
+
</ul></li>
|
|
355
|
+
</ul>
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
<ul>
|
|
359
|
+
<li>Clear a memory by filling it with zeroes:
|
|
360
|
+
<ul>
|
|
361
|
+
<li><code class="code">your_memory.each_memoryWord { |w| w.zero! }</code></li>
|
|
362
|
+
<li><code class="code">your_memory.each_memoryWord { |w| w.intVal = <span style="color:#00D; font-weight:bold">0</span> }</code></li>
|
|
363
|
+
<li><code class="code">your_memory.each_memoryWord { |w| w.put_value <span style="color:#00D; font-weight:bold">0</span> }</code></li>
|
|
364
|
+
</ul></li>
|
|
365
|
+
</ul>
|
|
366
|
+
|
|
367
|
+
</div>
|
|
368
|
+
</p>
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
<p>
|
|
372
|
+
<hr style="display: none"/>
|
|
373
|
+
|
|
292
374
|
<div id="intro.applications" class="section">
|
|
293
375
|
<h1 class="title">
|
|
294
|
-
<a href="#a-
|
|
376
|
+
<a href="#a-607250138" class="ref">5</a>
|
|
295
377
|
|
|
296
378
|
|
|
297
379
|
|
|
@@ -335,66 +417,47 @@
|
|
|
335
417
|
<p>
|
|
336
418
|
<hr style="display: none"/>
|
|
337
419
|
|
|
338
|
-
<div id="intro.
|
|
420
|
+
<div id="intro.related-works" class="section">
|
|
339
421
|
<h1 class="title">
|
|
340
|
-
<a href="#a-
|
|
422
|
+
<a href="#a-607257618" class="ref">6</a>
|
|
341
423
|
|
|
342
424
|
|
|
343
425
|
|
|
344
|
-
|
|
426
|
+
Related works
|
|
345
427
|
</h1>
|
|
346
428
|
|
|
347
|
-
<
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
<blockquote>
|
|
356
|
-
<p><code class="code">your_register.intVal = <span style="color:#00D; font-weight:bold">2</span> ** <span style="color:#00D; font-weight:bold">2048</span></code></p>
|
|
357
|
-
</blockquote>
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
<ul>
|
|
361
|
-
<li>Check if all nets in a module are at high impedance:</li>
|
|
362
|
-
</ul>
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
<blockquote>
|
|
366
|
-
<p><code class="code">your_module.all_net? { |net| net.z? }</code></p>
|
|
367
|
-
</blockquote>
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
<ul>
|
|
371
|
-
<li>See a register’s path, width, and location (file & line number):</li>
|
|
429
|
+
<ul>
|
|
430
|
+
<li><a href="http://anvil.sourceforge.net">ANVIL</a> is a C++ interface to VPI.</li>
|
|
431
|
+
<li><a href="http://teal.sourceforge.net">Teal</a> is a C++ interface to VPI.</li>
|
|
432
|
+
<li><a href="http://jove.sourceforge.net">JOVE</a> is a Java interface to VPI.</li>
|
|
433
|
+
<li><a href="http://embedded.eecs.berkeley.edu/Alumni/pinhong/scriptEDA/">ScriptEDA</a> is a Perl, Python, and Tcl interface to VPI.</li>
|
|
434
|
+
<li><a href="http://rhdl.rubyforge.org">RHDL</a> is a hardware description and verification language based on Ruby.</li>
|
|
435
|
+
<li><a href="http://myhdl.jandecaluwe.com">MyHDL</a> is a hardware description and verification language based on Python, which features conversion to Verilog and co-simulation.</li>
|
|
372
436
|
</ul>
|
|
373
437
|
|
|
374
438
|
|
|
375
|
-
<
|
|
376
|
-
|
|
377
|
-
</blockquote>
|
|
439
|
+
<p>
|
|
440
|
+
<hr style="display: none"/>
|
|
378
441
|
|
|
442
|
+
<div id="intro.related-works.pli" class="section">
|
|
443
|
+
<h2 class="title">
|
|
444
|
+
<a href="#a-607253438" class="ref">6.1</a>
|
|
379
445
|
|
|
380
|
-
|
|
381
|
-
<li>Access the first five elements in a memory:</li>
|
|
382
|
-
</ul>
|
|
446
|
+
|
|
383
447
|
|
|
448
|
+
Ye olde PLI
|
|
449
|
+
</h2>
|
|
384
450
|
|
|
385
|
-
|
|
386
|
-
<p><code class="code">your_memory.memoryWord_a[<span style="color:#00D; font-weight:bold">0</span>..<span style="color:#00D; font-weight:bold">4</span>]</code></p>
|
|
387
|
-
</blockquote>
|
|
451
|
+
The following projects utilize the archaic <strong>tf</strong> and <strong>acc</strong> PLI interfaces, which have been officially deprecated in IEEE Std 1364-2005.
|
|
388
452
|
|
|
389
453
|
|
|
390
454
|
<ul>
|
|
391
|
-
<li>
|
|
455
|
+
<li><a href="http://www.nelsim.com">ScriptSim</a> is a Perl, Python, and Tcl/Tk interface to PLI.</li>
|
|
456
|
+
<li><a href="http://www.veripool.com/verilog-pli.html">Verilog::Pli</a> is a Perl interface to PLI.</li>
|
|
392
457
|
</ul>
|
|
393
458
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
<p><code class="code">your_memory.each_memoryWord {|w| w.intVal = <span style="color:#00D; font-weight:bold">0</span>}</code></p>
|
|
397
|
-
</blockquote>
|
|
459
|
+
</div>
|
|
460
|
+
</p>
|
|
398
461
|
|
|
399
462
|
</div>
|
|
400
463
|
</p>
|
|
@@ -405,7 +468,7 @@
|
|
|
405
468
|
|
|
406
469
|
<div id="intro.license" class="section">
|
|
407
470
|
<h1 class="title">
|
|
408
|
-
<a href="#a-
|
|
471
|
+
<a href="#a-607261148" class="ref">7</a>
|
|
409
472
|
|
|
410
473
|
|
|
411
474
|
|
|
@@ -444,54 +507,9 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
|
|
|
444
507
|
|
|
445
508
|
</div>
|
|
446
509
|
</p>
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
<hr style="display: none"/>
|
|
451
|
-
|
|
452
|
-
<div id="intro.related-works" class="section">
|
|
453
|
-
<h1 class="title">
|
|
454
|
-
<a href="#a-607290678">7</a>
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
Related works
|
|
459
|
-
</h1>
|
|
460
|
-
|
|
461
|
-
<ul>
|
|
462
|
-
<li><a href="http://jove.sourceforge.net">JOVE</a> is a Java interface to VPI.</li>
|
|
463
|
-
<li><a href="http://teal.sourceforge.net">Teal</a> is a C++ interface to VPI.</li>
|
|
464
|
-
<li><a href="http://embedded.eecs.berkeley.edu/Alumni/pinhong/scriptEDA/">ScriptEDA</a> is a Perl, Python, and Tcl interface to VPI.</li>
|
|
465
|
-
<li><a href="http://rhdl.rubyforge.org">RHDL</a> is a hardware description and verification language based on Ruby.</li>
|
|
466
|
-
<li><a href="http://myhdl.jandecaluwe.com">MyHDL</a> is a hardware description and verification language based on Python, which features conversion to Verilog and co-simulation.</li>
|
|
467
|
-
</ul>
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
<p>
|
|
471
|
-
<hr style="display: none"/>
|
|
472
|
-
|
|
473
|
-
<div id="intro.related-works.pli" class="section">
|
|
474
|
-
<h2 class="title">
|
|
475
|
-
<a href="#a-607287248">7.1</a>
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
Ye olde PLI
|
|
480
|
-
</h2>
|
|
481
|
-
|
|
482
|
-
The following projects utilize the archaic <strong>tf</strong> and <strong>acc</strong> PLI interfaces, which have been officially deprecated in IEEE Std 1364-2005.
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
<ul>
|
|
486
|
-
<li><a href="http://www.nelsim.com">ScriptSim</a> is a Perl, Python, and Tcl/Tk interface to PLI.</li>
|
|
487
|
-
<li><a href="http://www.veripool.com/verilog-pli.html">Verilog::Pli</a> is a Perl interface to PLI.</li>
|
|
488
|
-
</ul>
|
|
489
|
-
|
|
510
|
+
<br/>
|
|
511
|
+
<hr/>
|
|
512
|
+
This website is maintained by Suraj N. Kurapati (SNK at GNA dot ORG). This particular webpage was last updated on Mon Aug 27 19:26:45 -0700 2007.
|
|
490
513
|
</div>
|
|
491
|
-
</
|
|
492
|
-
|
|
493
|
-
</div>
|
|
494
|
-
</p></div>
|
|
495
|
-
|
|
496
|
-
</body>
|
|
514
|
+
</body>
|
|
497
515
|
</html>
|