ruby-vpi 15.0.0 → 15.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/Rakefile +2 -2
  2. data/doc/common.css +10 -18
  3. data/doc/common.tpl +28 -15
  4. data/doc/history.doc +4 -6
  5. data/doc/history.html +327 -286
  6. data/doc/history.yml +19 -0
  7. data/doc/intro.inc +47 -2
  8. data/doc/lib/doc_proxy.rb +16 -0
  9. data/doc/lib/erb_proxy.rb +5 -0
  10. data/doc/manual.doc +35 -26
  11. data/doc/manual.html +152 -100
  12. data/doc/memo.doc +16 -10
  13. data/doc/memo.html +29 -18
  14. data/doc/print.css +10 -0
  15. data/doc/readme.doc +2 -43
  16. data/doc/readme.html +42 -49
  17. data/doc/rss.xml +37 -0
  18. data/ext/Rakefile +10 -1
  19. data/ext/swig_vpi.h +924 -0
  20. data/ext/swig_vpi.i +2 -3
  21. data/ext/swig_wrap.cin +20 -37
  22. data/ref/c/annotated.html +1 -1
  23. data/ref/c/common_8h.html +1 -1
  24. data/ref/c/files.html +2 -1
  25. data/ref/c/functions.html +17 -17
  26. data/ref/c/functions_vars.html +17 -17
  27. data/ref/c/globals.html +3 -5
  28. data/ref/c/globals_0x62.html +1 -1
  29. data/ref/c/globals_0x63.html +30 -30
  30. data/ref/c/globals_0x65.html +2 -2
  31. data/ref/c/globals_0x66.html +1 -1
  32. data/ref/c/globals_0x67.html +1 -1
  33. data/ref/c/globals_0x69.html +1 -1
  34. data/ref/c/globals_0x6c.html +1 -1
  35. data/ref/c/globals_0x6d.html +1 -1
  36. data/ref/c/globals_0x6e.html +1 -1
  37. data/ref/c/globals_0x70.html +18 -18
  38. data/ref/c/globals_0x72.html +1 -1
  39. data/ref/c/globals_0x73.html +12 -13
  40. data/ref/c/globals_0x74.html +1 -1
  41. data/ref/c/globals_0x75.html +1 -1
  42. data/ref/c/globals_0x76.html +413 -413
  43. data/ref/c/globals_0x78.html +2 -2
  44. data/ref/c/globals_defs.html +30 -30
  45. data/ref/c/globals_defs_0x65.html +2 -2
  46. data/ref/c/globals_defs_0x6c.html +1 -1
  47. data/ref/c/globals_defs_0x6e.html +1 -1
  48. data/ref/c/globals_defs_0x70.html +3 -3
  49. data/ref/c/globals_defs_0x72.html +1 -1
  50. data/ref/c/globals_defs_0x73.html +2 -3
  51. data/ref/c/globals_defs_0x75.html +1 -1
  52. data/ref/c/globals_defs_0x76.html +411 -411
  53. data/ref/c/globals_defs_0x78.html +2 -2
  54. data/ref/c/globals_enum.html +1 -1
  55. data/ref/c/globals_eval.html +1 -1
  56. data/ref/c/globals_func.html +1 -1
  57. data/ref/c/globals_func_0x66.html +1 -1
  58. data/ref/c/globals_func_0x67.html +1 -1
  59. data/ref/c/globals_func_0x69.html +1 -1
  60. data/ref/c/globals_func_0x6d.html +1 -1
  61. data/ref/c/globals_func_0x70.html +2 -2
  62. data/ref/c/globals_func_0x72.html +1 -1
  63. data/ref/c/globals_func_0x73.html +1 -1
  64. data/ref/c/globals_func_0x76.html +1 -1
  65. data/ref/c/globals_type.html +26 -26
  66. data/ref/c/globals_vars.html +5 -7
  67. data/ref/c/index.html +1 -1
  68. data/ref/c/main_8c.html +1 -1
  69. data/ref/c/main_8h.html +1 -1
  70. data/ref/c/relay_8c.html +1 -1
  71. data/ref/c/relay_8h.html +1 -1
  72. data/ref/c/structswig__cast__info.html +1 -1
  73. data/ref/c/structswig__class.html +1 -1
  74. data/ref/c/structswig__module__info.html +1 -1
  75. data/ref/c/structswig__type__info.html +1 -1
  76. data/ref/c/structt__cb__data.html +23 -6
  77. data/ref/c/structt__vpi__delay.html +20 -3
  78. data/ref/c/structt__vpi__error__info.html +71 -3
  79. data/ref/c/structt__vpi__strengthval.html +3 -3
  80. data/ref/c/structt__vpi__systf__data.html +46 -12
  81. data/ref/c/structt__vpi__time.html +3 -3
  82. data/ref/c/structt__vpi__value.html +113 -3
  83. data/ref/c/structt__vpi__vecval.html +3 -3
  84. data/ref/c/structt__vpi__vlog__info.html +54 -3
  85. data/ref/c/swig__vpi_8h.html +8739 -0
  86. data/ref/c/swig__wrap_8cin.html +49 -102
  87. data/ref/c/unions__vpi__value__value.html +1 -1
  88. data/ref/c/verilog_8h.html +1 -1
  89. data/ref/c/vlog_8c.html +1 -1
  90. data/ref/c/vlog_8h.html +1 -1
  91. data/ref/c/vpi__user_8h.html +16 -16
  92. data/ref/ruby/created.rid +1 -1
  93. metadata +5 -2
