ruby-vpi 15.0.2 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. data/LICENSE +23 -340
  2. data/Rakefile +169 -192
  3. data/bin/generate_test.rb +26 -25
  4. data/bin/generate_test_tpl/runner.rake +4 -10
  5. data/bin/header_to_ruby.rb +3 -20
  6. data/doc/README +11 -0
  7. data/doc/Rakefile +8 -21
  8. data/doc/common.css +44 -10
  9. data/doc/common.tpl +5 -10
  10. data/doc/history.doc +8 -7
  11. data/doc/history.html +228 -560
  12. data/doc/history.rb +7 -11
  13. data/doc/{history.yml → history.yaml} +325 -128
  14. data/doc/images/{feed-icon.png → feed-icon-28x28.png} +0 -0
  15. data/doc/images/ruby/LICENSE +15 -0
  16. data/doc/images/ruby/logo-reflection.png +0 -0
  17. data/doc/images/ruby/logo-reflection.xcf +0 -0
  18. data/doc/images/ruby/logo.png +0 -0
  19. data/doc/images/{LICENSE → tango/LICENSE} +0 -0
  20. data/doc/images/{caution.png → tango/caution.png} +0 -0
  21. data/doc/images/{caution.svg → tango/caution.svg} +0 -0
  22. data/doc/images/{home.png → tango/home.png} +0 -0
  23. data/doc/images/{home.svg → tango/home.svg} +0 -0
  24. data/doc/images/{important.png → tango/important.png} +0 -0
  25. data/doc/images/{important.svg → tango/important.svg} +0 -0
  26. data/doc/images/{next.png → tango/next.png} +0 -0
  27. data/doc/images/{next.svg → tango/next.svg} +0 -0
  28. data/doc/images/{note.png → tango/note.png} +0 -0
  29. data/doc/images/{note.svg → tango/note.svg} +0 -0
  30. data/doc/images/{prev.png → tango/prev.png} +0 -0
  31. data/doc/images/{prev.svg → tango/prev.svg} +0 -0
  32. data/doc/images/{tip.png → tango/tip.png} +0 -0
  33. data/doc/images/{tip.svg → tango/tip.svg} +0 -0
  34. data/doc/images/{up.png → tango/up.png} +0 -0
  35. data/doc/images/{up.svg → tango/up.svg} +0 -0
  36. data/doc/images/{warning.png → tango/warning.png} +0 -0
  37. data/doc/images/{warning.svg → tango/warning.svg} +0 -0
  38. data/doc/intro.inc +105 -36
  39. data/doc/lib/doc_format.rb +151 -29
  40. data/doc/lib/doc_proxy.rb +28 -69
  41. data/doc/lib/erb_content.rb +10 -22
  42. data/doc/lib/erb_proxy.rb +13 -24
  43. data/doc/manual.doc +16 -60
  44. data/doc/manual.html +257 -340
  45. data/doc/memo.doc +2 -0
  46. data/doc/memo.html +11 -11
  47. data/doc/readme.doc +36 -2
  48. data/doc/readme.html +214 -51
  49. data/doc/rss.erb +3 -3
  50. data/doc/rss.xml +217 -269
  51. data/ext/Rakefile +7 -22
  52. data/ext/common.h +10 -21
  53. data/ext/extconf.rb +5 -0
  54. data/ext/main.c +2 -18
  55. data/ext/main.h +1 -16
  56. data/ext/relay.c +3 -17
  57. data/ext/relay.h +3 -17
  58. data/ext/verilog.h +6 -18
  59. data/ext/vlog.c +3 -21
  60. data/ext/vlog.h +3 -17
  61. data/lib/ruby-vpi/erb.rb +7 -20
  62. data/lib/ruby-vpi/float.rb +6 -20
  63. data/lib/ruby-vpi/integer.rb +27 -47
  64. data/lib/ruby-vpi/rake.rb +4 -19
  65. data/lib/ruby-vpi/rcov.rb +6 -21
  66. data/lib/ruby-vpi/rdoc.rb +3 -21
  67. data/lib/ruby-vpi/runner.rb +28 -29
  68. data/lib/ruby-vpi/runner_proxy.rb +5 -21
  69. data/lib/ruby-vpi/verilog_parser.rb +5 -20
  70. data/lib/ruby-vpi/vpi.rb +420 -376
  71. data/lib/ruby-vpi.rb +26 -32
  72. data/ref/c/annotated.html +1 -1
  73. data/ref/c/common_8h.html +1 -1
  74. data/ref/c/files.html +1 -1
  75. data/ref/c/functions.html +1 -1
  76. data/ref/c/functions_vars.html +1 -1
  77. data/ref/c/globals.html +1 -1
  78. data/ref/c/globals_0x63.html +1 -1
  79. data/ref/c/globals_0x65.html +1 -1
  80. data/ref/c/globals_0x66.html +1 -1
  81. data/ref/c/globals_0x6d.html +1 -1
  82. data/ref/c/globals_0x70.html +1 -1
  83. data/ref/c/globals_0x72.html +1 -1
  84. data/ref/c/globals_0x73.html +1 -1
  85. data/ref/c/globals_0x74.html +1 -1
  86. data/ref/c/globals_0x76.html +1 -1
  87. data/ref/c/globals_0x78.html +1 -1
  88. data/ref/c/globals_defs.html +1 -1
  89. data/ref/c/globals_defs_0x65.html +1 -1
  90. data/ref/c/globals_defs_0x70.html +1 -1
  91. data/ref/c/globals_defs_0x76.html +1 -1
  92. data/ref/c/globals_defs_0x78.html +1 -1
  93. data/ref/c/globals_enum.html +1 -1
  94. data/ref/c/globals_eval.html +1 -1
  95. data/ref/c/globals_func.html +1 -1
  96. data/ref/c/globals_type.html +1 -1
  97. data/ref/c/globals_vars.html +1 -1
  98. data/ref/c/index.html +1 -1
  99. data/ref/c/main_8c.html +1 -1
  100. data/ref/c/main_8h.html +1 -1
  101. data/ref/c/relay_8c.html +1 -1
  102. data/ref/c/relay_8h.html +1 -1
  103. data/ref/c/structt__cb__data.html +1 -1
  104. data/ref/c/structt__vpi__delay.html +1 -1
  105. data/ref/c/structt__vpi__error__info.html +1 -1
  106. data/ref/c/structt__vpi__strengthval.html +1 -1
  107. data/ref/c/structt__vpi__systf__data.html +1 -1
  108. data/ref/c/structt__vpi__time.html +1 -1
  109. data/ref/c/structt__vpi__value.html +1 -1
  110. data/ref/c/structt__vpi__vecval.html +1 -1
  111. data/ref/c/structt__vpi__vlog__info.html +1 -1
  112. data/ref/c/verilog_8h.html +1 -1
  113. data/ref/c/vlog_8c.html +1 -1
  114. data/ref/c/vlog_8h.html +1 -1
  115. data/ref/c/vpi__user_8h.html +1 -1
  116. data/ref/ruby/classes/ERB.html +5 -5
  117. data/ref/ruby/classes/ERB.src/{M000026.html → M000024.html} +15 -15
  118. data/ref/ruby/classes/FileUtils.html +10 -10
  119. data/ref/ruby/classes/FileUtils.src/{M000027.html → M000025.html} +4 -4
  120. data/ref/ruby/classes/FileUtils.src/{M000028.html → M000026.html} +4 -4
  121. data/ref/ruby/classes/Float.html +5 -5
  122. data/ref/ruby/classes/Float.src/{M000022.html → M000020.html} +5 -5
  123. data/ref/ruby/classes/Integer.html +20 -56
  124. data/ref/ruby/classes/Integer.src/M000008.html +11 -11
  125. data/ref/ruby/classes/Integer.src/M000009.html +4 -4
  126. data/ref/ruby/classes/Integer.src/M000010.html +4 -4
  127. data/ref/ruby/classes/Integer.src/M000011.html +4 -4
  128. data/ref/ruby/classes/Integer.src/M000012.html +4 -4
  129. data/ref/ruby/classes/Integer.src/M000013.html +4 -4
  130. data/ref/ruby/classes/Integer.src/M000016.html +12 -9
  131. data/ref/ruby/classes/Integer.src/M000017.html +18 -9
  132. data/ref/ruby/classes/Integer.src/M000018.html +12 -12
  133. data/ref/ruby/classes/Integer.src/M000019.html +17 -18
  134. data/ref/ruby/classes/RDoc.src/M000053.html +25 -25
  135. data/ref/ruby/classes/RubyVpi/Config.html +3 -3
  136. data/ref/ruby/classes/RubyVpi.html +11 -5
  137. data/ref/ruby/classes/RubyVpi.src/{M000029.html → M000027.html} +103 -101
  138. data/ref/ruby/classes/String.html +21 -15
  139. data/ref/ruby/classes/String.src/M000021.html +36 -0
  140. data/ref/ruby/classes/String.src/{M000024.html → M000022.html} +24 -24
  141. data/ref/ruby/classes/String.src/M000023.html +5 -23
  142. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000007.html +5 -5
  143. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000003.html +7 -7
  144. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000004.html +4 -4
  145. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000005.html +4 -4
  146. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +4 -4
  147. data/ref/ruby/classes/VerilogParser/Module.src/M000002.html +20 -20
  148. data/ref/ruby/classes/VerilogParser.html +6 -0
  149. data/ref/ruby/classes/VerilogParser.src/M000001.html +20 -20
  150. data/ref/ruby/classes/Vpi/Handle.html +89 -88
  151. data/ref/ruby/classes/Vpi/Handle.src/M000036.html +18 -0
  152. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +5 -5
  153. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +5 -5
  154. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +5 -5
  155. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +8 -5
  156. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +8 -8
  157. data/ref/ruby/classes/Vpi/Handle.src/M000042.html +7 -6
  158. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +31 -9
  159. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +74 -31
  160. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +17 -74
  161. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +11 -17
  162. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +31 -0
  163. data/ref/ruby/classes/Vpi/Handle.src/M000049.html +53 -52
  164. data/ref/ruby/classes/Vpi/S_vpi_time.src/M000050.html +4 -4
  165. data/ref/ruby/classes/Vpi/S_vpi_time.src/M000051.html +5 -5
  166. data/ref/ruby/classes/Vpi/S_vpi_value.html +15 -15
  167. data/ref/ruby/classes/Vpi/S_vpi_value.src/{M000036.html → M000033.html} +5 -5
  168. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +5 -5
  169. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000035.html +5 -5
  170. data/ref/ruby/classes/Vpi.html +48 -19
  171. data/ref/ruby/classes/Vpi.src/M000028.html +28 -0
  172. data/ref/ruby/classes/Vpi.src/M000029.html +18 -0
  173. data/ref/ruby/classes/Vpi.src/M000030.html +25 -15
  174. data/ref/ruby/classes/Vpi.src/M000031.html +9 -5
  175. data/ref/ruby/classes/Vpi.src/M000032.html +9 -25
  176. data/ref/ruby/created.rid +1 -1
  177. data/ref/ruby/files/bin/generate_test_rb.html +2 -1
  178. data/ref/ruby/files/bin/header_to_ruby_rb.html +1 -1
  179. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +7 -1
  180. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +7 -1
  181. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +7 -1
  182. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +7 -1
  183. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +7 -1
  184. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  185. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  186. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  187. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
  188. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  189. data/ref/ruby/files/lib/ruby-vpi_rb.html +7 -1
  190. data/ref/ruby/fr_method_index.html +34 -34
  191. data/samp/counter/counter_rspec_runner.rake +4 -0
  192. data/samp/counter/counter_xunit_runner.rake +4 -0
  193. data/samp/pipelined_alu/Hw5UnitModel.rb +3 -19
  194. data/samp/pipelined_alu/README +38 -13
  195. data/samp/pipelined_alu/TestHw5UnitModel.rb +9 -20
  196. data/samp/pipelined_alu/hw5_unit.v +1 -16
  197. data/samp/pipelined_alu/hw5_unit_test_runner.rake +4 -0
  198. data/samp/pipelined_alu/hw5_unit_test_spec.rb +3 -20
  199. data/samp/pipelined_alu/int_gen.rb +6 -20
  200. metadata +47 -43
  201. data/doc/LICENSE +0 -397
  202. data/doc/images/feed-icon.LICENSE +0 -2
  203. data/doc/images/feed-icon.svg +0 -18
  204. data/ref/ruby/classes/Integer.src/M000020.html +0 -25
  205. data/ref/ruby/classes/Integer.src/M000021.html +0 -30
  206. data/ref/ruby/classes/String.src/M000025.html +0 -18
  207. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +0 -24
  208. data/ref/ruby/classes/Vpi.src/M000033.html +0 -22
