ruby-vpi 18.0.0 → 18.0.1

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.
Files changed (93) hide show
  1. data/bin/generate.rb +1 -1
  2. data/doc/common.inc +7 -6
  3. data/doc/history.html +76 -40
  4. data/doc/history.inc +14 -1
  5. data/doc/history.yaml +21 -0
  6. data/doc/intro.inc +11 -1
  7. data/doc/lib/doc_format.rb +1 -1
  8. data/doc/manual.html +181 -147
  9. data/doc/memo.html +4 -4
  10. data/doc/readme.html +61 -27
  11. data/doc/rss.xml +30 -25
  12. data/ext/extconf.rb +1 -1
  13. data/lib/ruby-vpi/erb.rb +1 -1
  14. data/lib/ruby-vpi/float.rb +1 -1
  15. data/lib/ruby-vpi/integer.rb +1 -1
  16. data/lib/ruby-vpi/rake.rb +1 -1
  17. data/lib/ruby-vpi/rcov.rb +1 -1
  18. data/lib/ruby-vpi/runner.rb +5 -4
  19. data/lib/ruby-vpi/runner_boot_loader.rb +9 -1
  20. data/lib/ruby-vpi/runner_proxy.rb +1 -1
  21. data/lib/ruby-vpi/util.rb +9 -3
  22. data/lib/ruby-vpi/verilog_parser.rb +1 -1
  23. data/lib/ruby-vpi/vpi.rb +4 -4
  24. data/lib/ruby-vpi.rb +1 -1
  25. data/ref/c/annotated.html +1 -1
  26. data/ref/c/common_8h.html +1 -1
  27. data/ref/c/files.html +1 -1
  28. data/ref/c/functions.html +1 -1
  29. data/ref/c/functions_vars.html +1 -1
  30. data/ref/c/globals.html +1 -1
  31. data/ref/c/globals_0x63.html +1 -1
  32. data/ref/c/globals_0x65.html +1 -1
  33. data/ref/c/globals_0x66.html +1 -1
  34. data/ref/c/globals_0x6d.html +1 -1
  35. data/ref/c/globals_0x70.html +1 -1
  36. data/ref/c/globals_0x72.html +1 -1
  37. data/ref/c/globals_0x73.html +1 -1
  38. data/ref/c/globals_0x74.html +1 -1
  39. data/ref/c/globals_0x76.html +1 -1
  40. data/ref/c/globals_0x78.html +1 -1
  41. data/ref/c/globals_defs.html +1 -1
  42. data/ref/c/globals_defs_0x65.html +1 -1
  43. data/ref/c/globals_defs_0x70.html +1 -1
  44. data/ref/c/globals_defs_0x76.html +1 -1
  45. data/ref/c/globals_defs_0x78.html +1 -1
  46. data/ref/c/globals_enum.html +1 -1
  47. data/ref/c/globals_eval.html +1 -1
  48. data/ref/c/globals_func.html +1 -1
  49. data/ref/c/globals_type.html +1 -1
  50. data/ref/c/globals_vars.html +1 -1
  51. data/ref/c/index.html +1 -1
  52. data/ref/c/main_8c.html +1 -1
  53. data/ref/c/main_8h.html +1 -1
  54. data/ref/c/relay_8c.html +1 -1
  55. data/ref/c/relay_8h.html +1 -1
  56. data/ref/c/structt__cb__data.html +1 -1
  57. data/ref/c/structt__vpi__delay.html +1 -1
  58. data/ref/c/structt__vpi__error__info.html +1 -1
  59. data/ref/c/structt__vpi__strengthval.html +1 -1
  60. data/ref/c/structt__vpi__systf__data.html +1 -1
  61. data/ref/c/structt__vpi__time.html +1 -1
  62. data/ref/c/structt__vpi__value.html +1 -1
  63. data/ref/c/structt__vpi__vecval.html +1 -1
  64. data/ref/c/structt__vpi__vlog__info.html +1 -1
  65. data/ref/c/verilog_8h.html +1 -1
  66. data/ref/c/vlog_8c.html +1 -1
  67. data/ref/c/vlog_8h.html +1 -1
  68. data/ref/c/vpi__user_8h.html +1 -1
  69. data/ref/ruby/classes/String.html +5 -2
  70. data/ref/ruby/classes/String.src/M000024.html +4 -4
  71. data/ref/ruby/classes/String.src/M000025.html +4 -4
  72. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +2 -2
  73. data/ref/ruby/classes/Vpi.src/M000030.html +1 -1
  74. data/ref/ruby/created.rid +1 -1
  75. data/ref/ruby/files/bin/generate_rb.html +1 -1
  76. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  77. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  78. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  79. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  80. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  81. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +1 -1
  82. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +3 -3
  83. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +4 -4
  84. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  85. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  86. data/ref/ruby/files/lib/ruby-vpi/util_rb.html +7 -1
  87. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
  88. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  89. data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
  90. data/samp/pipelined_alu/Hw5UnitModel.rb +0 -4
  91. data/samp/pipelined_alu/TestHw5UnitModel.rb +0 -4
  92. data/samp/pipelined_alu/hw5_unit.v +0 -5
  93. metadata +4 -4
