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.
Files changed (120) hide show
  1. data/bin/generate_test.rb +12 -11
  2. data/bin/generate_test_tpl/bench.rb +0 -4
  3. data/bin/generate_test_tpl/bench.v +3 -6
  4. data/bin/generate_test_tpl/runner.rake +20 -4
  5. data/bin/generate_test_tpl/spec.rb +5 -7
  6. data/doc/common.css +110 -95
  7. data/doc/common.tpl +16 -17
  8. data/doc/history.html +350 -330
  9. data/doc/history.yml +49 -0
  10. data/doc/intro.inc +18 -4
  11. data/doc/lib/doc_proxy.rb +22 -32
  12. data/doc/manual.erb +90 -83
  13. data/doc/manual.html +298 -266
  14. data/doc/memo.html +31 -10
  15. data/doc/readme.html +26 -6
  16. data/ext/relay.c +24 -28
  17. data/ext/vlog.c +4 -15
  18. data/lib/ruby-vpi/rspec.rb +1 -1
  19. data/lib/ruby-vpi/runner.rb +12 -10
  20. data/lib/ruby-vpi/runner_proxy.rb +17 -6
  21. data/lib/ruby-vpi/verilog_parser.rb +11 -7
  22. data/lib/ruby-vpi/vpi.rb +11 -1
  23. data/lib/ruby-vpi.rb +4 -0
  24. data/ref/c/annotated.html +2 -2
  25. data/ref/c/common_8h.html +1 -1
  26. data/ref/c/files.html +1 -1
  27. data/ref/c/functions.html +1 -1
  28. data/ref/c/functions_vars.html +1 -1
  29. data/ref/c/globals.html +1 -1
  30. data/ref/c/globals_0x63.html +1 -1
  31. data/ref/c/globals_0x65.html +1 -1
  32. data/ref/c/globals_0x66.html +1 -1
  33. data/ref/c/globals_0x70.html +1 -1
  34. data/ref/c/globals_0x72.html +1 -1
  35. data/ref/c/globals_0x73.html +1 -1
  36. data/ref/c/globals_0x74.html +1 -1
  37. data/ref/c/globals_0x76.html +2 -2
  38. data/ref/c/globals_0x78.html +1 -1
  39. data/ref/c/globals_defs.html +1 -1
  40. data/ref/c/globals_defs_0x65.html +1 -1
  41. data/ref/c/globals_defs_0x70.html +1 -1
  42. data/ref/c/globals_defs_0x76.html +2 -2
  43. data/ref/c/globals_defs_0x78.html +1 -1
  44. data/ref/c/globals_enum.html +1 -1
  45. data/ref/c/globals_eval.html +1 -1
  46. data/ref/c/globals_func.html +2 -2
  47. data/ref/c/globals_type.html +1 -1
  48. data/ref/c/globals_vars.html +1 -1
  49. data/ref/c/index.html +1 -1
  50. data/ref/c/relay_8c.html +2 -1
  51. data/ref/c/relay_8h.html +1 -1
  52. data/ref/c/structrelay____RubyOptions____def.html +8 -2
  53. data/ref/c/structt__cb__data.html +1 -1
  54. data/ref/c/structt__vpi__delay.html +1 -1
  55. data/ref/c/structt__vpi__error__info.html +1 -1
  56. data/ref/c/structt__vpi__strengthval.html +1 -1
  57. data/ref/c/structt__vpi__systf__data.html +1 -1
  58. data/ref/c/structt__vpi__time.html +1 -1
  59. data/ref/c/structt__vpi__value.html +1 -1
  60. data/ref/c/structt__vpi__vecval.html +1 -1
  61. data/ref/c/structt__vpi__vlog__info.html +1 -1
  62. data/ref/c/swig_8c.html +1 -1
  63. data/ref/c/swig_8h.html +1 -1
  64. data/ref/c/verilog_8h.html +1 -1
  65. data/ref/c/vlog_8c.html +15 -15
  66. data/ref/c/vlog_8h.html +1 -1
  67. data/ref/c/vpi__user_8h.html +1 -1
  68. data/ref/ruby/classes/OutputInfo.html +1 -1
  69. data/ref/ruby/classes/OutputInfo.src/M000030.html +30 -30
  70. data/ref/ruby/classes/RDoc.html +5 -5
  71. data/ref/ruby/classes/RDoc.src/{M000097.html → M000099.html} +0 -0
  72. data/ref/ruby/classes/RubyVpi.src/M000085.html +43 -39
  73. data/ref/ruby/classes/String.src/M000033.html +26 -26
  74. data/ref/ruby/classes/String.src/M000034.html +4 -4
  75. data/ref/ruby/classes/Template.src/M000032.html +4 -4
  76. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000011.html +5 -5
  77. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000007.html +7 -7
  78. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000008.html +4 -4
  79. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000009.html +4 -4
  80. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000010.html +4 -4
  81. data/ref/ruby/classes/VerilogParser/Module.src/M000006.html +15 -11
  82. data/ref/ruby/classes/Vpi/Handle/Property.html +5 -5
  83. data/ref/ruby/classes/Vpi/Handle/Property.src/{M000096.html → M000098.html} +61 -61
  84. data/ref/ruby/classes/Vpi/Handle.html +78 -43
  85. data/ref/ruby/classes/Vpi/Handle.src/M000088.html +3 -3
  86. data/ref/ruby/classes/Vpi/Handle.src/M000089.html +4 -8
  87. data/ref/ruby/classes/Vpi/Handle.src/M000090.html +5 -31
  88. data/ref/ruby/classes/Vpi/Handle.src/M000091.html +9 -74
  89. data/ref/ruby/classes/Vpi/Handle.src/M000092.html +31 -17
  90. data/ref/ruby/classes/Vpi/Handle.src/M000093.html +74 -11
  91. data/ref/ruby/classes/Vpi/Handle.src/M000094.html +30 -0
  92. data/ref/ruby/classes/Vpi/Handle.src/M000095.html +11 -55
  93. data/ref/ruby/classes/Vpi/Handle.src/M000097.html +68 -0
  94. data/ref/ruby/created.rid +1 -1
  95. data/ref/ruby/files/bin/generate_test_rb.html +8 -11
  96. data/ref/ruby/files/bin/generate_test_rb.src/M000001.html +4 -4
  97. data/ref/ruby/files/bin/generate_test_rb.src/M000002.html +22 -24
  98. data/ref/ruby/files/bin/header_to_ruby_rb.html +1 -1
  99. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  100. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  101. data/ref/ruby/files/lib/ruby-vpi/rspec_rb.html +1 -1
  102. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  103. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +2 -2
  104. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000003.html +10 -10
  105. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000004.html +12 -12
  106. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
  107. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  108. data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -1
  109. data/ref/ruby/fr_method_index.html +20 -18
  110. data/samp/counter/counter_rspec_bench.v +3 -6
  111. data/samp/counter/counter_rspec_design.rb +2 -1
  112. data/samp/counter/counter_rspec_runner.rake +20 -4
  113. data/samp/counter/counter_rspec_spec.rb +4 -4
  114. data/samp/counter/counter_xunit_bench.v +3 -6
  115. data/samp/counter/counter_xunit_design.rb +2 -1
  116. data/samp/counter/counter_xunit_runner.rake +20 -4
  117. data/samp/pipelined_alu/hw5_unit_test_bench.v +3 -6
  118. data/samp/pipelined_alu/hw5_unit_test_runner.rake +20 -4
  119. metadata +21 -20
  120. 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">&lt;&lt;</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>method_missing (Vpi::Handle)</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 213</span>