@@ -83,13 +83,11 @@
83
83
  An object inside a Verilog simulation (see <b>vpiHandle</b> in IEEE Std.
84
84
  1364-2005).
85
85
  </p>
86
- <ul>
87
- <li>VPI types and properties listed in ext/vpi_user.h can be specified by their
86
+ <p>
87
+ VPI types and properties listed in ext/vpi_user.h can be specified by their
88
88
  names (strings or symbols) or integer constants.
89
-
90
- <ul>
91
- <li>example names:
92
-
89
+ </p>
90
+ <h1>Example names</h1>
93
91
  <ul>
94
92
  <li>&quot;intVal&quot;
95
93
 
@@ -110,9 +108,7 @@ names (strings or symbols) or integer constants.
110
108
 
111
109
  </li>
112
110
  </ul>
113
- </li>
114
- <li>example constants:
115
-
111
+ <h1>Example constants</h1>
116
112
  <ul>
117
113
  <li>VpiIntVal
118
114
 
@@ -122,10 +118,6 @@ names (strings or symbols) or integer constants.
122
118
  </li>
123
119
  <li>VpiReg
124
120
 
125
- </li>
126
- </ul>
127
- </li>
128
- </ul>
129
121
  </li>
130
122
  </ul>
131
123
 
@@ -138,19 +130,20 @@ names (strings or symbols) or integer constants.
138
130
  <h3 class="section-bar">Methods</h3>