data/doc/manual.html CHANGED
@@ -2,14 +2,22 @@
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="common.css" />
5
+ <link rel="stylesheet" type="text/css" href="common.css" media="screen" />
6
+ <link rel="stylesheet" type="text/css" href="print.css" media="print" />
6
7
  <link rel="alternate" type="application/rss+xml" href="http://ruby-vpi.rubyforge.org/doc/rss.xml" title="RSS feed for this project." />
7
8
  <title>Ruby-VPI user manual</title>
8
9
  </head>
9
10
  <body>
10
- <div id="navigation">
11
- <p><a href="readme.html"><img src="images/home.png" title="project home" alt="project home" /></a></p>
12
11
 
12
+ <br/><br/> <!-- give space below #menu -->
13
+
14
+ <p style="text-align:center;"><a href="readme.html"><img src="images/home.png" title="Return to main page" alt="Return to main page" /></a></p>
15
+
16
+ <div id="menu">
17
+ <a href="#index">Contents</a> &middot; <a href="#figures">Figures</a> &middot; <a href="#tables">Tables</a> &middot; <a href="#examples">Examples</a> &middot; <a href="#tips">Tips</a> &middot; <a href="#notes">Notes</a> &middot; <a href="#importants">Importants</a>
18
+ </div>
19
+
20
+ <div id="index">
13
21
  <h1>Contents</h1>
14
22
  <ul>
15
23
  <li>1 <a href="#anchor4">Ruby-VPI user manual</a>
@@ -19,7 +27,7 @@
19
27
  </li>
20
28
  <li>2 <a href="#intro">Introduction</a>
21
29
  <ul>
22
- <li>2.1 <a href="#intro.features">Features</a>
30
+ <li>2.1 <a href="#intro.features">Prominent features</a>
23
31
  <ul>
24
32
  <li>2.1.1 <a href="#anchor5">Portable</a></li>
25
33
  <li>2.1.2 <a href="#anchor6">Agile</a></li>
@@ -153,53 +161,21 @@
153
161
  </ul></li>
154
162
  </ul>
155
163
 
156
- <h1>Admonitions</h1>
164
+ <h1>Formals</h1>
157
165
 
158
- <h2>Tips</h2>
159
- <ol>
160
- <li><a href="#tip1">Add support for your Verilog simulator</a></li>
161
- <li><a href="#tip2">Running multiple tests at once.</a></li>
162
- <li><a href="#tip3">Using <strong>kdiff3</strong> with the automated test generator.</a></li>
163
- <li><a href="#tip4">What can the test runner do?</a></li>
164
- </ol>
165
- <h2>Notes</h2>
166
- <ol>
167
- <li><a href="#note1">note1</a></li>
168
- <li><a href="#note2">Undefined symbols in Windows</a></li>
169
- <li><a href="#note3">note3</a></li>
170
- <li><a href="#note4">note4</a></li>
171
- <li><a href="#note5">note5</a></li>
172
- <li><a href="#note6">Fixed in 2.0.0.</a></li>
173
- <li><a href="#note7">Fixed in 2.0.0.</a></li>
174
- <li><a href="#note8">Fixed in 2.0.0.</a></li>
175
- </ol>
176
- <h2>Importants</h2>
177
- <ol>
178
- <li><a href="#important1">Before we continue&#8230;</a></li>
179
- <li><a href="#important2">Before we continue&#8230;</a></li>
180
- <li><a href="#important3">Before we continue&#8230;</a></li>
181
- <li><a href="#important4">Before we continue&#8230;</a></li>
182
- </ol>
183
- <h2>Cautions</h2>
184
- <ol>
185
- <li><a href="#caution1">caution1</a></li>
186
- </ol>
187
- <h1>Formals</h1>
188
-
189
- <h2>Figures</h2>
190
- <ol>
166
+ <h2 id="figures">Figures</h2>
167
+ <ol>
191
168
  <li><a href="#fig..organization">Overall organization of a test</a></li>
192
169
  <li><a href="#fig..organization.detail">Detailed organization of a test</a></li>
193
170
  <li><a href="#fig..ruby_relay">Interaction between Ruby and Verilog</a></li>
194
171
  <li><a href="#figure4">Method naming format for accessing a handle&#8217;s properties</a></li>
195
- <li><a href="#figure5">Output from <xref#ex..callback></a></li>
196
172
  </ol>
197
- <h2>Tables</h2>
198
- <ol>
173
+ <h2 id="tables">Tables</h2>
174
+ <ol>
199
175
  <li><a href="#tbl..accessors">Possible accessors and their implications</a></li>
200
176
  </ol>
201
- <h2>Examples</h2>
202
- <ol>
177
+ <h2 id="examples">Examples</h2>
178
+ <ol>
203
179
  <li><a href="#ex..properties">Examples of accessing a handle&#8217;s properties</a></li>
