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
|
@@ -0,0 +1,30 @@
|
|
|
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>[] (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 187</span>
|
|
14
|
+
187: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span> <span class="ruby-operator">*</span><span class="ruby-identifier">aTypes</span>
|
|
15
|
+
188: <span class="ruby-identifier">handles</span> = []
|
|
16
|
+
189:
|
|
17
|
+
190: <span class="ruby-identifier">aTypes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
|
|
18
|
+
191: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">resolve_prop_type</span>(<span class="ruby-identifier">t</span>)
|
|
19
|
+
192:
|
|
20
|
+
193: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">itr</span> = <span class="ruby-identifier">vpi_iterate</span>(<span class="ruby-identifier">t</span>, <span class="ruby-keyword kw">self</span>)
|
|
21
|
+
194: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">h</span> = <span class="ruby-identifier">vpi_scan</span>(<span class="ruby-identifier">itr</span>)
|
|
22
|
+
195: <span class="ruby-identifier">handles</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">h</span>
|
|
23
|
+
196: <span class="ruby-keyword kw">end</span>
|
|
24
|
+
197: <span class="ruby-keyword kw">end</span>
|
|
25
|
+
198: <span class="ruby-keyword kw">end</span>
|
|
26
|
+
199:
|
|
27
|
+
200: <span class="ruby-identifier">handles</span>
|
|
28
|
+
201: <span class="ruby-keyword kw">end</span></pre>
|
|
29
|
+
</body>
|
|
30
|
+
</html>
|
|
@@ -5,64 +5,20 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>inspect (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
|
-
222: <span class="ruby-identifier">child</span>
|
|
24
|
-
223:
|
|
25
|
-
224: <span class="ruby-keyword kw">else</span>
|
|
26
|
-
225: <span class="ruby-identifier">prop</span> = <span class="ruby-ivar">@@propCache</span>[<span class="ruby-identifier">aMeth</span>]
|
|
27
|
-
226:
|
|
28
|
-
227: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">operation</span>
|
|
29
|
-
228: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">operation</span>, <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">aBlockArg</span>)
|
|
30
|
-
229:
|
|
31
|
-
230: <span class="ruby-keyword kw">else</span>
|
|
32
|
-
231: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">accessor</span>
|
|
33
|
-
232: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:d</span> <span class="ruby-comment cmt"># delay values</span>
|
|
34
|
-
233: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-value str">'processing of delay values is not yet implemented.'</span>
|
|
35
|
-
234: <span class="ruby-comment cmt"># TODO: vpi_put_delays</span>
|
|
36
|
-
235: <span class="ruby-comment cmt"># TODO: vpi_get_delays</span>
|
|
37
|
-
236:
|
|
38
|
-
237: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:l</span> <span class="ruby-comment cmt"># logic values</span>
|
|
39
|
-
238: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
40
|
-
239: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">aArgs</span>.<span class="ruby-identifier">shift</span>
|
|
41
|
-
240: <span class="ruby-identifier">put_value</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>)
|
|
42
|
-
241: <span class="ruby-keyword kw">else</span>
|
|
43
|
-
242: <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>)
|
|
44
|
-
243: <span class="ruby-keyword kw">end</span>
|
|
45
|
-
244:
|
|
46
|
-
245: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:i</span> <span class="ruby-comment cmt"># integer values</span>
|
|
47
|
-
246: <span class="ruby-identifier">vpi_get</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
48
|
-
247:
|
|
49
|
-
248: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:b</span> <span class="ruby-comment cmt"># boolean values</span>
|
|
50
|
-
249: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
51
|
-
250: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">vpi_get</span>(<span class="ruby-identifier">prop</span>, <span class="ruby-keyword kw">self</span>)
|
|
52
|
-
251: <span class="ruby-identifier">value</span> <span class="ruby-operator">&&</span> (<span class="ruby-identifier">value</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>) <span class="ruby-comment cmt"># zero is false in C</span>
|
|
53
|
-
252: <span class="ruby-keyword kw">end</span>
|
|
54
|
-
253:
|
|
55
|
-
254: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:s</span> <span class="ruby-comment cmt"># string values</span>
|
|
56
|
-
255: <span class="ruby-identifier">vpi_get_str</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
57
|
-
256:
|
|
58
|
-
257: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:h</span> <span class="ruby-comment cmt"># handle values</span>
|
|
59
|
-
258: <span class="ruby-identifier">vpi_handle</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
60
|
-
259:
|
|
61
|
-
260: <span class="ruby-keyword kw">else</span>
|
|
62
|
-
261: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>, <span class="ruby-node">"unable to access VPI property #{prop.name.inspect} through method #{aMeth.inspect} with arguments #{aArgs.inspect} for handle #{self}"</span>
|
|
63
|
-
262: <span class="ruby-keyword kw">end</span>
|
|
64
|
-
263: <span class="ruby-keyword kw">end</span>
|
|
65
|
-
264: <span class="ruby-keyword kw">end</span>
|
|
66
|
-
265: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 204</span>
|
|
14
|
+
204: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span> <span class="ruby-operator">*</span><span class="ruby-identifier">aPropNames</span>
|
|
15
|
+
205: <span class="ruby-identifier">aPropNames</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">:fullName</span>, <span class="ruby-identifier">:size</span>, <span class="ruby-identifier">:file</span>, <span class="ruby-identifier">:lineNo</span>
|
|
16
|
+
206:
|
|
17
|
+
207: <span class="ruby-identifier">aPropNames</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
|
|
18
|
+
208: <span class="ruby-node">"#{name}=#{self.send(name.to_sym)}"</span>
|
|
19
|
+
209: <span class="ruby-keyword kw">end</span>
|
|
20
|
+
210:
|
|
21
|
+
211: <span class="ruby-node">"#<Vpi::Handle #{vpiType_s} #{aPropNames.join(', ')}>"</span>
|
|
22
|
+
212: <span class="ruby-keyword kw">end</span></pre>
|
|
67
23
|
</body>
|
|
68
24
|
</html>
|
|
@@ -0,0 +1,68 @@
|
|
|
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>method_missing (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 223</span>
|
|
14
|
+
223: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span> <span class="ruby-identifier">aMeth</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">aBlockArg</span>
|
|
15
|
+
224: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">child</span> = <span class="ruby-identifier">vpi_handle_by_name</span>(<span class="ruby-identifier">aMeth</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-keyword kw">self</span>)
|
|
16
|
+
225: <span class="ruby-comment cmt"># cache the child for future accesses, in order to cut down number of calls to method_missing</span>
|
|
17
|
+
226: (<span class="ruby-keyword kw">class</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
|
|
18
|
+
227: <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">aMeth</span> <span class="ruby-keyword kw">do</span>
|
|
19
|
+
228: <span class="ruby-identifier">child</span>
|
|
20
|
+
229: <span class="ruby-keyword kw">end</span>
|
|
21
|
+
230: <span class="ruby-keyword kw">end</span>
|
|
22
|
+
231:
|
|
23
|
+
232: <span class="ruby-identifier">child</span>
|
|
24
|
+
233:
|
|
25
|
+
234: <span class="ruby-keyword kw">else</span>
|
|
26
|
+
235: <span class="ruby-identifier">prop</span> = <span class="ruby-ivar">@@propCache</span>[<span class="ruby-identifier">aMeth</span>]
|
|
27
|
+
236:
|
|
28
|
+
237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">operation</span>
|
|
29
|
+
238: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">operation</span>, <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">aBlockArg</span>)
|
|
30
|
+
239:
|
|
31
|
+
240: <span class="ruby-keyword kw">else</span>
|
|
32
|
+
241: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">accessor</span>
|
|
33
|
+
242: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:d</span> <span class="ruby-comment cmt"># delay values</span>
|
|
34
|
+
243: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-value str">'processing of delay values is not yet implemented.'</span>
|
|
35
|
+
244: <span class="ruby-comment cmt"># TODO: vpi_put_delays</span>
|
|
36
|
+
245: <span class="ruby-comment cmt"># TODO: vpi_get_delays</span>
|
|
37
|
+
246:
|
|
38
|
+
247: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:l</span> <span class="ruby-comment cmt"># logic values</span>
|
|
39
|
+
248: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
40
|
+
249: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">aArgs</span>.<span class="ruby-identifier">shift</span>
|
|
41
|
+
250: <span class="ruby-identifier">put_value</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>)
|
|
42
|
+
251: <span class="ruby-keyword kw">else</span>
|
|
43
|
+
252: <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>)
|
|
44
|
+
253: <span class="ruby-keyword kw">end</span>
|
|
45
|
+
254:
|
|
46
|
+
255: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:i</span> <span class="ruby-comment cmt"># integer values</span>
|
|
47
|
+
256: <span class="ruby-identifier">vpi_get</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
48
|
+
257:
|
|
49
|
+
258: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:b</span> <span class="ruby-comment cmt"># boolean values</span>
|
|
50
|
+
259: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
51
|
+
260: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">vpi_get</span>(<span class="ruby-identifier">prop</span>, <span class="ruby-keyword kw">self</span>)
|
|
52
|
+
261: <span class="ruby-identifier">value</span> <span class="ruby-operator">&&</span> (<span class="ruby-identifier">value</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>) <span class="ruby-comment cmt"># zero is false in C</span>
|
|
53
|
+
262: <span class="ruby-keyword kw">end</span>
|
|
54
|
+
263:
|
|
55
|
+
264: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:s</span> <span class="ruby-comment cmt"># string values</span>
|
|
56
|
+
265: <span class="ruby-identifier">vpi_get_str</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
57
|
+
266:
|
|
58
|
+
267: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:h</span> <span class="ruby-comment cmt"># handle values</span>
|
|
59
|
+
268: <span class="ruby-identifier">vpi_handle</span>(<span class="ruby-identifier">prop</span>.<span class="ruby-identifier">type</span>, <span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">assignment</span>
|
|
60
|
+
269:
|
|
61
|
+
270: <span class="ruby-keyword kw">else</span>
|
|
62
|
+
271: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>, <span class="ruby-node">"unable to access VPI property #{prop.name.inspect} through method #{aMeth.inspect} with arguments #{aArgs.inspect} for handle #{self}"</span>
|
|
63
|
+
272: <span class="ruby-keyword kw">end</span>
|
|
64
|
+
273: <span class="ruby-keyword kw">end</span>
|
|
65
|
+
274: <span class="ruby-keyword kw">end</span>
|
|
66
|
+
275: <span class="ruby-keyword kw">end</span></pre>
|
|
67
|
+
</body>
|
|
68
|
+
</html>
|
data/ref/ruby/created.rid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Thu Dec 07 15:09:45 PST 2006
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>
|
|
59
|
+
<td>Thu Dec 07 13:56:40 PST 2006</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -85,9 +85,6 @@ clocking signal.
|
|
|
85
85
|
<table>
|
|
86
86
|
<tr><td valign="top">module:</td><td>A Verilog module has been identified.
|
|
87
87
|
|
|
88
|
-
</td></tr>
|
|
89
|
-
<tr><td valign="top">backup:</td><td>A backup copy of a file is being made.
|
|
90
|
-
|
|
91
88
|
</td></tr>
|
|
92
89
|
<tr><td valign="top">create:</td><td>A file is being created because it does not exist.
|
|
93
90
|
|
|
@@ -95,18 +92,18 @@ clocking signal.
|
|
|
95
92
|
<tr><td valign="top">skip:</td><td>A file is being skipped because it is already up to date.
|
|
96
93
|
|
|
97
94
|
</td></tr>
|
|
98
|
-
<tr><td valign="top">update:</td><td>A file will be updated because it is out of date. A
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
95
|
+
<tr><td valign="top">update:</td><td>A file will be updated because it is out of date. A text merging tool (see
|
|
96
|
+
MERGER) will be launched to transfer content from the old file (*.old) and
|
|
97
|
+
the new file (*.new) to the out of date file. If a text merging tool is not
|
|
98
|
+
specified, then you will have to do the merging by hand.
|
|
102
99
|
|
|
103
100
|
</td></tr>
|
|
104
101
|
</table>
|
|
105
102
|
<h1>Environment variables</h1>
|
|
106
103
|
<table>
|
|
107
|
-
<tr><td valign="top">MERGER:</td><td>A command that invokes a text merging tool with
|
|
108
|
-
file, (2) new file. The tool’s output should be
|
|
109
|
-
file.
|
|
104
|
+
<tr><td valign="top">MERGER:</td><td>A command that invokes a text merging tool with three arguments: (1) old
|
|
105
|
+
file, (2) new file, (3) output file. The tool’s output should be
|
|
106
|
+
written to the output file.
|
|
110
107
|
|
|
111
108
|
</td></tr>
|
|
112
109
|
</table>
|
|
@@ -10,9 +10,9 @@
|
|
|
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 bin/generate_test.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File bin/generate_test.rb, line 42</span>
|
|
14
|
+
42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">notify</span> <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
|
|
15
|
+
43: <span class="ruby-identifier">printf</span> <span class="ruby-value str">"%8s %s\n"</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
|
|
16
|
+
44: <span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -10,31 +10,29 @@
|
|
|
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 bin/generate_test.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File bin/generate_test.rb, line 47</span>
|
|
14
|
+
47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_file</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aContent</span>
|
|
15
|
+
48: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span> <span class="ruby-identifier">aPath</span>
|
|
16
|
+
49: <span class="ruby-identifier">oldDigest</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">aPath</span>))
|
|
17
|
+
50: <span class="ruby-identifier">newDigest</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-identifier">aContent</span>)
|
|
18
|
+
51:
|
|
19
|
+
52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">oldDigest</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">newDigest</span>
|
|
20
|
+
53: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:skip</span>, <span class="ruby-identifier">aPath</span>
|
|
21
|
+
54: <span class="ruby-keyword kw">else</span>
|
|
22
|
+
55: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:update</span>, <span class="ruby-identifier">aPath</span>
|
|
23
|
+
56: <span class="ruby-identifier">cur</span>, <span class="ruby-identifier">old</span>, <span class="ruby-identifier">new</span> = <span class="ruby-identifier">aPath</span>, <span class="ruby-node">"#{aPath}.old"</span>, <span class="ruby-node">"#{aPath}.new"</span>
|
|
23
24
|
57:
|
|
24
|
-
58: <span class="ruby-identifier">
|
|
25
|
-
59: <span class="ruby-constant">
|
|
25
|
+
58: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span> <span class="ruby-identifier">cur</span>, <span class="ruby-identifier">old</span>, <span class="ruby-identifier">:preserve</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">true</span>
|
|
26
|
+
59: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">new</span>, <span class="ruby-value str">'w'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">aContent</span>}
|
|
26
27
|
60:
|
|
27
|
-
61: <span class="ruby-
|
|
28
|
-
62:
|
|
29
|
-
63:
|
|
30
|
-
64:
|
|
31
|
-
65:
|
|
32
|
-
66:
|
|
33
|
-
67: <span class="ruby-
|
|
34
|
-
68: <span class="ruby-keyword kw">
|
|
35
|
-
69:
|
|
36
|
-
70: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">aPath</span>, <span class="ruby-value str">'w'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">aContent</span>}
|
|
37
|
-
71: <span class="ruby-keyword kw">end</span>
|
|
38
|
-
72: <span class="ruby-keyword kw">end</span></pre>
|
|
28
|
+
61: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'MERGER'</span>]
|
|
29
|
+
62: <span class="ruby-identifier">system</span> <span class="ruby-node">"#{m} #{old.inspect} #{new.inspect} #{cur.inspect}"</span>
|
|
30
|
+
63: <span class="ruby-keyword kw">end</span>
|
|
31
|
+
64: <span class="ruby-keyword kw">end</span>
|
|
32
|
+
65: <span class="ruby-keyword kw">else</span>
|
|
33
|
+
66: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:create</span>, <span class="ruby-identifier">aPath</span>
|
|
34
|
+
67: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">aPath</span>, <span class="ruby-value str">'w'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">aContent</span>}
|
|
35
|
+
68: <span class="ruby-keyword kw">end</span>
|
|
36
|
+
69: <span class="ruby-keyword kw">end</span></pre>
|
|
39
37
|
</body>
|
|
40
38
|
</html>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>
|
|
59
|
+
<td>Wed Dec 06 17:27:53 PST 2006</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -82,7 +82,7 @@ the following variables.
|
|
|
82
82
|
<tr><td valign="top">SIMULATOR_TARGET:</td><td>Name of the Verilog module to be simulated.
|
|
83
83
|
|
|
84
84
|
</td></tr>
|
|
85
|
-
<tr><td valign="top">
|
|
85
|
+
<tr><td valign="top">SIMULATOR_ARGUMENTS:</td><td>A hash containing keys for each simulator task (same as Rakefile task
|
|
86
86
|
names) and values containing command-line arguments for each simulator.
|
|
87
87
|
|
|
88
88
|
</td></tr>
|
|
@@ -10,15 +10,15 @@
|
|
|
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/runner.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/runner.rb, line 66</span>
|
|
14
|
+
66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_file_path</span> <span class="ruby-identifier">aSimId</span>
|
|
15
|
+
67: <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">OBJECT_PATH</span>, <span class="ruby-node">"#{PROJECT_ID}.#{aSimId}.so"</span>)
|
|
16
|
+
68:
|
|
17
|
+
69: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span> <span class="ruby-identifier">path</span>
|
|
18
|
+
70: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Object file #{path.inspect} is missing. Rebuild #{PROJECT_NAME}."</span>
|
|
19
|
+
71: <span class="ruby-keyword kw">end</span>
|
|
20
|
+
72:
|
|
21
|
+
73: <span class="ruby-identifier">path</span>
|
|
22
|
+
74: <span class="ruby-keyword kw">end</span></pre>
|
|
23
23
|
</body>
|
|
24
24
|
</html>
|
|
@@ -10,17 +10,17 @@
|
|
|
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/runner.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/runner.rb, line 77</span>
|
|
14
|
+
77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expand_include_dir_options</span> <span class="ruby-identifier">aSimId</span>, <span class="ruby-identifier">aIncludes</span> = <span class="ruby-constant">SIMULATOR_INCLUDES</span>
|
|
15
|
+
78: <span class="ruby-identifier">prefix</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aSimId</span>
|
|
16
|
+
79: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ivl</span>
|
|
17
|
+
80: <span class="ruby-value str">'-I'</span>
|
|
18
|
+
81:
|
|
19
|
+
82: <span class="ruby-keyword kw">else</span>
|
|
20
|
+
83: <span class="ruby-value str">'+incdir+'</span>
|
|
21
|
+
84: <span class="ruby-keyword kw">end</span>
|
|
22
|
+
85:
|
|
23
|
+
86: <span class="ruby-identifier">aIncludes</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">i</span>}
|
|
24
|
+
87: <span class="ruby-keyword kw">end</span></pre>
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>
|
|
59
|
+
<td>Thu Dec 07 14:27:30 PST 2006</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
ruby-vpi/vpi
|
|
77
77
|
test/unit
|
|
78
78
|
ruby-vpi/rspec
|
|
79
|
+
test/spec
|
|
79
80
|
ruby-vpi/rcov
|
|
80
81
|
</div>
|
|
81
82
|
</div>
|