data/doc/memo.html CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  <div id="Pending_tasks" class="section">
27
27
  <h1 class="title">
28
- <a href="#a-607907898">1</a>
28
+ <a href="#a-606364148">1</a>
29
29
 
30
30
  &nbsp;
31
31
 
@@ -70,7 +70,7 @@
70
70
 
71
71
  <div id="Finished_tasks" class="section">
72
72
  <h1 class="title">
73
- <a href="#a-607910698">2</a>
73
+ <a href="#a-606373658">2</a>
74
74
 
75
75
  &nbsp;
76
76
 
@@ -160,7 +160,7 @@
160
160
 
161
161
  <div id="Obsolete_tasks" class="section">
162
162
  <h1 class="title">
163
- <a href="#a-607913238">3</a>
163
+ <a href="#a-606379988">3</a>
164
164
 
165
165
  &nbsp;
166
166
 
@@ -199,7 +199,7 @@
199
199
  <hr style="display: none"/>
200
200
  <div id="toc">
201
201
  <h1 id="toc:contents">Contents</h1>
202
- <ul><li><span class="hide">1 </span><a id="a-607907898" href="#Pending_tasks">Pending tasks</a></li><li><span class="hide">2 </span><a id="a-607910698" href="#Finished_tasks">Finished tasks</a></li><li><span class="hide">3 </span><a id="a-607913238" href="#Obsolete_tasks">Obsolete tasks</a></li></ul>
202
+ <ul><li><span class="hide">1 </span><a id="a-606364148" href="#Pending_tasks">Pending tasks</a></li><li><span class="hide">2 </span><a id="a-606373658" href="#Finished_tasks">Finished tasks</a></li><li><span class="hide">3 </span><a id="a-606379988" href="#Obsolete_tasks">Obsolete tasks</a></li></ul>
203
203
 
204
204
  </div>
205
205
  </body>
data/doc/readme.html CHANGED
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
 
19
19
 
20
- <div id="body"><div style="float: right">Version 18.0.0</div>
20
+ <div id="body"><div style="float: right">Version 18.0.1</div>
21
21
  <h1 style="padding-top: 0">Ruby-VPI</h1>
22
22
 
23
23
  <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>
@@ -42,7 +42,7 @@
42
42
 
43
43
  <div id="resources" class="section">
44
44
  <h1 class="title">
45
- <a href="#a-607398468">1</a>
45
+ <a href="#a-607411038">1</a>
46
46
 
47
47
  &nbsp;
48
48
 
@@ -53,8 +53,8 @@
53
53
  <div id="Records" class="paragraph">
54
54
  <p class="title">Records</p>
55
55
  <ul>
56
- <li><a href="history.html#a18.0.0">What&#8217;s new</a>
57
- &#8211; release notes for version 18.0.0.
56
+ <li><a href="history.html#a18.0.1">What&#8217;s new</a>
57
+ &#8211; release notes for version 18.0.1.
58
58
  <ul>
59
59
  <li><a href="history.html">History</a>
60
60
  &#8211; a record of all release notes.</li>