204
180
  <li><a href="#ex..callback">Using a callback for value change notification</a></li>
205
181
  <li><a href="#example3">Seeing what a test runner can do</a></li>
@@ -219,11 +195,38 @@
219
195
  <li><a href="#ex..TestFoo_bad">Bad design with unconnected registers</a></li>
220
196
  <li><a href="#ex..TestFoo_fix">Fixed design with wired registers</a></li>
221
197
  </ol>
222
- </div>
198
+ <h1>Admonitions</h1>
199
+
200
+ <h2 id="tips">Tips</h2>
201
+ <ol>
202
+ <li><a href="#tip1">Add support for your Verilog simulator</a></li>
203
+ <li><a href="#tip2">Running multiple tests at once.</a></li>
204
+ <li><a href="#tip3">Using <strong>kdiff3</strong> with the automated test generator.</a></li>
205
+ <li><a href="#tip4">What can the test runner do?</a></li>
206
+ </ol>
207
+ <h2 id="notes">Notes</h2>
208
+ <ol>
209
+ <li><a href="#note1">Glossary has definitions</a></li>
210
+ <li><a href="#note2">Undefined symbols in Windows</a></li>
211
+ <li><a href="#note3">No capitalization for <span class="caps">VPI</span> functions</a></li>
212
+ <li><a href="#note4"><code>Vpi::Handle</code> heritage</a></li>
213
+ <li><a href="#note5">note5</a></li>
214
+ <li><a href="#note6">Fixed in 2.0.0.</a></li>
215
+ <li><a href="#note7">Fixed in 2.0.0.</a></li>
216
+ <li><a href="#note8">Fixed in 2.0.0.</a></li>
217
+ </ol>
218
+ <h2 id="importants">Importants</h2>
219
+ <ol>
220
+ <li><a href="#important1">Before we continue&#8230;</a></li>
221
+ <li><a href="#important2">Before we continue&#8230;</a></li>
222
+ <li><a href="#important3">Before we continue&#8230;</a></li>
223
+ <li><a href="#important4">Before we continue&#8230;</a></li>
224
+ </ol>
225
+ </div>
223
226
  <h1 id="anchor4">1 &nbsp; Ruby-VPI user manual</h1>
224
227
 
225
228
 
226
- <p>This manual was last updated on Sat Jan 13 16:42:19 <span class="caps">PST 2007</span>.</p>
229
+ <p>This manual was last updated on Mon Jan 15 10:16:44 <span class="caps">PST 2007</span>.</p>
227
230
 
228
231
 
229
232
  <p>It is meant to be read in conjunction with the <a href="../ref/ruby/index.html">reference documentation for Ruby-VPI</a>. In addition, if you are new to <a href="http://www.ruby-lang.org">the Ruby language</a>, you are encouraged to <a href="http://www.ruby-lang.org/en/documentation/">explore its documentation</a> alongside this manual.</p>
@@ -238,7 +241,7 @@
238
241
  <h2 id="terms">1.1 &nbsp; Terms</h2>
239
242
 
240
243
 
241
- <p>Copyright&#169; 2006 Suraj N. Kurapati.</p>
244
+ <p>Copyright&#169; 2006, 2007 Suraj N. Kurapati.</p>
242
245
 
243
246
 
244
247
  <p>Permission is granted to copy, distribute and/or modify this document under the terms of the <a href="http://www.gnu.org/copyleft/fdl.html"><span class="caps">GNU</span> Free Documentation License</a>, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the the file named <a href="./LICENSE"><span class="caps">LICENSE</span></a>.</p>
@@ -253,7 +256,65 @@
253
256
  <p>Ruby-VPI is a <a href="http://www.ruby-lang.org">Ruby</a> interface to <a href="http://ieeexplore.ieee.org/xpl/standardstoc.jsp?isnumber=33945"><span class="caps">IEEE 1364</span>-2005 Verilog <span class="caps">VPI</span></a>. It lets you create complex Verilog test benches easily and wholly in Ruby.</p>
254
257
 
255
258
 