139
131
 
140
132
  <div class="name-list">
141
- <a href="#M000046">[]</a>&nbsp;&nbsp;
142
- <a href="#M000044">get_value</a>&nbsp;&nbsp;
143
- <a href="#M000043">get_value_wrapper</a>&nbsp;&nbsp;
144
- <a href="#M000047">inspect</a>&nbsp;&nbsp;
133
+ <a href="#M000045">[]</a>&nbsp;&nbsp;
134
+ <a href="#M000048">cbValueChange</a>&nbsp;&nbsp;
135
+ <a href="#M000043">get_value</a>&nbsp;&nbsp;
136
+ <a href="#M000042">get_value_wrapper</a>&nbsp;&nbsp;
137
+ <a href="#M000046">inspect</a>&nbsp;&nbsp;
145
138
  <a href="#M000049">method_missing</a>&nbsp;&nbsp;
146
- <a href="#M000042">negedge?</a>&nbsp;&nbsp;
147
- <a href="#M000041">posedge?</a>&nbsp;&nbsp;
148
- <a href="#M000045">put_value</a>&nbsp;&nbsp;
149
- <a href="#M000048">to_s</a>&nbsp;&nbsp;
150
- <a href="#M000038">x!</a>&nbsp;&nbsp;
151
- <a href="#M000037">x?</a>&nbsp;&nbsp;
152
- <a href="#M000040">z!</a>&nbsp;&nbsp;
153
- <a href="#M000039">z?</a>&nbsp;&nbsp;
139
+ <a href="#M000041">negedge?</a>&nbsp;&nbsp;
140
+ <a href="#M000040">posedge?</a>&nbsp;&nbsp;
141
+ <a href="#M000044">put_value</a>&nbsp;&nbsp;
142
+ <a href="#M000047">to_s</a>&nbsp;&nbsp;
143
+ <a href="#M000037">x!</a>&nbsp;&nbsp;
144
+ <a href="#M000036">x?</a>&nbsp;&nbsp;
145
+ <a href="#M000039">z!</a>&nbsp;&nbsp;
146
+ <a href="#M000038">z?</a>&nbsp;&nbsp;
154
147
  </div>
