ruby-vpi 11.1.1 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/generate_test.rb +12 -11
- data/bin/generate_test_tpl/bench.rb +0 -4
- data/bin/generate_test_tpl/bench.v +3 -6
- data/bin/generate_test_tpl/runner.rake +20 -4
- data/bin/generate_test_tpl/spec.rb +5 -7
- data/doc/common.css +110 -95
- data/doc/common.tpl +16 -17
- data/doc/history.html +350 -330
- data/doc/history.yml +49 -0
- data/doc/intro.inc +18 -4
- data/doc/lib/doc_proxy.rb +22 -32
- data/doc/manual.erb +90 -83
- data/doc/manual.html +298 -266
- data/doc/memo.html +31 -10
- data/doc/readme.html +26 -6
- data/ext/relay.c +24 -28
- data/ext/vlog.c +4 -15
- data/lib/ruby-vpi/rspec.rb +1 -1
- data/lib/ruby-vpi/runner.rb +12 -10
- data/lib/ruby-vpi/runner_proxy.rb +17 -6
- data/lib/ruby-vpi/verilog_parser.rb +11 -7
- data/lib/ruby-vpi/vpi.rb +11 -1
- data/lib/ruby-vpi.rb +4 -0
- data/ref/c/annotated.html +2 -2
- data/ref/c/common_8h.html +1 -1
- data/ref/c/files.html +1 -1
- data/ref/c/functions.html +1 -1
- data/ref/c/functions_vars.html +1 -1
- data/ref/c/globals.html +1 -1
- data/ref/c/globals_0x63.html +1 -1
- data/ref/c/globals_0x65.html +1 -1
- data/ref/c/globals_0x66.html +1 -1
- data/ref/c/globals_0x70.html +1 -1
- data/ref/c/globals_0x72.html +1 -1
- data/ref/c/globals_0x73.html +1 -1
- data/ref/c/globals_0x74.html +1 -1
- data/ref/c/globals_0x76.html +2 -2
- data/ref/c/globals_0x78.html +1 -1
- data/ref/c/globals_defs.html +1 -1
- data/ref/c/globals_defs_0x65.html +1 -1
- data/ref/c/globals_defs_0x70.html +1 -1
- data/ref/c/globals_defs_0x76.html +2 -2
- data/ref/c/globals_defs_0x78.html +1 -1
- data/ref/c/globals_enum.html +1 -1
- data/ref/c/globals_eval.html +1 -1
- data/ref/c/globals_func.html +2 -2
- data/ref/c/globals_type.html +1 -1
- data/ref/c/globals_vars.html +1 -1
- data/ref/c/index.html +1 -1
- data/ref/c/relay_8c.html +2 -1
- data/ref/c/relay_8h.html +1 -1
- data/ref/c/structrelay____RubyOptions____def.html +8 -2
- data/ref/c/structt__cb__data.html +1 -1
- data/ref/c/structt__vpi__delay.html +1 -1
- data/ref/c/structt__vpi__error__info.html +1 -1
- data/ref/c/structt__vpi__strengthval.html +1 -1
- data/ref/c/structt__vpi__systf__data.html +1 -1
- data/ref/c/structt__vpi__time.html +1 -1
- data/ref/c/structt__vpi__value.html +1 -1
- data/ref/c/structt__vpi__vecval.html +1 -1
- data/ref/c/structt__vpi__vlog__info.html +1 -1
- data/ref/c/swig_8c.html +1 -1
- data/ref/c/swig_8h.html +1 -1
- data/ref/c/verilog_8h.html +1 -1
- data/ref/c/vlog_8c.html +15 -15
- data/ref/c/vlog_8h.html +1 -1
- data/ref/c/vpi__user_8h.html +1 -1
- data/ref/ruby/classes/OutputInfo.html +1 -1
- data/ref/ruby/classes/OutputInfo.src/M000030.html +30 -30
- data/ref/ruby/classes/RDoc.html +5 -5
- data/ref/ruby/classes/RDoc.src/{M000097.html → M000099.html} +0 -0
- data/ref/ruby/classes/RubyVpi.src/M000085.html +43 -39
- data/ref/ruby/classes/String.src/M000033.html +26 -26
- data/ref/ruby/classes/String.src/M000034.html +4 -4
- data/ref/ruby/classes/Template.src/M000032.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000011.html +5 -5
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000007.html +7 -7
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000008.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000009.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000010.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module.src/M000006.html +15 -11
- data/ref/ruby/classes/Vpi/Handle/Property.html +5 -5
- data/ref/ruby/classes/Vpi/Handle/Property.src/{M000096.html → M000098.html} +61 -61
- data/ref/ruby/classes/Vpi/Handle.html +78 -43
- data/ref/ruby/classes/Vpi/Handle.src/M000088.html +3 -3
- data/ref/ruby/classes/Vpi/Handle.src/M000089.html +4 -8
- data/ref/ruby/classes/Vpi/Handle.src/M000090.html +5 -31
- data/ref/ruby/classes/Vpi/Handle.src/M000091.html +9 -74
- data/ref/ruby/classes/Vpi/Handle.src/M000092.html +31 -17
- data/ref/ruby/classes/Vpi/Handle.src/M000093.html +74 -11
- data/ref/ruby/classes/Vpi/Handle.src/M000094.html +30 -0
- data/ref/ruby/classes/Vpi/Handle.src/M000095.html +11 -55
- data/ref/ruby/classes/Vpi/Handle.src/M000097.html +68 -0
- data/ref/ruby/created.rid +1 -1
- data/ref/ruby/files/bin/generate_test_rb.html +8 -11
- data/ref/ruby/files/bin/generate_test_rb.src/M000001.html +4 -4
- data/ref/ruby/files/bin/generate_test_rb.src/M000002.html +22 -24
- data/ref/ruby/files/bin/header_to_ruby_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/rspec_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +2 -2
- data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000003.html +10 -10
- data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000004.html +12 -12
- data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -1
- data/ref/ruby/fr_method_index.html +20 -18
- data/samp/counter/counter_rspec_bench.v +3 -6
- data/samp/counter/counter_rspec_design.rb +2 -1
- data/samp/counter/counter_rspec_runner.rake +20 -4
- data/samp/counter/counter_rspec_spec.rb +4 -4
- data/samp/counter/counter_xunit_bench.v +3 -6
- data/samp/counter/counter_xunit_design.rb +2 -1
- data/samp/counter/counter_xunit_runner.rake +20 -4
- data/samp/pipelined_alu/hw5_unit_test_bench.v +3 -6
- data/samp/pipelined_alu/hw5_unit_test_runner.rake +20 -4
- metadata +21 -20
- data/doc/manual.rb +0 -5
|
@@ -138,15 +138,17 @@ names (strings or symbols) or integer constants.
|
|
|
138
138
|
<h3 class="section-bar">Methods</h3>
|
|
139
139
|
|
|
140
140
|
<div class="name-list">
|
|
141
|
-
<a href="#
|
|
142
|
-
<a href="#
|
|
143
|
-
<a href="#
|
|
144
|
-
<a href="#
|
|
145
|
-
<a href="#
|
|
146
|
-
<a href="#
|
|
147
|
-
<a href="#
|
|
141
|
+
<a href="#M000094">[]</a>
|
|
142
|
+
<a href="#M000092">get_value</a>
|
|
143
|
+
<a href="#M000091">get_value_wrapper</a>
|
|
144
|
+
<a href="#M000095">inspect</a>
|
|
145
|
+
<a href="#M000097">method_missing</a>
|
|
146
|
+
<a href="#M000093">put_value</a>
|
|
147
|
+
<a href="#M000096">to_s</a>
|
|
148
|
+
<a href="#M000088">x!</a>
|
|
148
149
|
<a href="#M000087">x?</a>
|
|
149
|
-
<a href="#
|
|
150
|
+
<a href="#M000090">z!</a>
|
|
151
|
+
<a href="#M000089">z?</a>
|
|
150
152
|
</div>
|
|
151
153
|
</div>
|
|
152
154
|
|
|
@@ -194,12 +196,12 @@ names (strings or symbols) or integer constants.
|
|
|
194
196
|
<div id="methods">
|
|
195
197
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
196
198
|
|
|
197
|
-
<div id="method-
|
|
198
|
-
<a name="
|
|
199
|
+
<div id="method-M000094" class="method-detail">
|
|
200
|
+
<a name="M000094"></a>
|
|
199
201
|
|
|
200
202
|
<div class="method-heading">
|
|
201
|
-
<a href="Handle.src/
|
|
202
|
-
onclick="popupCode('Handle.src/
|
|
203
|
+
<a href="Handle.src/M000094.html" target="Code" class="method-signature"
|
|
204
|
+
onclick="popupCode('Handle.src/M000094.html');return false;">
|
|
203
205
|
<span class="method-name">[]</span><span class="method-args">(*aTypes)</span>
|
|
204
206
|
</a>
|
|
205
207
|
</div>
|
|
@@ -212,12 +214,12 @@ constant).
|
|
|
212
214
|
</div>
|
|
213
215
|
</div>
|
|
214
216
|
|
|
215
|
-
<div id="method-
|
|
216
|
-
<a name="
|
|
217
|
+
<div id="method-M000092" class="method-detail">
|
|
218
|
+
<a name="M000092"></a>
|
|
217
219
|
|
|
218
220
|
<div class="method-heading">
|
|
219
|
-
<a href="Handle.src/
|
|
220
|
-
onclick="popupCode('Handle.src/
|
|
221
|
+
<a href="Handle.src/M000092.html" target="Code" class="method-signature"
|
|
222
|
+
onclick="popupCode('Handle.src/M000092.html');return false;">
|
|
221
223
|
<span class="method-name">get_value</span><span class="method-args">(aFormat = VpiObjTypeVal)</span>
|
|
222
224
|
</a>
|
|
223
225
|
</div>
|
|
@@ -231,12 +233,12 @@ attempt to determine the correct format.
|
|
|
231
233
|
</div>
|
|
232
234
|
</div>
|
|
233
235
|
|
|
234
|
-
<div id="method-
|
|
235
|
-
<a name="
|
|
236
|
+
<div id="method-M000091" class="method-detail">
|
|
237
|
+
<a name="M000091"></a>
|
|
236
238
|
|
|
237
239
|
<div class="method-heading">
|
|
238
|
-
<a href="Handle.src/
|
|
239
|
-
onclick="popupCode('Handle.src/
|
|
240
|
+
<a href="Handle.src/M000091.html" target="Code" class="method-signature"
|
|
241
|
+
onclick="popupCode('Handle.src/M000091.html');return false;">
|
|
240
242
|
<span class="method-name">get_value_wrapper</span><span class="method-args">(aFormat)</span>
|
|
241
243
|
</a>
|
|
242
244
|
</div>
|
|
@@ -249,12 +251,12 @@ Reads the value using the given format (integer constant) and returns a
|
|
|
249
251
|
</div>
|
|
250
252
|
</div>
|
|
251
253
|
|
|
252
|
-
<div id="method-
|
|
253
|
-
<a name="
|
|
254
|
+
<div id="method-M000095" class="method-detail">
|
|
255
|
+
<a name="M000095"></a>
|
|
254
256
|
|
|
255
257
|
<div class="method-heading">
|
|
256
|
-
<a href="Handle.src/
|
|
257
|
-
onclick="popupCode('Handle.src/
|
|
258
|
+
<a href="Handle.src/M000095.html" target="Code" class="method-signature"
|
|
259
|
+
onclick="popupCode('Handle.src/M000095.html');return false;">
|
|
258
260
|
<span class="method-name">inspect</span><span class="method-args">(*aPropNames)</span>
|
|
259
261
|
</a>
|
|
260
262
|
</div>
|
|
@@ -267,12 +269,12 @@ handles.
|
|
|
267
269
|
</div>
|
|
268
270
|
</div>
|
|
269
271
|
|
|
270
|
-
<div id="method-
|
|
271
|
-
<a name="
|
|
272
|
+
<div id="method-M000097" class="method-detail">
|
|
273
|
+
<a name="M000097"></a>
|
|
272
274
|
|
|
273
275
|
<div class="method-heading">
|
|
274
|
-
<a href="Handle.src/
|
|
275
|
-
onclick="popupCode('Handle.src/
|
|
276
|
+
<a href="Handle.src/M000097.html" target="Code" class="method-signature"
|
|
277
|
+
onclick="popupCode('Handle.src/M000097.html');return false;">
|
|
276
278
|
<span class="method-name">method_missing</span><span class="method-args">(aMeth, *aArgs, &aBlockArg)</span>
|
|
277
279
|
</a>
|
|
278
280
|
</div>
|
|
@@ -293,18 +295,18 @@ Provides access to this handle’s
|
|
|
293
295
|
through method calls. In the case that a child handle has the same name as
|
|
294
296
|
a VPI property, the child handle will be accessed instead of the VPI
|
|
295
297
|
property. However, you can still access the VPI property via <a
|
|
296
|
-
href="Handle.html#
|
|
297
|
-
href="Handle.html#
|
|
298
|
+
href="Handle.html#M000092">get_value</a> and <a
|
|
299
|
+
href="Handle.html#M000093">put_value</a>.
|
|
298
300
|
</p>
|
|
299
301
|
</div>
|
|
300
302
|
</div>
|
|
301
303
|
|
|
302
|
-
<div id="method-
|
|
303
|
-
<a name="
|
|
304
|
+
<div id="method-M000093" class="method-detail">
|
|
305
|
+
<a name="M000093"></a>
|
|
304
306
|
|
|
305
307
|
<div class="method-heading">
|
|
306
|
-
<a href="Handle.src/
|
|
307
|
-
onclick="popupCode('Handle.src/
|
|
308
|
+
<a href="Handle.src/M000093.html" target="Code" class="method-signature"
|
|
309
|
+
onclick="popupCode('Handle.src/M000093.html');return false;">
|
|
308
310
|
<span class="method-name">put_value</span><span class="method-args">(aValue, aFormat = nil, aTime = nil, aDelay = VpiNoDelay)</span>
|
|
309
311
|
</a>
|
|
310
312
|
</div>
|
|
@@ -319,8 +321,8 @@ format.
|
|
|
319
321
|
</div>
|
|
320
322
|
</div>
|
|
321
323
|
|
|
322
|
-
<div id="method-
|
|
323
|
-
<a name="
|
|
324
|
+
<div id="method-M000096" class="method-detail">
|
|
325
|
+
<a name="M000096"></a>
|
|
324
326
|
|
|
325
327
|
<div class="method-heading">
|
|
326
328
|
<span class="method-name">to_s</span><span class="method-args">(*aPropNames)</span>
|
|
@@ -328,7 +330,24 @@ format.
|
|
|
328
330
|
|
|
329
331
|
<div class="method-description">
|
|
330
332
|
<p>
|
|
331
|
-
Alias for <a href="Handle.html#
|
|
333
|
+
Alias for <a href="Handle.html#M000095">inspect</a>
|
|
334
|
+
</p>
|
|
335
|
+
</div>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
<div id="method-M000088" class="method-detail">
|
|
339
|
+
<a name="M000088"></a>
|
|
340
|
+
|
|
341
|
+
<div class="method-heading">
|
|
342
|
+
<a href="Handle.src/M000088.html" target="Code" class="method-signature"
|
|
343
|
+
onclick="popupCode('Handle.src/M000088.html');return false;">
|
|
344
|
+
<span class="method-name">x!</span><span class="method-args">()</span>
|
|
345
|
+
</a>
|
|
346
|
+
</div>
|
|
347
|
+
|
|
348
|
+
<div class="method-description">
|
|
349
|
+
<p>
|
|
350
|
+
Sets the logic value of this handle to unknown (x).
|
|
332
351
|
</p>
|
|
333
352
|
</div>
|
|
334
353
|
</div>
|
|
@@ -345,18 +364,34 @@ Alias for <a href="Handle.html#M000093">inspect</a>
|
|
|
345
364
|
|
|
346
365
|
<div class="method-description">
|
|
347
366
|
<p>
|
|
348
|
-
Tests if the logic value of this handle is
|
|
349
|
-
(x).
|
|
367
|
+
Tests if the logic value of this handle is unknown (x).
|
|
350
368
|
</p>
|
|
351
369
|
</div>
|
|
352
370
|
</div>
|
|
353
371
|
|
|
354
|
-
<div id="method-
|
|
355
|
-
<a name="
|
|
372
|
+
<div id="method-M000090" class="method-detail">
|
|
373
|
+
<a name="M000090"></a>
|
|
356
374
|
|
|
357
375
|
<div class="method-heading">
|
|
358
|
-
<a href="Handle.src/
|
|
359
|
-
onclick="popupCode('Handle.src/
|
|
376
|
+
<a href="Handle.src/M000090.html" target="Code" class="method-signature"
|
|
377
|
+
onclick="popupCode('Handle.src/M000090.html');return false;">
|
|
378
|
+
<span class="method-name">z!</span><span class="method-args">()</span>
|
|
379
|
+
</a>
|
|
380
|
+
</div>
|
|
381
|
+
|
|
382
|
+
<div class="method-description">
|
|
383
|
+
<p>
|
|
384
|
+
Sets the logic value of this handle to high impedance (z).
|
|
385
|
+
</p>
|
|
386
|
+
</div>
|
|
387
|
+
</div>
|
|
388
|
+
|
|
389
|
+
<div id="method-M000089" class="method-detail">
|
|
390
|
+
<a name="M000089"></a>
|
|
391
|
+
|
|
392
|
+
<div class="method-heading">
|
|
393
|
+
<a href="Handle.src/M000089.html" target="Code" class="method-signature"
|
|
394
|
+
onclick="popupCode('Handle.src/M000089.html');return false;">
|
|
360
395
|
<span class="method-name">z?</span><span class="method-args">()</span>
|
|
361
396
|
</a>
|
|
362
397
|
</div>
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
13
|
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 58</span>
|
|
14
|
-
58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
59: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span>
|
|
14
|
+
58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x!</span>
|
|
15
|
+
59: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'x'</span>
|
|
16
16
|
60: <span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -5,18 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
13
|
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 63</span>
|
|
14
|
-
63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
64: <span class="ruby-identifier">
|
|
16
|
-
65:
|
|
17
|
-
66:
|
|
18
|
-
67: <span class="ruby-identifier">vpi_get_value</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">val</span>
|
|
19
|
-
68: <span class="ruby-identifier">val</span>
|
|
20
|
-
69: <span class="ruby-keyword kw">end</span></pre>
|
|
14
|
+
63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z?</span>
|
|
15
|
+
64: <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
|
+
65: <span class="ruby-keyword kw">end</span></pre>
|
|
21
17
|
</body>
|
|
22
18
|
</html>
|
|
@@ -5,40 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
75: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">format</span>
|
|
18
|
-
76: <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
|
-
77: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span>
|
|
20
|
-
78:
|
|
21
|
-
79: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
|
|
22
|
-
80: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span>
|
|
23
|
-
81:
|
|
24
|
-
82: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
|
|
25
|
-
83: <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
|
-
84:
|
|
27
|
-
85: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
|
|
28
|
-
86: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span>
|
|
29
|
-
87:
|
|
30
|
-
88: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
|
|
31
|
-
89: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span>
|
|
32
|
-
90:
|
|
33
|
-
91: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
|
|
34
|
-
92: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span>
|
|
35
|
-
93:
|
|
36
|
-
94: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
|
|
37
|
-
95: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span>
|
|
38
|
-
96:
|
|
39
|
-
97: <span class="ruby-keyword kw">else</span>
|
|
40
|
-
98: <span class="ruby-identifier">raise</span> <span class="ruby-node">"unknown S_vpi_value.format: #{val.format}"</span>
|
|
41
|
-
99: <span class="ruby-keyword kw">end</span>
|
|
42
|
-
100: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 68</span>
|
|
14
|
+
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z!</span>
|
|
15
|
+
69: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'z'</span>
|
|
16
|
+
70: <span class="ruby-keyword kw">end</span></pre>
|
|
43
17
|
</body>
|
|
44
18
|
</html>
|
|
@@ -5,83 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
|
-
<pre>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
110:
|
|
22
|
-
111: <span class="ruby-identifier">newVal</span> = <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>
|
|
23
|
-
112: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">aFormat</span>
|
|
24
|
-
113:
|
|
25
|
-
114: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aFormat</span>
|
|
26
|
-
115: <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>
|
|
27
|
-
116: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
|
|
28
|
-
117:
|
|
29
|
-
118: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
|
|
30
|
-
119: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span> = <span class="ruby-identifier">aValue</span>
|
|
31
|
-
120:
|
|
32
|
-
121: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
|
|
33
|
-
122: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">format</span> = <span class="ruby-constant">VpiHexStrVal</span>
|
|
34
|
-
123: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-value">16</span>)
|
|
35
|
-
124:
|
|
36
|
-
125: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
|
|
37
|
-
126: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_f</span>
|
|
38
|
-
127:
|
|
39
|
-
128: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
|
|
40
|
-
129: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span> = <span class="ruby-identifier">aValue</span>
|
|
41
|
-
130:
|
|
42
|
-
131: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
|
|
43
|
-
132: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span> = <span class="ruby-identifier">aValue</span>
|
|
44
|
-
133:
|
|
45
|
-
134: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
|
|
46
|
-
135: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span> = <span class="ruby-identifier">aValue</span>
|
|
47
|
-
136:
|
|
48
|
-
137: <span class="ruby-keyword kw">else</span>
|
|
49
|
-
138: <span class="ruby-identifier">raise</span> <span class="ruby-node">"unknown S_vpi_value.format: #{newVal.format}"</span>
|
|
50
|
-
139: <span class="ruby-keyword kw">end</span>
|
|
51
|
-
140:
|
|
52
|
-
141: <span class="ruby-identifier">vpi_put_value</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">newVal</span>, <span class="ruby-identifier">aTime</span>, <span class="ruby-identifier">aDelay</span>
|
|
53
|
-
142:
|
|
54
|
-
143: <span class="ruby-comment cmt"># ensure that value was written correctly</span>
|
|
55
|
-
144: <span class="ruby-identifier">readenVal</span> = <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">aFormat</span>)
|
|
56
|
-
145:
|
|
57
|
-
146: <span class="ruby-identifier">writtenCorrectly</span> =
|
|
58
|
-
147: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aFormat</span>
|
|
59
|
-
148: <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>
|
|
60
|
-
149: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aValue</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/[xz]/i</span> <span class="ruby-comment cmt"># TODO: verify 'z' behavior</span>
|
|
61
|
-
150: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/[xz]/i</span>
|
|
62
|
-
151: <span class="ruby-keyword kw">else</span>
|
|
63
|
-
152: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
|
|
64
|
-
153: <span class="ruby-keyword kw">end</span>
|
|
65
|
-
154:
|
|
66
|
-
155: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStringVal</span>
|
|
67
|
-
156: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
|
|
68
|
-
157:
|
|
69
|
-
158: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
|
|
70
|
-
159: <span class="ruby-comment cmt"># allow for register overflow when limit reached</span>
|
|
71
|
-
160: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> (<span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">%</span> (<span class="ruby-value">2</span> <span class="ruby-operator">**</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">vpiSize</span>))
|
|
72
|
-
161:
|
|
73
|
-
162: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
|
|
74
|
-
163: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_f</span>
|
|
75
|
-
164:
|
|
76
|
-
165: <span class="ruby-keyword kw">else</span>
|
|
77
|
-
166: <span class="ruby-keyword kw">true</span>
|
|
78
|
-
167: <span class="ruby-keyword kw">end</span>
|
|
79
|
-
168:
|
|
80
|
-
169: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">writtenCorrectly</span>
|
|
81
|
-
170: <span class="ruby-identifier">raise</span> <span class="ruby-node">"value written (#{aValue.inspect}) does not match value read (#{readenVal.inspect}) from handle #{self}"</span>
|
|
82
|
-
171: <span class="ruby-keyword kw">end</span>
|
|
83
|
-
172:
|
|
84
|
-
173: <span class="ruby-identifier">aValue</span>
|
|
85
|
-
174: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 73</span>
|
|
14
|
+
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_value_wrapper</span> <span class="ruby-identifier">aFormat</span>
|
|
15
|
+
74: <span class="ruby-identifier">val</span> = <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>
|
|
16
|
+
75: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">aFormat</span>
|
|
17
|
+
76:
|
|
18
|
+
77: <span class="ruby-identifier">vpi_get_value</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">val</span>
|
|
19
|
+
78: <span class="ruby-identifier">val</span>
|
|
20
|
+
79: <span class="ruby-keyword kw">end</span></pre>
|
|
86
21
|
</body>
|
|
87
22
|
</html>
|
|
@@ -5,26 +5,40 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 82</span>
|
|
14
|
+
82: <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
|
+
83: <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
|
+
84:
|
|
17
|
+
85: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">format</span>
|
|
18
|
+
86: <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
|
+
87: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span>
|
|
20
|
+
88:
|
|
21
|
+
89: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
|
|
22
|
+
90: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span>
|
|
23
|
+
91:
|
|
24
|
+
92: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
|
|
25
|
+
93: <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
|
+
94:
|
|
27
|
+
95: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
|
|
28
|
+
96: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span>
|
|
29
|
+
97:
|
|
30
|
+
98: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
|
|
31
|
+
99: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span>
|
|
32
|
+
100:
|
|
33
|
+
101: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
|
|
34
|
+
102: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span>
|
|
35
|
+
103:
|
|
36
|
+
104: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
|
|
37
|
+
105: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span>
|
|
38
|
+
106:
|
|
39
|
+
107: <span class="ruby-keyword kw">else</span>
|
|
40
|
+
108: <span class="ruby-identifier">raise</span> <span class="ruby-node">"unknown S_vpi_value.format: #{val.format}"</span>
|
|
41
|
+
109: <span class="ruby-keyword kw">end</span>
|
|
42
|
+
110: <span class="ruby-keyword kw">end</span></pre>
|
|
29
43
|
</body>
|
|
30
44
|
</html>
|
|
@@ -5,20 +5,83 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>put_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
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 113</span>
|
|
14
|
+
113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_value</span> <span class="ruby-identifier">aValue</span>, <span class="ruby-identifier">aFormat</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">aTime</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">aDelay</span> = <span class="ruby-constant">VpiNoDelay</span>
|
|
15
|
+
114: <span class="ruby-identifier">aFormat</span> =
|
|
16
|
+
115: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aFormat</span>
|
|
17
|
+
116: <span class="ruby-identifier">resolve_prop_type</span>(<span class="ruby-identifier">aFormat</span>)
|
|
18
|
+
117: <span class="ruby-keyword kw">else</span>
|
|
19
|
+
118: <span class="ruby-identifier">get_value_wrapper</span>(<span class="ruby-constant">VpiObjTypeVal</span>).<span class="ruby-identifier">format</span>
|
|
20
|
+
119: <span class="ruby-keyword kw">end</span>
|
|
21
|
+
120:
|
|
22
|
+
121: <span class="ruby-identifier">newVal</span> = <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>
|
|
23
|
+
122: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">aFormat</span>
|
|
24
|
+
123:
|
|
25
|
+
124: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aFormat</span>
|
|
26
|
+
125: <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>
|
|
27
|
+
126: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
|
|
28
|
+
127:
|
|
29
|
+
128: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
|
|
30
|
+
129: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span> = <span class="ruby-identifier">aValue</span>
|
|
31
|
+
130:
|
|
32
|
+
131: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
|
|
33
|
+
132: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">format</span> = <span class="ruby-constant">VpiHexStrVal</span>
|
|
34
|
+
133: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-value">16</span>)
|
|
35
|
+
134:
|
|
36
|
+
135: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
|
|
37
|
+
136: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_f</span>
|
|
38
|
+
137:
|
|
39
|
+
138: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
|
|
40
|
+
139: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span> = <span class="ruby-identifier">aValue</span>
|
|
41
|
+
140:
|
|
42
|
+
141: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
|
|
43
|
+
142: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span> = <span class="ruby-identifier">aValue</span>
|
|
44
|
+
143:
|
|
45
|
+
144: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
|
|
46
|
+
145: <span class="ruby-identifier">newVal</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span> = <span class="ruby-identifier">aValue</span>
|
|
47
|
+
146:
|
|
48
|
+
147: <span class="ruby-keyword kw">else</span>
|
|
49
|
+
148: <span class="ruby-identifier">raise</span> <span class="ruby-node">"unknown S_vpi_value.format: #{newVal.format}"</span>
|
|
50
|
+
149: <span class="ruby-keyword kw">end</span>
|
|
51
|
+
150:
|
|
52
|
+
151: <span class="ruby-identifier">vpi_put_value</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">newVal</span>, <span class="ruby-identifier">aTime</span>, <span class="ruby-identifier">aDelay</span>
|
|
53
|
+
152:
|
|
54
|
+
153: <span class="ruby-comment cmt"># ensure that value was written correctly</span>
|
|
55
|
+
154: <span class="ruby-identifier">readenVal</span> = <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">aFormat</span>)
|
|
56
|
+
155:
|
|
57
|
+
156: <span class="ruby-identifier">writtenCorrectly</span> =
|
|
58
|
+
157: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aFormat</span>
|
|
59
|
+
158: <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>
|
|
60
|
+
159: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aValue</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/[xz]/i</span> <span class="ruby-comment cmt"># TODO: verify 'z' behavior</span>
|
|
61
|
+
160: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/[xz]/i</span>
|
|
62
|
+
161: <span class="ruby-keyword kw">else</span>
|
|
63
|
+
162: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
|
|
64
|
+
163: <span class="ruby-keyword kw">end</span>
|
|
65
|
+
164:
|
|
66
|
+
165: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStringVal</span>
|
|
67
|
+
166: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
|
|
68
|
+
167:
|
|
69
|
+
168: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
|
|
70
|
+
169: <span class="ruby-comment cmt"># allow for register overflow when limit reached</span>
|
|
71
|
+
170: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> (<span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">%</span> (<span class="ruby-value">2</span> <span class="ruby-operator">**</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">vpiSize</span>))
|
|
72
|
+
171:
|
|
73
|
+
172: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
|
|
74
|
+
173: <span class="ruby-identifier">readenVal</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_f</span>
|
|
75
|
+
174:
|
|
76
|
+
175: <span class="ruby-keyword kw">else</span>
|
|
77
|
+
176: <span class="ruby-keyword kw">true</span>
|
|
78
|
+
177: <span class="ruby-keyword kw">end</span>
|
|
79
|
+
178:
|
|
80
|
+
179: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">writtenCorrectly</span>
|
|
81
|
+
180: <span class="ruby-identifier">raise</span> <span class="ruby-node">"value written (#{aValue.inspect}) does not match value read (#{readenVal.inspect}) from handle #{self}"</span>
|
|
82
|
+
181: <span class="ruby-keyword kw">end</span>
|
|
83
|
+
182:
|
|
84
|
+
183: <span class="ruby-identifier">aValue</span>
|
|
85
|
+
184: <span class="ruby-keyword kw">end</span></pre>
|
|
23
86
|
</body>
|
|
24
87
|
</html>
|