256
- <h2 id="intro.features">2.1 &nbsp; Features</h2>
259
+ <p class="title">Documentation</p>
260
+
261
+
262
+ <ul>
263
+ <li><a href="manual.html#usage.tutorial">Tutorial</a>
264
+ &#8211; learn how to use Ruby-VPI quickly.</li>
265
+ <li><a href="manual.html">Manual</a>
266
+ &#8211; complete documentation for users. <em>Start here!</em></li>
267
+ <li><a href="../ref/">Reference</a>
268
+ &#8211; <span class="caps">API</span> documentation for Ruby libraries and C extension.</li>
269
+ </ul>
270
+
271
+
272
+ <p class="title">Records</p>
273
+
274
+
275
+ <ul>
276
+ <li><a type="application/rss+xml" href="http://ruby-vpi.rubyforge.org/doc/rss.xml"><img src="images/feed-icon.png" title="RSS feed icon" alt="RSS feed icon" /> RSS feed</a>
277
+ &#8211; keep track of new releases at your leisure.</li>
278
+ <li><a href="history.html">Release history</a>
279
+ &#8211; record of all release notes.</li>
280
+ <li><a href="memo.html">Memorandum</a>
281
+ &#8211; pending tasks for future releases.</li>
282
+ </ul>
283
+
284
+
285
+ <p class="title">Facilities</p>
286
+
287
+
288
+ <ul>
289
+ <li><a href="http://rubyforge.org/projects/ruby-vpi">Project portal</a>
290
+ &#8211; hosted generously by <a href="http://rubyforge.org">RubyForge</a>.</li>
291
+ <li><a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi">Source code</a>
292
+ &#8211; browse online or obtain through <a href="http://abridgegame.org/darcs/">Darcs</a>.</li>
293
+ <li><a href="http://rubyforge.org/frs/?group_id=1339">Downloads</a>
294
+ &#8211; obtain release packages.</li>
295
+ <li><a href="http://rubyforge.org/tracker/?group_id=1339">Bugs</a>
296
+ &#8211; report defects in the software.</li>
297
+ <li><a href="http://rubyforge.org/tracker/?group_id=1339">Patches</a>
298
+ &#8211; submit patches to source code.</li>
299
+ <li><a href="http://rubyforge.org/tracker/?group_id=1339">Requests</a>
300
+ &#8211; request new features or get support.</li>
301
+ <li><a href="http://rubyforge.org/forum/?group_id=1339">Forums</a>
302
+ &#8211; discuss things and ask questions.</li>
303
+ </ul>
304
+
305
+
306
+ <p class="title">Outreach</p>
307
+
308
+
309
+ <ul>
310
+ <li><a href="http://ruby-vpi.rubyforge.org/news">News</a>
311
+ &#8211; see what&#8217;s cooking for the next release.</li>
312
+ <li><a href="http://ruby-vpi.rubyforge.org/talks">Talks</a>
313
+ &#8211; materials from presentations and seminars.</li>
314
+ </ul>
315
+
316
+
317
+ <h2 id="intro.features">2.1 &nbsp; Prominent features</h2>
257
318
 
258
319
 
259
320
  <h3 id="anchor5">2.1.1 &nbsp; Portable</h3>
@@ -454,7 +515,7 @@
454
515
  <p style="float:left"><img src="images/note.png" title="note" alt="note" /></p>
455
516
 
456
517
 
457
- <p class="title">Note:</p>
518
+ <p class="title">Note: Glossary has definitions</p>
458
519
 
459
520
 
460
521
  <p>Have a look at the <a href="#glossary">glossary</a> for definitions of terms used in this manual.</p>
@@ -738,6 +799,27 @@ $ ls -d /usr/lib/ruby/gems/1.8/gems/ruby-vpi*
738
799
  </ul>
739
800
 
740
801
 
802
+ <p>Learn more about using and manipulating RubyGems in <a href="http://www.rubygems.org">the RubyGems user manual</a>.</p>
803
+
804
+
805
+ <h1 id="usage">5 &nbsp; Usage</h1>
806
+
807
+
808
+ <h2 id="usage.vpi">5.1 &nbsp; <span class="caps">VPI</span> in Ruby</h2>
809
+
810
+
811
+ <p>The <em>entire</em> IEEE Std 1364-2005 <span class="caps">VPI</span> interface is available in Ruby, but with a few minor differences.</p>
812
+
813
+
814
+ <p class="title">Capitalize those names!</p>
815
+
816
+
817
+ <p>The names of all <span class="caps">VPI</span> types, structures, and constants become <em>capitalized</em> because Ruby requires that the names of constants begin with a capital letter.</p>
818
+
819
+
820
+ <p>For example, the <code class="code">s_vpi_value</code> structure becomes the <code class="code"><span style="color:#036; font-weight:bold">S_vpi_value</span></code> class in Ruby. Likewise, the <code class="code">vpiIntVal</code> constant becomes the <code class="code"><span style="color:#036; font-weight:bold">VpiIntVal</span></code> constant in Ruby.</p>
821
+
822
+
741
823
  <div class="admonition">
742
824
 
743
825
  <div class="note" id="note3">
@@ -745,30 +827,31 @@ $ ls -d /usr/lib/ruby/gems/1.8/gems/ruby-vpi*
745
827
  <p style="float:left"><img src="images/note.png" title="note" alt="note" /></p>
746
828
 
747
829
 
748
- <p class="title">Note:</p>
830
+ <p class="title">Note: No capitalization for <span class="caps">VPI</span> functions</p>
749
831
 
750
832
 
751
- <p>Learn more about using and manipulating RubyGems in <a href="http://www.rubygems.org">the RubyGems user manual</a>.</p>
833
+ <p>Ruby&#8217;s capitalization rule does <em>not</em> apply to <span class="caps">VPI</span> functions&#8212;their names remain unchanged in Ruby.</p>
752
834
 
753
835
 
754
836
  </div>
755
837
 
756
838
  </div>
757
839
 
758
- <h1 id="usage">5 &nbsp; Usage</h1>
840
+ <p class="title">Use Ruby&#8217;s <code class="code">printf</code></p>
759
841
 
760
842
 