155
148
  </div>
156
149
 
@@ -192,12 +185,12 @@ names (strings or symbols) or integer constants.
192
185
  <div id="methods">
193
186
  <h3 class="section-bar">Public Instance methods</h3>
194
187
 
195
- <div id="method-M000046" class="method-detail">
196
- <a name="M000046"></a>
188
+ <div id="method-M000045" class="method-detail">
189
+ <a name="M000045"></a>
197
190
 
198
191
  <div class="method-heading">
199
- <a href="Handle.src/M000046.html" target="Code" class="method-signature"
200
- onclick="popupCode('Handle.src/M000046.html');return false;">
192
+ <a href="Handle.src/M000045.html" target="Code" class="method-signature"
193
+ onclick="popupCode('Handle.src/M000045.html');return false;">
201
194
  <span class="method-name">[]</span><span class="method-args">(*aTypes)</span>
202
195
  </a>
203
196
  </div>
@@ -210,21 +203,20 @@ constant).
210
203
  </div>
211
204
  </div>
212
205
 
213
- <div id="method-M000044" class="method-detail">
214
- <a name="M000044"></a>
206
+ <div id="method-M000048" class="method-detail">
207
+ <a name="M000048"></a>
215
208
 
216
209
  <div class="method-heading">
217
- <a href="Handle.src/M000044.html" target="Code" class="method-signature"
218
- onclick="popupCode('Handle.src/M000044.html');return false;">
219
- <span class="method-name">get_value</span><span class="method-args">(aFormat = VpiObjTypeVal)</span>
210
+ <a href="Handle.src/M000048.html" target="Code" class="method-signature"
211
+ onclick="popupCode('Handle.src/M000048.html');return false;">
212
+ <span class="method-name">cbValueChange</span><span class="method-args">(aOptions = {})</span>
220
213
  </a>