@@ -93,19 +93,21 @@
93
93
  <div id="Facilities" class="paragraph">
94
94
  <p class="title">Facilities</p>
95
95
  <ul>
96
- <li><a href="http://rubyforge.org/frs/?group_id=1339">Downloads</a>
96
+ <li><a href="http://ruby-vpi.rubyforge.org/download/">Downloads</a>
97
97
  &#8211; obtain release packages</li>
98
- <li><a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi/">Source code</a>
98
+ <li><a href="http://ruby-vpi.rubyforge.org/code/">Source code</a>
99
99
  &#8211; browse online or obtain with <a href="http://darcs.net">Darcs</a>.</li>
100
- <li><a href="http://rubyforge.org/forum/?group_id=1339">Forums</a>
100
+ <li><a href="http://ruby-vpi.rubyforge.org/forum/">Forums</a>
101
101
  &#8211; discuss things and ask questions.</li>
102
- <li><a href="http://rubyforge.org/tracker/?group_id=1339">Bugs</a>
102
+ <li><a href="http://ruby-vpi.rubyforge.org/mail/">Mailing list</a>
103
+ &#8211; discuss things and ask questions.</li>
104
+ <li><a href="http://ruby-vpi.rubyforge.org/tracker/">Bugs</a>
103
105
  &#8211; report defects in the software.</li>
104
- <li><a href="http://rubyforge.org/tracker/?group_id=1339">Patches</a>
106
+ <li><a href="http://ruby-vpi.rubyforge.org/tracker/">Patches</a>
105
107
  &#8211; submit patches to source code.</li>
106
- <li><a href="http://rubyforge.org/tracker/?group_id=1339">Requests</a>
108
+ <li><a href="http://ruby-vpi.rubyforge.org/tracker/">Requests</a>
107
109
  &#8211; request new features or get support.</li>
108
- <li><a href="http://rubyforge.org/projects/ruby-vpi/">Project portal</a>
110
+ <li><a href="http://ruby-vpi.rubyforge.org/portal/">Project portal</a>
109
111
  &#8211; hosted generously by <a href="http://rubyforge.org">RubyForge</a>.</li>
110
112
  </ul>
111
113
  </div>
@@ -120,7 +122,7 @@
120
122
 
121
123
  <div id="intro.features" class="section">
122
124
  <h1 class="title">
123
- <a href="#a-607410618">2</a>
125
+ <a href="#a-607426208">2</a>
124
126
 
125
127
  &nbsp;
126
128
 
@@ -191,7 +193,7 @@
191
193
 
192
194
  <div id="intro.reqs" class="section">
193
195
  <h1 class="title">
194
- <a href="#a-607422318">3</a>
196
+ <a href="#a-607438228">3</a>
195
197
 
196
198
  &nbsp;
197
199
 
@@ -210,13 +212,29 @@
210
212
  <ul>
211
213
  <li><a href="http://www.synopsys.com/products/simulation/simulation.html">Synopsys VCS</a>
212
214
  &#8211; any version that supports the <tt>-load</tt> option is acceptable.</li>
213
- <li><a href="http://www.model.com">Mentor Modelsim</a>
215
+ </ul>
216
+
217
+
218
+ <ul>
219
+ <li><a href="http://www.model.com">Mentor Modelsim</a>
214
220
  &#8211; any version that supports the <tt>-pli</tt> option is acceptable.</li>
215
- <li><a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim</a>
216
- &#8211; any version that supports the <tt>+loadvpi</tt> option is <em>mostly</em> acceptable because you <strong>will not</strong> be able to <a href="manual.html#problem.ncsim.vpiForceFlag">force values onto wires</a>.</li>
217
- <li><a href="http://www.pragmatic-c.com/gpl-cver/">GPL Cver</a>
221
+ </ul>
222
+
223
+
224
+ <ul>
225
+ <li><a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim</a>
226
+ &#8211; any version that supports the <tt>+loadvpi</tt> option should be acceptable. However, version 05.83-s003 is <em>mostly</em> acceptable because you <strong>will not</strong> be able to <a href="manual.html#problem.ncsim.vpiForceFlag">force values onto wires</a>.</li>
227
+ </ul>
228
+
229
+
230
+ <ul>
231
+ <li><a href="http://www.pragmatic-c.com/gpl-cver/">GPL Cver</a>
218
232
  &#8211; version 2.11a or newer is acceptable.</li>