761
- <h2 id="usage.vpi">5.1 &nbsp; <span class="caps">VPI</span> in Ruby</h2>
762
-
843
+ <p>The <span class="caps">VPI</span> functions <code class="code">vpi_vprintf</code> and <code class="code">vpi_mcd_vprintf</code> are not made accessible to Ruby. However, this isn&#8217;t a big problem because you can use Ruby&#8217;s <code class="code">printf</code> method instead.</p>
763
844
 
764
- <p>The <em>entire</em> IEEE Std 1364-2005 <span class="caps">VPI</span> interface is available in Ruby, but with one minor difference: the names of all <span class="caps">VPI</span> types, structures, and constants become <em>capitalized</em> because Ruby requires that the names of constants begin with a capital letter.</p>
765
845
 
846
+ <p>The reason for this limitation is that some C compilers have trouble with pointers to the <code class="code">va_list</code> type. For these compilers, the third line of source code shown below causes a &#8220;type mismatch&#8221; error.</p>
766
847
 
767
- <p>For example, the <code class="code">s_vpi_value</code> structure becomes the <code class="code"><span style="color:#036; font-weight:bold">S_vpi_value</span></code> class in Ruby. Likewise, the <code class="code">vpiIntVal</code> constant becomes the <code class="code"><span style="color:#036; font-weight:bold">VpiIntVal</span></code> constant in Ruby.</p>
768
-
769
-
770
- <p>Note that this capitalization rule does <em>not</em> apply to <span class="caps">VPI</span> functions; their names remain unchanged in Ruby.</p>
771
848
 
849
+ <pre class="code" lang="c">
850
+ <span style="color:#579">#include</span> <span style="color:#B44; font-weight:bold">&lt;stdarg.h&gt;</span>
851
+ <span style="color:#339; font-weight:bold">void</span> foo(va_list ap) {
852
+ va_list *p = &amp;ap;
853
+ }
854
+ </pre>
772
855
 
773
856
  <h3 id="usage.vpi.handles">5.1.1 &nbsp; Handles</h3>
774
857
 
@@ -783,7 +866,7 @@ $ ls -d /usr/lib/ruby/gems/1.8/gems/ruby-vpi*
783
866
  <p style="float:left"><img src="images/note.png" title="note" alt="note" /></p>
784
867
 
785
868
 
786
- <p class="title">Note:</p>
869
+ <p class="title">Note: <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span></code> heritage</p>
787
870
 
788
871
 
789
872
  <p>Handles are instances of the <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span></code> class (see <a href="../ref/ruby/classes/Vpi/Handle.html">reference documentation</a> for details) in Ruby-VPI.</p>
@@ -948,7 +1031,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
948
1031
  <table>
949
1032
  <tr>
950
1033
  <th rowspan="2">Ruby expression </th>
951
- <th colspan="6">Parts of speech </th>
1034
+ <th colspan="6">Method naming format </th>
952
1035
  <th rowspan="2">Description </th>
953
1036
  </tr>
954
1037
  <tr>
@@ -967,7 +1050,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
967
1050
  <td> &nbsp; </td>
968
1051
  <td> &nbsp; </td>
969
1052
  <td> &nbsp; </td>
970
- <td rowspan="4">These expressions access the logic value of the handle&#8217;s vpiIntVal property. </td>
1053
+ <td rowspan="4">These expressions access the <strong>logic value</strong> of the handle&#8217;s <code class="code"><span style="color:#036; font-weight:bold">VpiIntVal</span></code> property. </td>
971
1054
  </tr>
972
1055
  <tr>
973
1056
  <td> <code class="code">handle.vpiIntVal_l</code> </td>
@@ -1004,7 +1087,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
1004
1087
  <td> &nbsp; </td>
1005
1088
  <td> &nbsp; </td>
1006
1089
  <td> = </td>
1007
- <td rowspan="4">These expressions assign the number 15 to the logic value of the handle&#8217;s vpiIntVal property. </td>
1090
+ <td rowspan="4">These expressions assign the number 15 to the <strong>logic value</strong> of the handle&#8217;s <code class="code"><span style="color:#036; font-weight:bold">VpiIntVal</span></code> property. </td>
1008
1091
  </tr>
1009
1092
  <tr>
1010
1093
  <td> <code class="code">handle.vpiIntVal_l = <span style="color:#00D; font-weight:bold">15</span></code> </td>
@@ -1041,7 +1124,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
1041
1124
  <td> &nbsp; </td>
1042
1125
  <td> &nbsp; </td>
1043
1126
  <td> &nbsp; </td>
1044
- <td rowspan="4">These expressions access the integer value of the handle&#8217;s vpiType property. </td>
1127
+ <td rowspan="4">These expressions access the <strong>integer value</strong> of the handle&#8217;s <code class="code"><span style="color:#036; font-weight:bold">VpiType</span></code> property. </td>
1045
1128
  </tr>
1046
1129
  <tr>
1047
1130
  <td> <code class="code">handle.vpiType_i</code> </td>
@@ -1078,7 +1161,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
1078
1161
  <td> &nbsp; </td>
1079
1162
  <td> &nbsp; </td>
1080
1163
  <td> &nbsp; </td>