221
214
  </div>
222
215
 
223
216
  <div class="method-description">
224
217
  <p>
225
- Reads the value using the given format (name or integer constant) and
226
- returns it. If a format is not given, then the Verilog simulator will
227
- attempt to determine the correct format.
218
+ Registers a callback that is invoked whenever the value of this object
219
+ changes.
228
220
  </p>
229
221
  </div>
230
222
  </div>
@@ -235,6 +227,25 @@ attempt to determine the correct format.
235
227
  <div class="method-heading">
236
228
  <a href="Handle.src/M000043.html" target="Code" class="method-signature"
237
229
  onclick="popupCode('Handle.src/M000043.html');return false;">
230
+ <span class="method-name">get_value</span><span class="method-args">(aFormat = VpiObjTypeVal)</span>
231
+ </a>
232
+ </div>
233
+
234
+ <div class="method-description">
235
+ <p>
236
+ Reads the value using the given format (name or integer constant) and
237
+ returns it. If a format is not given, then the Verilog simulator will
238
+ attempt to determine the correct format.
239
+ </p>
240
+ </div>
241
+ </div>
242
+
243
+ <div id="method-M000042" class="method-detail">
244
+ <a name="M000042"></a>
245
+
246
+ <div class="method-heading">
247
+ <a href="Handle.src/M000042.html" target="Code" class="method-signature"
248
+ onclick="popupCode('Handle.src/M000042.html');return false;">
238
249
  <span class="method-name">get_value_wrapper</span><span class="method-args">(aFormat)</span>
239
250
  </a>
240
251
  </div>
@@ -247,12 +258,12 @@ Reads the value using the given format (integer constant) and returns a
247
258
  </div>
248
259
  </div>
249
260
 
250
- <div id="method-M000047" class="method-detail">
251
- <a name="M000047"></a>
261
+ <div id="method-M000046" class="method-detail">
262
+ <a name="M000046"></a>
252
263
 
253
264
  <div class="method-heading">
254
- <a href="Handle.src/M000047.html" target="Code" class="method-signature"
255
- onclick="popupCode('Handle.src/M000047.html');return false;">
265
+ <a href="Handle.src/M000046.html" target="Code" class="method-signature"
266
+ onclick="popupCode('Handle.src/M000046.html');return false;">
256
267
  <span class="method-name">inspect</span><span class="method-args">(*aPropNames)</span>
257
268
  </a>
258
269
  </div>
@@ -277,32 +288,22 @@ handles.
277
288
 
278
289
  <div class="method-description">
279
290
  <p>