219
- <li><a href="http://www.geda.seul.org/tools/icarus/index.html">Icarus Verilog</a>
233
+ </ul>
234
+
235
+
236
+ <ul>
237
+ <li><a href="http://www.geda.seul.org/tools/icarus/index.html">Icarus Verilog</a>
220
238
  &#8211; version 0.8 is <em>mostly</em> acceptable because you <strong>will not</strong> be able to <a href="manual.html#Accessing_a_handle_s_relatives">access child handles through method calls</a>. The reason for this limitation is explained <a href="manual.html#problems.ivl.vpi_handle_by_name.absolute-paths">in the user manual</a>.</li>
221
239
  </ul>
222
240
  </div>
@@ -227,11 +245,23 @@
227
245
  <ul>
228
246
  <li><a href="http://en.wikipedia.org/wiki/Make">make</a>
229
247
  &#8211; any flavor should be acceptable.</li>
230
- <li>C compiler
248
+ </ul>
249
+
250
+
251
+ <ul>
252
+ <li>C compiler
231
253
  &#8211; the <a href="http://www.gnu.org/software/gcc/" title="GCC">GNU Compiler Collection</a> is preferred, but any C compiler should be acceptable.</li>
232
- <li><a href="http://www.swig.org/download.html">SWIG</a>
254
+ </ul>
255
+
256
+
257
+ <ul>
258
+ <li><a href="http://www.swig.org/download.html">SWIG</a>
233
259
  &#8211; version 1.3.29 or newer is necessary.</li>
234
- <li><a href="http://www.ruby-lang.org/en/downloads/">Ruby</a>
260
+ </ul>
261
+
262
+
263
+ <ul>
264
+ <li><a href="http://www.ruby-lang.org/en/downloads/">Ruby</a>
235
265
  &#8211; version 1.8 or newer, including header and linkable object files for building extensions, is necessary. You can install Ruby by following <a href="http://www.ruby-lang.org/en/downloads/">these instructions</a>.</li>
236
266
  </ul>
237
267
  </div>
@@ -242,7 +272,11 @@
242
272
  <ul>
243
273
  <li><a href="http://en.wikipedia.org/wiki/Pthreads" title="pthreads">POSIX threads</a>
244
274
  &#8211; header and linkable object files, and operating system support for this library are necessary.</li>
245
- <li><a href="http://rubyforge.org/frs/?group_id=126">RubyGems</a>
275
+ </ul>
276
+
277
+
278
+ <ul>
279
+ <li><a href="http://rubyforge.org/frs/?group_id=126">RubyGems</a>
246
280
  &#8211; any recent version should be acceptable. You can install RubyGems by following <a href="http://www.rubygems.org/read/chapter/3">these instructions</a>.</li>
247
281
  </ul>
248
282
  </div>
@@ -257,7 +291,7 @@
257
291
 
258
292
  <div id="intro.applications" class="section">
259
293
  <h1 class="title">
260
- <a href="#a-607424848">4</a>
294
+ <a href="#a-607440758">4</a>
261
295
 
262
296
  &nbsp;
263
297
 
@@ -303,7 +337,7 @@
303
337
 
304
338
  <div id="intro.appetizers" class="section">
305
339
  <h1 class="title">
306
- <a href="#a-607427418">5</a>
340
+ <a href="#a-607443328">5</a>
307
341
 
308
342
  &nbsp;
309
343
 
@@ -371,7 +405,7 @@
371
405
 
372
406
  <div id="intro.license" class="section">
373
407
  <h1 class="title">
374
- <a href="#a-607430248">6</a>
408
+ <a href="#a-607446158">6</a>
375
409
 
376
410
  &nbsp;
377
411
 
@@ -417,7 +451,7 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
417
451
 
418
452
  <div id="intro.related-works" class="section">
419
453
  <h1 class="title">