14
- 213: <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">&amp;</span><span class="ruby-identifier">aBlockArg</span>
15
- 214: <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
- 215: <span class="ruby-comment cmt"># cache the child for future accesses, in order to cut down number of calls to method_missing</span>
17
- 216: (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</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
- 217: <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">aMeth</span> <span class="ruby-keyword kw">do</span>
19
- 218: <span class="ruby-identifier">child</span>
20
- 219: <span class="ruby-keyword kw">end</span>
21
- 220: <span class="ruby-keyword kw">end</span>
22
- 221:
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">&amp;</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">&amp;&amp;</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">&quot;unable to access VPI property #{prop.name.inspect} through method #{aMeth.inspect} with arguments #{aArgs.inspect} for handle #{self}&quot;</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">&quot;#{name}=#{self.send(name.to_sym)}&quot;</span>
19
+ 209: <span class="ruby-keyword kw">end</span>
20
+ 210:
21
+ 211: <span class="ruby-node">&quot;#&lt;Vpi::Handle #{vpiType_s} #{aPropNames.join(', ')}&gt;&quot;</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">&amp;</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">&lt;&lt;</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">&amp;</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">&amp;&amp;</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">&quot;unable to access VPI property #{prop.name.inspect} through method #{aMeth.inspect} with arguments #{aArgs.inspect} for handle #{self}&quot;</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
- Wed Nov 15 19:34:18 PST 2006
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>Wed Nov 08 16:49:08 PST 2006</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 backup copy will be
99
- made before the file is updated. Use a text merging tool (see MERGER) or
100
- manually transfer any necessary information from the backup copy to the
101
- updated file.
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 two arguments: (1) old
108
- file, (2) new file. The tool&#8217;s output should be written to the new
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&#8217;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 43</span>
14
- 43: <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
- 44: <span class="ruby-identifier">printf</span> <span class="ruby-value str">&quot;%8s %s\n&quot;</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
16
- 45: <span class="ruby-keyword kw">end</span></pre>
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">&quot;%8s %s\n&quot;</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 48</span>
14
- 48: <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
- 49: <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
- 50: <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
- 51: <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
- 52:
19
- 53: <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
- 54: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:skip</span>, <span class="ruby-identifier">aPath</span>
21
- 55: <span class="ruby-keyword kw">else</span>
22
- 56: <span class="ruby-identifier">old</span>, <span class="ruby-identifier">new</span> = <span class="ruby-node">&quot;#{aPath}.old&quot;</span>, <span class="ruby-identifier">aPath</span>
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">&quot;#{aPath}.old&quot;</span>, <span class="ruby-node">&quot;#{aPath}.new&quot;</span>
23
24
  57:
24
- 58: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:backup</span>, <span class="ruby-identifier">old</span>
25
- 59: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">old</span>, <span class="ruby-identifier">:preserve</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>
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">&gt;</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">&lt;&lt;</span> <span class="ruby-identifier">aContent</span>}
26
27
  60:
27
- 61: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:update</span>, <span class="ruby-identifier">aPath</span>
28
- 62: <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">&lt;&lt;</span> <span class="ruby-identifier">aContent</span>}
29
- 63:
30
- 64: <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>]
31
- 65: <span class="ruby-identifier">system</span> <span class="ruby-node">&quot;#{m} #{old.inspect} #{new.inspect}&quot;</span>
32
- 66: <span class="ruby-keyword kw">end</span>
33
- 67: <span class="ruby-keyword kw">end</span>
34
- 68: <span class="ruby-keyword kw">else</span>
35
- 69: <span class="ruby-identifier">notify</span> <span class="ruby-identifier">:create</span>, <span class="ruby-identifier">aPath</span>
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">&lt;&lt;</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">&quot;#{m} #{old.inspect} #{new.inspect} #{cur.inspect}&quot;</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">&lt;&lt;</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>Wed Nov 08 16:50:31 PST 2006</td>
59
+ <td>Wed Dec 06 17:27:53 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Nov 12 01:18:14 PST 2006</td>
59
+ <td>Wed Dec 06 17:27:53 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Oct 26 11:07:06 PDT 2006</td>
59
+ <td>Mon Dec 04 23:51:28 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Wed Nov 15 19:31:33 PST 2006</td>
59
+ <td>Wed Dec 06 17:27:53 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Oct 26 11:07:06 PDT 2006</td>
59
+ <td>Wed Dec 06 18:12:08 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Nov 12 10:34:21 PST 2006</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">SIMULATOR_ARGS:</td><td>A hash containing keys for each simulator task (same as Rakefile task
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 64</span>
14
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_file_path</span> <span class="ruby-identifier">aSimId</span>
15
- 65: <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">&quot;#{PROJECT_ID}.#{aSimId}.so&quot;</span>)
16
- 66:
17
- 67: <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
- 68: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Object file #{path.inspect} is missing. Rebuild #{PROJECT_NAME}.&quot;</span>
19
- 69: <span class="ruby-keyword kw">end</span>
20
- 70:
21
- 71: <span class="ruby-identifier">path</span>
22
- 72: <span class="ruby-keyword kw">end</span></pre>
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">&quot;#{PROJECT_ID}.#{aSimId}.so&quot;</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">&quot;Object file #{path.inspect} is missing. Rebuild #{PROJECT_NAME}.&quot;</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 75</span>
14
- 75: <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
- 76: <span class="ruby-identifier">prefix</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aSimId</span>
16
- 77: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ivl</span>
17
- 78: <span class="ruby-value str">'-I'</span>
18
- 79:
19
- 80: <span class="ruby-keyword kw">else</span>
20
- 81: <span class="ruby-value str">'+incdir+'</span>
21
- 82: <span class="ruby-keyword kw">end</span>
22
- 83:
23
- 84: <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
- 85: <span class="ruby-keyword kw">end</span></pre>
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>Wed Nov 15 18:36:34 PST 2006</td>
59
+ <td>Wed Dec 06 17:27:53 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Wed Nov 08 16:59:52 PST 2006</td>
59
+ <td>Thu Dec 07 10:11:06 PST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Wed Nov 08 16:55:23 PST 2006</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&nbsp;&nbsp;
77
77
  test/unit&nbsp;&nbsp;
78
78
  ruby-vpi/rspec&nbsp;&nbsp;
79
+ test/spec&nbsp;&nbsp;
79
80
  ruby-vpi/rcov&nbsp;&nbsp;
80
81
  </div>
81
82
  </div>