280
- Provides access to this handle&#8217;s
281
- </p>
282
- <ol>
283
- <li>child handles
284
-
285
- </li>
286
- <li>VPI properties
287
-
288
- </li>
289
- </ol>
290
- <p>
291
- through method calls. In the case that a child handle has the same name as
292
- a VPI property, the child handle will be accessed instead of the VPI
293
- property. However, you can still access the VPI property via <a
294
- href="Handle.html#M000044">get_value</a> and <a
295
- href="Handle.html#M000045">put_value</a>.
291
+ Provides access to this handle&#8217;s (1) child handles and (2) VPI
292
+ properties through method calls. In the case that a child handle has the
293
+ same name as a VPI property, the child handle will be accessed instead of
294
+ the VPI property. However, you can still access the VPI property via <a
295
+ href="Handle.html#M000043">get_value</a> and <a
296
+ href="Handle.html#M000044">put_value</a>.
296
297
  </p>
297
298
  </div>
298
299
  </div>
299
300
 
300
- <div id="method-M000042" class="method-detail">
301
- <a name="M000042"></a>
301
+ <div id="method-M000041" class="method-detail">
302
+ <a name="M000041"></a>
302
303
 
303
304
  <div class="method-heading">
304
- <a href="Handle.src/M000042.html" target="Code" class="method-signature"
305
- onclick="popupCode('Handle.src/M000042.html');return false;">
305
+ <a href="Handle.src/M000041.html" target="Code" class="method-signature"
306
+ onclick="popupCode('Handle.src/M000041.html');return false;">
306
307
  <span class="method-name">negedge?</span><span class="method-args">()</span>
307
308
  </a>
308
309
  </div>
@@ -314,12 +315,12 @@ Tests if the logic value of this handle is currently at a negative edge.
314
315
  </div>
315
316
  </div>
316
317
 
317
- <div id="method-M000041" class="method-detail">
318
- <a name="M000041"></a>
318
+ <div id="method-M000040" class="method-detail">
319
+ <a name="M000040"></a>
319
320
 
320
321
  <div class="method-heading">
321
- <a href="Handle.src/M000041.html" target="Code" class="method-signature"
322
- onclick="popupCode('Handle.src/M000041.html');return false;">
322
+ <a href="Handle.src/M000040.html" target="Code" class="method-signature"
323
+ onclick="popupCode('Handle.src/M000040.html');return false;">
323
324
  <span class="method-name">posedge?</span><span class="method-args">()</span>
324
325
  </a>
325
326
  </div>
@@ -331,12 +332,12 @@ Tests if the logic value of this handle is currently at a positive edge.
331
332
  </div>
332
333
  </div>
333
334
 
334
- <div id="method-M000045" class="method-detail">
335
- <a name="M000045"></a>
335
+ <div id="method-M000044" class="method-detail">
336
+ <a name="M000044"></a>
336
337
 
337
338
  <div class="method-heading">
338
- <a href="Handle.src/M000045.html" target="Code" class="method-signature"
339
- onclick="popupCode('Handle.src/M000045.html');return false;">
339
+ <a href="Handle.src/M000044.html" target="Code" class="method-signature"
340
+ onclick="popupCode('Handle.src/M000044.html');return false;">
340
341
  <span class="method-name">put_value</span><span class="method-args">(aValue, aFormat = nil, aTime = nil, aDelay = VpiNoDelay)</span>
341
342
  </a>
342
343
  </div>
@@ -351,8 +352,8 @@ format.
351
352
  </div>
352
353
  </div>
353
354
 
354
- <div id="method-M000048" class="method-detail">
355
- <a name="M000048"></a>
355
+ <div id="method-M000047" class="method-detail">
356
+ <a name="M000047"></a>
356
357
 
357
358
  <div class="method-heading">
358
359
  <span class="method-name">to_s</span><span class="method-args">(*aPropNames)</span>
@@ -360,17 +361,17 @@ format.
360
361
 
361
362
  <div class="method-description">
362
363
  <p>
363
- Alias for <a href="Handle.html#M000047">inspect</a>
364
+ Alias for <a href="Handle.html#M000046">inspect</a>
364
365
  </p>
365
366
  </div>
366
367
  </div>
367
368
 
368
- <div id="method-M000038" class="method-detail">
369
- <a name="M000038"></a>
369
+ <div id="method-M000037" class="method-detail">
370
+ <a name="M000037"></a>
370
371
 
371
372
  <div class="method-heading">
372
- <a href="Handle.src/M000038.html" target="Code" class="method-signature"
373
- onclick="popupCode('Handle.src/M000038.html');return false;">
373
+ <a href="Handle.src/M000037.html" target="Code" class="method-signature"
374
+ onclick="popupCode('Handle.src/M000037.html');return false;">
374
375
  <span class="method-name">x!</span><span class="method-args">()</span>