420
- <a href="#a-607435548">7</a>
454
+ <a href="#a-607451478">7</a>
421
455
 
422
456
  &nbsp;
423
457
 
@@ -438,7 +472,7 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
438
472
 
439
473
  <div id="intro.related-works.pli" class="section">
440
474
  <h2 class="title">
441
- <a href="#a-607432668">7.1</a>
475
+ <a href="#a-607448588">7.1</a>
442
476
 
443
477
  &nbsp;
444
478
 
data/doc/rss.xml CHANGED
@@ -4,6 +4,36 @@
4
4
  <title>Ruby-VPI</title>
5
5
  <link>http://ruby-vpi.rubyforge.org</link>
6
6
  <description>Ruby-VPI is a Ruby interface to IEEE 1364-2005 Verilog VPI and a platform for unit testing, rapid prototyping, and systems integration of Verilog modules through Ruby. It lets you create complex Verilog test benches easily and wholly in Ruby.</description>
7
+ <item>
8
+ <title>Version 18.0.1 released</title>
9
+ <link>http://ruby-vpi.rubyforge.org/doc/history.html#a18.0.1</link>
10
+ <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a18.0.1</guid>
11
+ <description>&lt;h1 id=&quot;18.0.1&quot;&gt;Version 18.0.1 (2007-08-02)&lt;/h1&gt;
12
+
13
+ &lt;p&gt;This release fixes some bugs regarding simulation time and control.&lt;/p&gt;
14
+
15
+
16
+ &lt;h2&gt;Thanks&lt;/h2&gt;
17
+
18
+
19
+ &lt;ul&gt;
20
+ &lt;li&gt;Calvin Wong reported the bugs listed in the Repairs section.&lt;/li&gt;
21
+ &lt;/ul&gt;
22
+
23
+
24
+ &lt;h2&gt;Repairs&lt;/h2&gt;
25
+
26
+
27
+ &lt;ul&gt;
28
+ &lt;li&gt;VCS does not acknowledge passage of time when cbReadWriteSynch callback is used, so I reverted back to using the cbAfterDelay callback (as was done in version 17.0.0).&lt;/li&gt;
29
+ &lt;/ul&gt;
30
+
31
+
32
+ &lt;ul&gt;
33
+ &lt;li&gt;Ruby-VPI did not give control back to the Verilog simulator before it exited. As a result, the Verilog simulator did not have a chance to do any clean up or finish any pending tasks that remained in the simulation.&lt;/li&gt;
34
+ &lt;/ul&gt;</description>
35
+ <pubDate>Thu, 02 Aug 2007 00:00:00 PDT</pubDate>
36
+ </item>
7
37
  <item>
8
38
  <title>Version 18.0.0 released</title>
9
39
  <link>http://ruby-vpi.rubyforge.org/doc/history.html#a18.0.0</link>
@@ -236,30 +266,5 @@
236
266
  &lt;/ul&gt;</description>
237
267
  <pubDate>Sun, 22 Jul 2007 00:00:00 PDT</pubDate>
238
268
  </item>
239
- <item>
240
- <title>Version 16.0.1 released</title>
241
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.1</link>
242
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.1</guid>
243
- <description>&lt;h1 id=&quot;16.0.1&quot;&gt;Version 16.0.1 (2007-05-27)&lt;/h1&gt;
244
-
245
- &lt;p&gt;This release restores support for installation on Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;.&lt;/p&gt;
246
-
247
-
248
- &lt;h2&gt;Thanks&lt;/h2&gt;
249
-
250
-
251
- &lt;ul&gt;
252
- &lt;li&gt;Mark Thompson &lt;a href=&quot;http://rubyforge.org/tracker/index.php?func=detail&amp;#38;aid=11125&amp;#38;group_id=1339&amp;#38;atid=5281&quot;&gt;reported and solved&lt;/a&gt; the problem.&lt;/li&gt;
253
- &lt;/ul&gt;
254
-
255
-
256
- &lt;h2&gt;Repairs&lt;/h2&gt;
257
-
258
-
259
- &lt;ul&gt;
260
- &lt;li&gt;Shared-object files have a file extension of &lt;tt&gt;.so&lt;/tt&gt; in Linux and &lt;tt&gt;.bundle&lt;/tt&gt; on Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;. Previously, only the Linux file extension was supported.&lt;/li&gt;
261
- &lt;/ul&gt;</description>
262
- <pubDate>Sun, 27 May 2007 00:00:00 PDT</pubDate>
263
- </item>
264
269
  </channel>