1081
- <td rowspan="6">These expressions access the boolean value of the handle&#8217;s vpiProtected property. </td>
1164
+ <td rowspan="6">These expressions access the <strong>boolean value</strong> of the handle&#8217;s <code class="code"><span style="color:#036; font-weight:bold">VpiProtected</span></code> property. </td>
1082
1165
  </tr>
1083
1166
  <tr>
1084
1167
  <td> <code class="code">handle.vpiProtected_b</code> </td>
@@ -1133,7 +1216,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
1133
1216
  <td> &nbsp; </td>
1134
1217
  <td> &nbsp; </td>
1135
1218
  <td> &nbsp; </td>
1136
- <td rowspan="4">These expressions access the string value of the handle&#8217;s vpiFullName property. </td>
1219
+ <td rowspan="4">These expressions access the <strong>string value</strong> of the handle&#8217;s <code class="code"><span style="color:#036; font-weight:bold">VpiFullName</span></code> property. </td>
1137
1220
  </tr>
1138
1221
  <tr>
1139
1222
  <td> <code class="code">handle.vpiFullName_s</code> </td>
@@ -1170,7 +1253,7 @@ reset_signal = counter_module.reset <span style="color:#888"># &lt;== shortcut!<
1170
1253
  <td> &nbsp; </td>
1171
1254
  <td> &nbsp; </td>
1172
1255
  <td> &nbsp; </td>
1173
- <td rowspan="4">These expressions access the handle value of the handle&#8217;s vpiParent property. </td>
1256
+ <td rowspan="4">These expressions access the <strong>handle value</strong> of the handle&#8217;s <code class="code"><span style="color:#036; font-weight:bold">VpiParent</span></code> property. </td>
1174
1257
  </tr>
1175
1258
  <tr>
1176
1259
  <td> <code class="code">handle.vpiParent_h</code> </td>
@@ -1310,21 +1393,7 @@ cbHandle = vpi_register_cb(cbData) <span style="color:#080; font-weight:bold">do
1310
1393
  <span style="color:#080; font-weight:bold">end</span>
1311
1394
  </pre>
1312
1395
 
1313
- <p>To see this code in action, append it to the <tt>counter_rspec_spec.rb</tt> and <tt>counter_xunit_spec.rb</tt> files, which are provided in <a href="#usage.examples">the section named &ldquo;Sample tests&rdquo;</a> and discussed in <a href="#usage.tutorial.specification">the section named &ldquo;Specify your expectations&rdquo;</a>.</p>
1314
-
1315
-
1316
- </div>
1317
-
1318
- </div>
1319
-
1320
- <div class="formal">
1321
-
1322
- <div class="figure" id="figure5">
1323
-
1324
- <p class="title">Figure 5. Output from <a href="#ex..callback">the example named &ldquo;Using a callback for value change notification&rdquo;</a></p>
1325
-
1326
-
1327
- <p>Shown below is the output from running the <a href="#usage.tutorial">counter_rspec test</a> after appending the code shown in <a href="#ex..callback">the example named &ldquo;Using a callback for value change notification&rdquo;</a> to the <tt>counter_rspec_spec.rb</tt> file.</p>
1396
+ <p>Shown below is the result of appending this code to the <tt>counter_rspec_spec.rb</tt> file (provided in <a href="#usage.examples">the section named &ldquo;Sample tests&rdquo;</a> and discussed in <a href="#usage.tutorial.specification">the section named &ldquo;Specify your expectations&rdquo;</a>) and running the <a href="#usage.tutorial">counter_rspec test</a>.</p>
1328
1397
 
1329
1398
 
1330
1399
  <pre>
@@ -1429,7 +1498,7 @@ Finished in 0.042328 seconds
1429
1498
  <p>Ruby-VPI enables you to rapidly prototype your designs in Ruby without having to do full-scale implementations in Verilog. This lets you explore and evaluate different design choices quickly.</p>
1430
1499
 
1431
1500
 
1432
- In order to create a prototype,
1501
+ To create a prototype,
1433
1502
  <ol>
1434
1503
  <li><a href="#usage.tutorial.declare-design">Determine the <strong>interface</strong></a> (Verilog module declaration) of your design.</li>
1435
1504
  <li><a href="#usage.tutorial.generate-test">Generate a test</a> for that interface.</li>
@@ -1647,7 +1716,7 @@ kdiff3 --auto --output <span style="background-color:#fff0f0"><span style="color
1647
1716
 
1648
1717
 
1649
1718
  <ol>
1650
- <li><a href="#usage.tutorial.declare-design">Declare the design</a>, which is a Verilog module, using Verilog 2001 syntax.</li>
1719
+ <li><a href="#usage.tutorial.declare-design">Declare a design</a> using Verilog 2001 syntax.</li>
1651
1720
  <li><a href="#usage.tutorial.generate-test">Generate a test</a> for the design using the <a href="#usage.tools.generate-test">automated test generator</a> tool.</li>
1652
1721
  <li><a href="#usage.tutorial.specification">Identify your expectations</a> for the design and implement them in the specification.</li>
1653
1722
  <li>(Optional) <a href="#usage.tutorial.implement-proto">Implement the prototype</a> of the design in Ruby.</li>