375
376
  </a>
376
377
  </div>
@@ -382,12 +383,12 @@ Sets the logic value of this handle to unknown (x).
382
383
  </div>
383
384
  </div>
384
385
 
385
- <div id="method-M000037" class="method-detail">
386
- <a name="M000037"></a>
386
+ <div id="method-M000036" class="method-detail">
387
+ <a name="M000036"></a>
387
388
 
388
389
  <div class="method-heading">
389
- <a href="Handle.src/M000037.html" target="Code" class="method-signature"
390
- onclick="popupCode('Handle.src/M000037.html');return false;">
390
+ <a href="Handle.src/M000036.html" target="Code" class="method-signature"
391
+ onclick="popupCode('Handle.src/M000036.html');return false;">
391
392
  <span class="method-name">x?</span><span class="method-args">()</span>
392
393
  </a>
393
394
  </div>
@@ -399,12 +400,12 @@ Tests if the logic value of this handle is unknown (x).
399
400
  </div>
400
401
  </div>
401
402
 
402
- <div id="method-M000040" class="method-detail">
403
- <a name="M000040"></a>
403
+ <div id="method-M000039" class="method-detail">
404
+ <a name="M000039"></a>
404
405
 
405
406
  <div class="method-heading">
406
- <a href="Handle.src/M000040.html" target="Code" class="method-signature"
407
- onclick="popupCode('Handle.src/M000040.html');return false;">
407
+ <a href="Handle.src/M000039.html" target="Code" class="method-signature"
408
+ onclick="popupCode('Handle.src/M000039.html');return false;">
408
409
  <span class="method-name">z!</span><span class="method-args">()</span>
409
410
  </a>
410
411
  </div>
@@ -416,12 +417,12 @@ Sets the logic value of this handle to high impedance (z).
416
417
  </div>
417
418
  </div>
418
419
 
419
- <div id="method-M000039" class="method-detail">
420
- <a name="M000039"></a>
420
+ <div id="method-M000038" class="method-detail">
421
+ <a name="M000038"></a>
421
422
 
422
423
  <div class="method-heading">
423
- <a href="Handle.src/M000039.html" target="Code" class="method-signature"
424
- onclick="popupCode('Handle.src/M000039.html');return false;">
424
+ <a href="Handle.src/M000038.html" target="Code" class="method-signature"
425
+ onclick="popupCode('Handle.src/M000038.html');return false;">
425
426
  <span class="method-name">z?</span><span class="method-args">()</span>
426
427
  </a>
427
428
  </div>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>x? (Vpi::Handle)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 56</span>