265
270
  </rss>
data/ext/extconf.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Generates a makefile for buiding the extension.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  require 'mkmf'
data/lib/ruby-vpi/erb.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # ERB templating.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  require 'erb'
@@ -1,6 +1,6 @@
1
1
  # Library for hardware-related floating point operations.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  class String
@@ -1,6 +1,6 @@
1
1
  # Library for hardware-related integer operations.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  # NOTE: Because integers are _immediate_ values in Ruby, these methods *cannot*
data/lib/ruby-vpi/rake.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Utilities for Rakefiles.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  require 'fileutils'
data/lib/ruby-vpi/rcov.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Code coverage analysis.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  require 'rcov'
@@ -13,7 +13,7 @@
13
13
  # command-line arguments for each simulator.
14
14
  #
15
15
  #--
16
- # Copyright 2006-2007 Suraj N. Kurapati
16
+ # Copyright 2006 Suraj N. Kurapati
17
17
  # See the file named LICENSE for details.
18
18
 
19
19
  require 'ruby-vpi/util'
@@ -135,10 +135,11 @@ desc "Simulate with #{RubyVPI::SIMULATORS[:vsim].name}."
135
135
  task :vsim => :setup do
136
136
  sh 'vlib work'
137
137
  sh 'vlog', expand_incdir_options(:vsim), @sources
138
- sh %w[vsim -do run\ -all],
138
+ sh %w[vsim -c],
139
+ '-do', 'run -all; exit',
139
140
  '-pli', object_file_path(:vsim),
140
- '-c', @target,
141
- SIMULATOR_ARGUMENTS[:vsim]
141
+ SIMULATOR_ARGUMENTS[:vsim],
142
+ @target
142
143
  end
143
144
 
144
145
  CLEAN.include 'work', 'vsim.wlf'
@@ -4,6 +4,15 @@
4
4
  # 1. loads the design.rb file
5
5
  # 2. loads the proto.rb file if prototyping is enabled
6
6
  # 3. loads the spec.rb file
7
+ #--
8
+ # Copyright 2006 Suraj N. Kurapati
9
+ # See the file named LICENSE for details.
10
+
11
+ # return control to the simulator before Ruby exits.
12
+ # otherwise, the simulator will not have a chance to do
13
+ # any clean up or finish any pending tasks that remain
14
+ at_exit {relay_verilog}
15
+
7
16
 
8
17
  require 'rubygems'
9
18
  require 'ruby-vpi'
@@ -16,7 +25,6 @@ useCoverage = ENV['COVERAGE'].to_i == 1
16
25
  usePrototype = ENV['PROTOTYPE'].to_i == 1
17
26
 
18
27
  # set up code coverage analysis
19
-
20
28
  require 'ruby-vpi/vpi' # XXX: this is loaded *before* RCov to
21
29
  # prevent coverage statistics about it
22
30
 
@@ -1,7 +1,7 @@
1
1
  # A template to simplify running multiple tests for an examples.
2
2
  # This file is meant to be embedded in another Rakefile.
3
3
  #--
4
- # Copyright 2006-2007 Suraj N. Kurapati
4
+ # Copyright 2006 Suraj N. Kurapati
5
5
  # See the file named LICENSE for details.
6
6
 
7
7
  # supress errors about nonexistent tasks
data/lib/ruby-vpi/util.rb CHANGED
@@ -1,10 +1,16 @@
1
+ # A small utility library.
2
+ #--
3
+ # Copyright 2006 Suraj N. Kurapati
4
+ # See the file named LICENSE for details.
5
+
1
6
  class String
2
7
  # Converts this string into a valid Ruby constant name.
3
8
  def to_ruby_const_name
4
9
  self[0, 1].upcase << self[1..-1]