@@ -2342,23 +2411,6 @@ endmodule
2342
2411
  <h3 id="problems.ivl.vpi_reset">7.2.2 &nbsp; Vpi::reset</h3>
2343
2412
 
2344
2413
 
2345
- <div class="admonition">
2346
-
2347
- <div class="caution" id="caution1">
2348
-
2349
- <p style="float:left"><img src="images/caution.png" title="caution" alt="caution" /></p>
2350
-
2351
-
2352
- <p class="title">Caution:</p>
2353
-
2354
-
2355
- <p>The <code class="code">vpi_control</code> method was removed in release 3.0.0 (2006-04-23). Please use <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::vpi_control(<span style="color:#036; font-weight:bold">VpiReset</span>)</code> instead.</p>
2356
-
2357
-
2358
- </div>
2359
-
2360
- </div>
2361
-
2362
2414
  <p>In version 0.8 of Icarus Verilog, the <code class="code">vpi_control(vpiReset)</code> VPI function causes an assertion to fail inside the simulator. As a result, the simulation terminates and a core dump is produced.</p>
2363
2415
 
2364
2416
 
data/doc/memo.doc CHANGED
@@ -1,10 +1,11 @@
1
1
  h1. Pending tasks
2
2
 
3
- * add support for reading & writing VPI delay values
3
+ * add shortcuts for reading & writing VPI delay values
4
4
 
5
5
  * GHDL simulator supports VPI
6
- ** -need way to invoke VPI tasks from VHDL, like @$ruby_init();@-
7
- No need for tasks; Ruby-VPI uses callbacks now!
6
+ ** need way to invoke VPI tasks from VHDL, like @$ruby_init();@
7
+
8
+ +No need for system tasks/functions. Ruby-VPI uses callbacks now!+
8
9
 
9
10
  * add instructions for using *ruby-debug* with a graphical debugging tool or IDE like RadRails
10
11
 
@@ -44,12 +45,17 @@ h1. Finished tasks
44
45
 
45
46
  h1. Obsolete tasks
46
47
 
47
- * -smarter test generation, which adjusts to user modifications in previously generated output-
48
- Just use a smart merging tool like *kdiff3*.
48
+ * smarter test generation, which adjusts to user modifications in previously generated output
49
+
50
+ +Just use a smart merging tool like *kdiff3*.+
51
+
52
+ * interactive console IRB wrapper for spec (just like Breakpoints in Rails)
53
+
54
+ +Use the *ruby-debug* library with "*debugger* command for breakpoints":http://www.datanoise.com/articles/category/ruby-debug instead!+
55
+
56
+ * need to dump signal values when expectation fails in rSpec
49
57
 
50
- * -interactive console IRB wrapper for spec (just like Breakpoints in Rails)- Use the *ruby-debug* library with "*debugger* command for breakpoints":http://www.datanoise.com/articles/category/ruby-debug instead!
58
+ +You can use the interactive debugger instead.+
59
+ ** maybe a waveform dump will also help
51
60
 
52
- * -need to dump signal values when expectation fails in rSpec-
53
- You can use the interactive debugger instead.
54
- ** -maybe a waveform dump will also help-
55
- After reading some RTL verification books, this is not necessarily true.
61
+ +After reading some RTL verification books, this is not necessarily true.+
data/doc/memo.html CHANGED
@@ -2,14 +2,22 @@
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="common.css" />
5
+ <link rel="stylesheet" type="text/css" href="common.css" media="screen" />
6
+ <link rel="stylesheet" type="text/css" href="print.css" media="print" />
6
7
  <link rel="alternate" type="application/rss+xml" href="http://ruby-vpi.rubyforge.org/doc/rss.xml" title="RSS feed for this project." />
7
8
  <title>Pending tasks</title>
8
9
  </head>
9
10
  <body>
10
- <div id="navigation">
11
- <p><a href="readme.html"><img src="images/home.png" title="project home" alt="project home" /></a></p>
12
11
 
12
+ <br/><br/> <!-- give space below #menu -->
13
+
14
+ <p style="text-align:center;"><a href="readme.html"><img src="images/home.png" title="Return to main page" alt="Return to main page" /></a></p>
15
+
16
+ <div id="menu">
17
+ <a href="#index">Contents</a>
18
+ </div>
19
+
20
+ <div id="index">
13
21
  <h1>Contents</h1>
14
22
  <ul>
15
23
  <li>1 <a href="#anchor1">Pending tasks</a></li>
@@ -17,24 +25,21 @@
17
25
  <li>3 <a href="#anchor3">Obsolete tasks</a></li>
18
26
  </ul>
19
27
 
20
- <h1>Admonitions</h1>
21
-
22
- <h1>Formals</h1>
23
-
24
- </div>
28
+ </div>
25
29
  <h1 id="anchor1">1 &nbsp; Pending tasks</h1>
26
30
 
27
31
 
28
32
  <ul>
29
- <li>add support for reading &#38; writing <span class="caps">VPI</span> delay values</li>
33
+ <li>add shortcuts for reading &#38; writing <span class="caps">VPI</span> delay values</li>
30
34
  </ul>
31
35
 
32
36
 
33
37
  <ul>
34
38
  <li><span class="caps">GHDL</span> simulator supports <span class="caps">VPI</span>