14
+ 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x?</span>
15
+ 57: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/x/i</span>
16
+ 58: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>x? (Vpi::Handle)</title>
8
+ <title>x! (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 65</span>
14
- 65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x?</span>
15
- 66: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/x/i</span>
16
- 67: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 61</span>
14
+ 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x!</span>
15
+ 62: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'x'</span>
16
+ 63: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>x! (Vpi::Handle)</title>
8
+ <title>z? (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 70</span>
14
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x!</span>
15
- 71: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'x'</span>
16
- 72: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 66</span>
14
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z?</span>
15
+ 67: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/z/i</span>
16
+ 68: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>z? (Vpi::Handle)</title>
8
+ <title>z! (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 75</span>
14
- 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z?</span>
15
- 76: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/z/i</span>
16
- 77: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 71</span>
14
+ 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z!</span>
15
+ 72: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'z'</span>
16
+ 73: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,14 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>z! (Vpi::Handle)</title>
8
+ <title>posedge? (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 80</span>
14
- 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z!</span>
15
- 81: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'z'</span>
16
- 82: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 76</span>
14
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">posedge?</span>
15
+ 77: <span class="ruby-identifier">old</span> = <span class="ruby-ivar">@lastVal</span>
16
+ 78: <span class="ruby-identifier">new</span> = <span class="ruby-ivar">@lastVal</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">intVal</span>
17
+ 79:
18
+ 80: <span class="ruby-identifier">old</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">new</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
19
+ 81: <span class="ruby-keyword kw">end</span></pre>
17
20
  </body>
18
21
  </html>
@@ -5,17 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>posedge? (Vpi::Handle)</title>
8
+ <title>negedge? (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 85</span>
14
- 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">posedge?</span>
15
- 86: <span class="ruby-identifier">old</span> = <span class="ruby-ivar">@lastVal</span>
16
- 87: <span class="ruby-identifier">new</span> = <span class="ruby-ivar">@lastVal</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">intVal</span>
17
- 88:
18
- 89: <span class="ruby-identifier">old</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">new</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
19
- 90: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 84</span>
14
+ 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">negedge?</span>
15
+ 85: <span class="ruby-identifier">old</span> = <span class="ruby-ivar">@lastVal</span>
16
+ 86: <span class="ruby-identifier">new</span> = <span class="ruby-ivar">@lastVal</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">intVal</span>
17
+ 87:
18
+ 88: <span class="ruby-identifier">old</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">new</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
19
+ 89: <span class="ruby-keyword kw">end</span></pre>
20
20
  </body>
21
21
  </html>
@@ -5,17 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>negedge? (Vpi::Handle)</title>
8
+ <title>get_value_wrapper (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
13
  <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 93</span>
14
- 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">negedge?</span>
15
- 94: <span class="ruby-identifier">old</span> = <span class="ruby-ivar">@lastVal</span>
16
- 95: <span class="ruby-identifier">new</span> = <span class="ruby-ivar">@lastVal</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">intVal</span>
14
+ 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_value_wrapper</span> <span class="ruby-identifier">aFormat</span>
15
+ 94: <span class="ruby-identifier">val</span> = <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>
16
+ 95: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">aFormat</span>
17
17
  96:
18
- 97: <span class="ruby-identifier">old</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">new</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
19
- 98: <span class="ruby-keyword kw">end</span></pre>
18
+ 97: <span class="ruby-identifier">vpi_get_value</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">val</span>
19
+ 98: <span class="ruby-identifier">val</span>
20
+ 99: <span class="ruby-keyword kw">end</span></pre>
20
21
  </body>
21
22
  </html>
@@ -5,18 +5,40 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>get_value_wrapper (Vpi::Handle)</title>
8
+ <title>get_value (Vpi::Handle)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 101</span>
14
- 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_value_wrapper</span> <span class="ruby-identifier">aFormat</span>
15
- 102: <span class="ruby-identifier">val</span> = <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>
16
- 103: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">aFormat</span>
17
- 104:
18
- 105: <span class="ruby-identifier">vpi_get_value</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">val</span>
19
- 106: <span class="ruby-identifier">val</span>
20
- 107: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 104</span>
14
+ 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_value</span> <span class="ruby-identifier">aFormat</span> = <span class="ruby-constant">VpiObjTypeVal</span>
15
+ 105: <span class="ruby-identifier">val</span> = <span class="ruby-identifier">get_value_wrapper</span>(<span class="ruby-identifier">resolve_prop_type</span>(<span class="ruby-identifier">aFormat</span>))
16
+ 106:
17
+ 107: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">format</span>
18
+ 108: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiBinStrVal</span>, <span class="ruby-constant">VpiOctStrVal</span>, <span class="ruby-constant">VpiDecStrVal</span>, <span class="ruby-constant">VpiHexStrVal</span>, <span class="ruby-constant">VpiStringVal</span>
19
+ 109: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span>
20
+ 110:
21
+ 111: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
22
+ 112: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span>
23
+ 113:
24
+ 114: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
25
+ 115: <span class="ruby-identifier">get_value_wrapper</span>(<span class="ruby-constant">VpiHexStrVal</span>).<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span>.<span class="ruby-identifier">to_i</span>(<span class="ruby-value">16</span>)
26
+ 116:
27
+ 117: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
28
+ 118: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span>
29
+ 119:
30
+ 120: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
31
+ 121: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span>
32
+ 122:
33
+ 123: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
34
+ 124: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span>
35
+ 125:
36
+ 126: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
37
+ 127: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span>
38
+ 128:
39
+ 129: <span class="ruby-keyword kw">else</span>
40
+ 130: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;unknown S_vpi_value.format: #{val.format}&quot;</span>
41
+ 131: <span class="ruby-keyword kw">end</span>
42
+ 132: <span class="ruby-keyword kw">end</span></pre>
21
43
  </body>
22
44
  </html>