5
10
  end
6
11
 
7
- def rstrip_from a
8
- sub(/#{a}[^#{a}]*$/, '')
12
+ # Strips off everything after the given character in this string.
13
+ def rstrip_from char
14
+ sub(/#{char}[^#{char}]*$/, '')
9
15
  end
10
- end
16
+ end
@@ -1,6 +1,6 @@
1
1
  # A library for parsing Verilog source code.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  require 'ruby-vpi/util'
data/lib/ruby-vpi/vpi.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # A utility layer which transforms the VPI interface
2
2
  # into one that is more suitable for Ruby.
3
3
  #--
4
- # Copyright 2006-2007 Suraj N. Kurapati
4
+ # Copyright 2006 Suraj N. Kurapati
5
5
  # See the file named LICENSE for details.
6
6
 
7
7
  require 'ruby-vpi/util'
@@ -166,7 +166,7 @@ module Vpi
166
166
  end
167
167
  end
168
168
 
169
- aFormat =
169
+ aFormat =
170
170
  if aFormat
171
171
  resolve_prop_type(aFormat)
172
172
 
@@ -194,7 +194,7 @@ module Vpi
194
194
 
195
195
  newVal = S_vpi_value.new(:format => aFormat)
196
196
 
197
- writtenVal =
197
+ writtenVal =
198
198
  case aFormat
199
199
  when VpiBinStrVal, VpiOctStrVal, VpiDecStrVal, VpiHexStrVal, VpiStringVal
200
200
  newVal.value.str = aValue.to_s
@@ -574,7 +574,7 @@ module Vpi
574
574
  value.format = VpiSuppressVal
575
575
 
576
576
  alarm = S_cb_data.new
577
- alarm.reason = CbReadWriteSynch
577
+ alarm.reason = CbAfterDelay
578
578
  alarm.cb_rtn = Vlog_relay_ruby
579
579
  alarm.obj = nil
580
580
  alarm.time = time
data/lib/ruby-vpi.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # General project information.
2
2
  #--
3
- # Copyright 2006-2007 Suraj N. Kurapati
3
+ # Copyright 2006 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
5
5
 
6
6
  module RubyVPI
data/ref/c/annotated.html CHANGED
@@ -27,7 +27,7 @@
27
27
  <tr><td class="indexkey"><a class="el" href="structt__vpi__vecval.html">t_vpi_vecval</a></td><td class="indexvalue"></td></tr>
28
28
  <tr><td class="indexkey"><a class="el" href="structt__vpi__vlog__info.html">t_vpi_vlog_info</a></td><td class="indexvalue"></td></tr>
29
29
  </table>
30
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
30
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
31
31
  <a href="http://www.doxygen.org/index.html">
32
32
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
33
33
  </body>
data/ref/c/common_8h.html CHANGED
@@ -140,7 +140,7 @@ Pass aroung this value instead of zero and non-zero integers. <dl compact><dt><b
140
140
 
141
141
  </div>
142
142
  </div><p>
143
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
143
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
144
144
  <a href="http://www.doxygen.org/index.html">
145
145
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
146
146
  </body>
data/ref/c/files.html CHANGED
@@ -27,7 +27,7 @@
27
27
  <tr><td class="indexkey"><a class="el" href="vlog_8h.html">vlog.h</a></td><td class="indexvalue">Interface between C and Verilog code </td></tr>
28
28
  <tr><td class="indexkey"><a class="el" href="vpi__user_8h.html">vpi_user.h</a></td><td class="indexvalue"></td></tr>
29
29
  </table>
30
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
30
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
31
31
  <a href="http://www.doxygen.org/index.html">
32
32
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
33
33
  </body>
data/ref/c/functions.html CHANGED
@@ -175,7 +175,7 @@ Here is a list of all struct and union fields with links to the structures/union
175
175
  <li>version
176
176
  : <a class="el" href="structt__vpi__vlog__info.html#3ff076199159904aa9869e0fb1476bad">t_vpi_vlog_info</a>
177
177
  </ul>
178
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
178
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
179
179
  <a href="http://www.doxygen.org/index.html">
180
180
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
181
181
  </body>
@@ -175,7 +175,7 @@
175
175
  <li>version
176
176
  : <a class="el" href="structt__vpi__vlog__info.html#3ff076199159904aa9869e0fb1476bad">t_vpi_vlog_info</a>
177
177
  </ul>
178
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
178
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
179
179
  <a href="http://www.doxygen.org/index.html">
180
180
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
181
181
  </body>
data/ref/c/globals.html CHANGED
@@ -50,7 +50,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
50
50
  <li>bool
51
51
  : <a class="el" href="common_8h.html#f6a258d8f3ee5206d682d799316314b1">common.h</a>
52
52
  </ul>
53
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
53
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
54
54
  <a href="http://www.doxygen.org/index.html">
55
55
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
56
56
  </body>
@@ -112,7 +112,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
112
112
  <li>common_printf
113
113
  : <a class="el" href="common_8h.html#a2ee406785247606fd3daddbed14cbaf">common.h</a>
114
114
  </ul>
115
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
115
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
116
116
  <a href="http://www.doxygen.org/index.html">
117
117
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
118
118
  </body>
@@ -50,7 +50,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
50
50
  <li>EETERN
51
51
  : <a class="el" href="vpi__user_8h.html#17207c0c9000e05cf0c7bcde1c10293d">vpi_user.h</a>
52
52
  </ul>
53
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
53
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
54
54
  <a href="http://www.doxygen.org/index.html">
55
55
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
56
56
  </body>
@@ -50,7 +50,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
50
50
  <li>false
51
51
  : <a class="el" href="common_8h.html#f6a258d8f3ee5206d682d799316314b1e9de385ef6fe9bf3360d1038396b884c">common.h</a>
52
52
  </ul>
53
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
53
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
54
54
  <a href="http://www.doxygen.org/index.html">
55
55
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
56
56
  </body>
@@ -57,7 +57,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
57
57
  : <a class="el" href="main_8c.html#5744de41392bc2f3a3285c7203a77229">main.c</a>
58
58
  , <a class="el" href="main_8h.html#5744de41392bc2f3a3285c7203a77229">main.h</a>
59
59
  </ul>
60
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
60
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
61
61
  <a href="http://www.doxygen.org/index.html">
62
62
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
63
63
  </body>
@@ -82,7 +82,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
82
82
  <li>PROTO_PARAMS()
83
83
  : <a class="el" href="vpi__user_8h.html#7db22f87fed5d61de6ce0279828a06a8">vpi_user.h</a>
84
84
  </ul>
85
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
85
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
86
86
  <a href="http://www.doxygen.org/index.html">
87
87
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
88
88
  </body>
@@ -65,7 +65,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
65
65
  : <a class="el" href="relay_8h.html#c1a02ebdb76a321bac689ac9b30f0422">relay.h</a>
66
66
  , <a class="el" href="relay_8c.html#c1a02ebdb76a321bac689ac9b30f0422">relay.c</a>
67
67
  </ul>
68
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
68
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
69
69
  <a href="http://www.doxygen.org/index.html">
70
70
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
71
71
  </body>
@@ -66,7 +66,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
66
66
  <li>s_vpi_vlog_info
67
67
  : <a class="el" href="vpi__user_8h.html#4d989aa964a0d69d3e1da525725573c8">vpi_user.h</a>
68
68
  </ul>
69
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
69
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
70
70
  <a href="http://www.doxygen.org/index.html">
71
71
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
72
72
  </body>
@@ -50,7 +50,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
50
50
  <li>true
51
51
  : <a class="el" href="common_8h.html#f6a258d8f3ee5206d682d799316314b108f175a5505a10b9ed657defeb050e4b">common.h</a>
52
52
  </ul>
53
- <hr size="1"><address style="align: right;"><small>Generated on Tue Jul 31 22:37:04 2007 for Ruby-VPI by&nbsp;
53
+ <hr size="1"><address style="align: right;"><small>Generated on Thu Aug 2 23:17:25 2007 for Ruby-VPI by&nbsp;
54
54
  <a href="http://www.doxygen.org/index.html">
55
55
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
56
56
  </body>