ruby-vpi 18.0.0 → 18.0.1

Sign up to get free protection for your applications and to get access to all the features.
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>