35
39
  <ul>
36
- <li><del>need way to invoke <span class="caps">VPI</span> tasks from <span class="caps">VHDL</span>, like <code class="code"><span style="color:#d70; font-weight:bold">$ruby_init</span>();</code></del>
37
- No need for tasks; Ruby-VPI uses callbacks now!</li>
40
+ <li>need way to invoke <span class="caps">VPI</span> tasks from <span class="caps">VHDL</span>, like <code class="code"><span style="color:#d70; font-weight:bold">$ruby_init</span>();</code>
41
+
42
+ <p><ins>No need for system tasks/functions. Ruby-VPI uses callbacks now!</ins></p></li>
38
43
  </ul></li>
39
44
  </ul>
40
45
 
@@ -126,22 +131,28 @@ No need for tasks; Ruby-VPI uses callbacks now!</li>
126
131
 
127
132
 
128
133
  <ul>
129
- <li><del>smarter test generation, which adjusts to user modifications in previously generated output</del>
130
- Just use a smart merging tool like <strong>kdiff3</strong>.</li>
134
+ <li>smarter test generation, which adjusts to user modifications in previously generated output
135
+
136
+ <p><ins>Just use a smart merging tool like <strong>kdiff3</strong>.</ins></p></li>
131
137
  </ul>
132
138
 
133
139
 
134
140
  <ul>
135
- <li><del>interactive console <span class="caps">IRB</span> wrapper for spec (just like Breakpoints in Rails)</del> Use the <strong>ruby-debug</strong> library with <a href="http://www.datanoise.com/articles/category/ruby-debug"><strong>debugger</strong> command for breakpoints</a> instead!</li>
141
+ <li>interactive console <span class="caps">IRB</span> wrapper for spec (just like Breakpoints in Rails)
142
+
143
+ <p><ins>Use the <strong>ruby-debug</strong> library with <a href="http://www.datanoise.com/articles/category/ruby-debug"><strong>debugger</strong> command for breakpoints</a> instead!</ins></p></li>
136
144
  </ul>
137
145
 
138
146
 
139
147
  <ul>
140
- <li><del>need to dump signal values when expectation fails in rSpec</del>
141
- You can use the interactive debugger instead.
148
+ <li>need to dump signal values when expectation fails in rSpec
149
+
150
+ <p><ins>You can use the interactive debugger instead.</ins></p>
151
+
142
152
  <ul>
143
- <li><del>maybe a waveform dump will also help</del>
144
- After reading some <span class="caps">RTL</span> verification books, this is not necessarily true.</li>
153
+ <li>maybe a waveform dump will also help
154
+
155
+ <p><ins>After reading some <span class="caps">RTL</span> verification books, this is not necessarily true.</ins></p></li>
145
156
  </ul></li>
146
157
  </ul>
147
158
  </body>
data/doc/print.css ADDED
@@ -0,0 +1,10 @@
1
+ @import "common.css";
2
+
3
+ body {
4
+ margin: 0;
5
+ max-width: none;
6
+ }
7
+
8
+ #menu, #index {
9
+ display: none;
10
+ }
data/doc/readme.doc CHANGED
@@ -1,46 +1,5 @@
1
1
  <% table_of_contents = false %>
2
- <div id="navigation">
3
2
 
4
- <a type="application/rss+xml" href="<%= RSS_URL %>">!images/feed-icon.png(<%= RSS_INFO %>)!</a>
3
+ h1{margin-top: 0}. Welcome to Ruby-VPI
5
4
 
6
- * "Tutorial":manual.html#usage.tutorial
7
- - learn how to use Ruby-VPI quickly.
8
-
9
- * "Manual":manual.html
10
- - complete documentation for users. _Start here!_
11
-
12
- * "Reference":../ref/
13
- - API documentation for Ruby libraries and C extension.
14
-
15
-
16
- * "Facilities":http://rubyforge.org/projects/ruby-vpi
17
- ** "Downloads":http://rubyforge.org/frs/?group_id=1339
18
- ** "Bugs":http://rubyforge.org/tracker/?group_id=1339
19
- ** "Patches":http://rubyforge.org/tracker/?group_id=1339
20
- ** "Requests":http://rubyforge.org/tracker/?group_id=1339
21
- ** "Forums":http://rubyforge.org/forum/?group_id=1339
22
-
23
- * "Sources":http://ruby-vpi.rubyforge.org/src/ruby-vpi
24
- - browse or access the "Darcs":http://abridgegame.org/darcs/ source code repository.
25
-
26
-
27
- * "News":http://ruby-vpi.rubyforge.org/news
28
- - see what's cooking for the next release.
29
-
30
- * "Talks":http://ruby-vpi.rubyforge.org/talks
31
- - slides from public presentations about Ruby-VPI.
32
-
33
-
34
- * "Memo":memo.html
35
- - pending tasks for future releases.
36
-
37
- * "History":history.html
38
- - record of all release notes.
39
-
40
-
41
- </div>
42
-
43
-
44
- h1. Welcome to Ruby-VPI
45
-
46
- <%= File.read 'intro.inc' %>
5
+ <%= import 'intro.inc' %>