ruby-vpi 12.1.0 → 13.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 (184) hide show
  1. data/bin/generate_test.rb +4 -5
  2. data/bin/generate_test_tpl/bench.rb +2 -0
  3. data/bin/generate_test_tpl/bench.v +4 -11
  4. data/bin/header_to_ruby.rb +0 -1
  5. data/doc/history.html +281 -206
  6. data/doc/history.rb +1 -1
  7. data/doc/history.yml +66 -35
  8. data/doc/manual.html +3 -3
  9. data/doc/memo.doc +2 -0
  10. data/doc/memo.html +5 -0
  11. data/doc/readme.doc +16 -8
  12. data/doc/readme.html +19 -13
  13. data/doc/rss.xml +7 -0
  14. data/ext/common.h +1 -0
  15. data/ext/{swig.c → main.c} +32 -6
  16. data/ext/{swig.h → main.h} +8 -7
  17. data/ext/relay.c +7 -83
  18. data/ext/relay.h +7 -5
  19. data/ext/swig_vpi.i +10 -3
  20. data/ext/swig_wrap.cin +4 -1
  21. data/ext/verilog.h +26 -10
  22. data/ext/vlog.c +16 -23
  23. data/ext/vlog.h +5 -19
  24. data/lib/ruby-vpi/rcov.rb +3 -3
  25. data/lib/ruby-vpi/runner.rb +5 -2
  26. data/lib/ruby-vpi/vpi.rb +1 -1
  27. data/lib/ruby-vpi.rb +57 -5
  28. data/ref/c/annotated.html +1 -7
  29. data/ref/c/common_8h.html +2 -1
  30. data/ref/c/files.html +3 -5
  31. data/ref/c/functions.html +24 -46
  32. data/ref/c/functions_vars.html +24 -46
  33. data/ref/c/globals.html +5 -210
  34. data/ref/c/globals_0x63.html +32 -48
  35. data/ref/c/globals_0x65.html +3 -9
  36. data/ref/c/globals_0x66.html +3 -19
  37. data/ref/c/globals_0x6d.html +5 -10
  38. data/ref/c/globals_0x70.html +19 -25
  39. data/ref/c/globals_0x72.html +8 -18
  40. data/ref/c/globals_0x73.html +11 -198
  41. data/ref/c/globals_0x74.html +2 -8
  42. data/ref/c/globals_0x76.html +419 -427
  43. data/ref/c/globals_0x78.html +3 -9
  44. data/ref/c/globals_defs.html +30 -35
  45. data/ref/c/globals_defs_0x65.html +2 -7
  46. data/ref/c/globals_defs_0x70.html +3 -8
  47. data/ref/c/globals_defs_0x76.html +416 -420
  48. data/ref/c/globals_defs_0x78.html +2 -7
  49. data/ref/c/globals_enum.html +1 -1
  50. data/ref/c/globals_eval.html +1 -1
  51. data/ref/c/globals_func.html +13 -173
  52. data/ref/c/globals_type.html +26 -29
  53. data/ref/c/globals_vars.html +4 -88
  54. data/ref/c/index.html +1 -1
  55. data/ref/c/{swig_8c.html → main_8c.html} +16 -14
  56. data/ref/c/{swig_8h.html → main_8h.html} +15 -14
  57. data/ref/c/relay_8c.html +25 -38
  58. data/ref/c/relay_8h.html +16 -15
  59. data/ref/c/structt__cb__data.html +6 -23
  60. data/ref/c/structt__vpi__delay.html +3 -20
  61. data/ref/c/structt__vpi__error__info.html +3 -71
  62. data/ref/c/structt__vpi__strengthval.html +3 -3
  63. data/ref/c/structt__vpi__systf__data.html +12 -46
  64. data/ref/c/structt__vpi__time.html +3 -3
  65. data/ref/c/structt__vpi__value.html +3 -113
  66. data/ref/c/structt__vpi__vecval.html +3 -3
  67. data/ref/c/structt__vpi__vlog__info.html +3 -54
  68. data/ref/c/verilog_8h.html +69 -3
  69. data/ref/c/vlog_8c.html +16 -61
  70. data/ref/c/vlog_8h.html +14 -57
  71. data/ref/c/vpi__user_8h.html +16 -16
  72. data/ref/ruby/classes/ERB.html +5 -5
  73. data/ref/ruby/classes/ERB.src/{M000032.html → M000026.html} +0 -0
  74. data/ref/ruby/classes/FileUtils.html +10 -10
  75. data/ref/ruby/classes/FileUtils.src/{M000034.html → M000027.html} +0 -0
  76. data/ref/ruby/classes/FileUtils.src/{M000035.html → M000028.html} +0 -0
  77. data/ref/ruby/classes/Float.html +5 -5
  78. data/ref/ruby/classes/Float.src/{M000027.html → M000022.html} +0 -0
  79. data/ref/ruby/classes/Integer.html +68 -68
  80. data/ref/ruby/classes/Integer.src/M000008.html +25 -0
  81. data/ref/ruby/classes/Integer.src/M000009.html +18 -0
  82. data/ref/ruby/classes/Integer.src/{M000014.html → M000010.html} +0 -0
  83. data/ref/ruby/classes/Integer.src/{M000015.html → M000011.html} +0 -0
  84. data/ref/ruby/classes/Integer.src/M000012.html +5 -12
  85. data/ref/ruby/classes/Integer.src/M000013.html +5 -5
  86. data/ref/ruby/classes/Integer.src/M000016.html +9 -5
  87. data/ref/ruby/classes/Integer.src/M000017.html +9 -5
  88. data/ref/ruby/classes/Integer.src/{M000022.html → M000018.html} +0 -0
  89. data/ref/ruby/classes/Integer.src/{M000023.html → M000019.html} +0 -0
  90. data/ref/ruby/classes/Integer.src/M000020.html +12 -9
  91. data/ref/ruby/classes/Integer.src/M000021.html +17 -9
  92. data/ref/ruby/classes/RDoc.html +5 -5
  93. data/ref/ruby/classes/RDoc.src/{M000050.html → M000041.html} +0 -0
  94. data/ref/ruby/classes/RubyVpi.html +29 -24
  95. data/ref/ruby/classes/RubyVpi.src/M000029.html +142 -0
  96. data/ref/ruby/classes/String.html +15 -15
  97. data/ref/ruby/classes/String.src/{M000029.html → M000023.html} +0 -0
  98. data/ref/ruby/classes/String.src/{M000030.html → M000024.html} +0 -0
  99. data/ref/ruby/classes/String.src/{M000031.html → M000025.html} +0 -0
  100. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +5 -5
  101. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/{M000011.html → M000007.html} +0 -0
  102. data/ref/ruby/classes/VerilogParser/Module/Port.html +20 -20
  103. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000007.html → M000003.html} +0 -0
  104. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000008.html → M000004.html} +0 -0
  105. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000009.html → M000005.html} +0 -0
  106. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000010.html → M000006.html} +0 -0
  107. data/ref/ruby/classes/VerilogParser/Module.html +5 -5
  108. data/ref/ruby/classes/VerilogParser/Module.src/{M000006.html → M000002.html} +0 -0
  109. data/ref/ruby/classes/VerilogParser.html +5 -5
  110. data/ref/ruby/classes/VerilogParser.src/{M000005.html → M000001.html} +0 -0
  111. data/ref/ruby/classes/Vpi/Handle.html +56 -62
  112. data/ref/ruby/classes/Vpi/Handle.src/M000030.html +18 -0
  113. data/ref/ruby/classes/Vpi/Handle.src/{M000039.html → M000031.html} +0 -0
  114. data/ref/ruby/classes/Vpi/Handle.src/M000032.html +18 -0
  115. data/ref/ruby/classes/Vpi/Handle.src/{M000041.html → M000033.html} +0 -0
  116. data/ref/ruby/classes/Vpi/Handle.src/{M000042.html → M000034.html} +0 -0
  117. data/ref/ruby/classes/Vpi/Handle.src/{M000043.html → M000035.html} +0 -0
  118. data/ref/ruby/classes/Vpi/Handle.src/{M000044.html → M000036.html} +0 -0
  119. data/ref/ruby/classes/Vpi/Handle.src/{M000045.html → M000037.html} +0 -0
  120. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +11 -5
  121. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +55 -5
  122. data/ref/ruby/created.rid +1 -1
  123. data/ref/ruby/files/bin/generate_test_rb.html +1 -49
  124. data/ref/ruby/files/bin/header_to_ruby_rb.html +1 -1
  125. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  126. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -48
  127. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  128. data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
  129. data/ref/ruby/fr_class_index.html +0 -5
  130. data/ref/ruby/fr_method_index.html +41 -50
  131. data/samp/counter/counter_rspec_bench.rb +2 -0
  132. data/samp/counter/counter_rspec_bench.v +4 -11
  133. data/samp/counter/counter_rspec_design.rb +2 -2
  134. data/samp/counter/counter_xunit_bench.rb +2 -0
  135. data/samp/counter/counter_xunit_bench.v +4 -11
  136. data/samp/counter/counter_xunit_design.rb +2 -2
  137. data/samp/pipelined_alu/hw5_unit_test_bench.rb +2 -0
  138. data/samp/pipelined_alu/hw5_unit_test_bench.v +4 -11
  139. metadata +37 -85
  140. data/ref/c/globals_0x62.html +0 -62
  141. data/ref/c/globals_0x67.html +0 -64
  142. data/ref/c/globals_0x69.html +0 -62
  143. data/ref/c/globals_0x6c.html +0 -64
  144. data/ref/c/globals_0x6e.html +0 -63
  145. data/ref/c/globals_0x75.html +0 -63
  146. data/ref/c/globals_defs_0x6c.html +0 -57
  147. data/ref/c/globals_defs_0x6e.html +0 -56
  148. data/ref/c/globals_defs_0x72.html +0 -57
  149. data/ref/c/globals_defs_0x73.html +0 -164
  150. data/ref/c/globals_defs_0x75.html +0 -56
  151. data/ref/c/globals_func_0x66.html +0 -62
  152. data/ref/c/globals_func_0x67.html +0 -55
  153. data/ref/c/globals_func_0x69.html +0 -53
  154. data/ref/c/globals_func_0x70.html +0 -53
  155. data/ref/c/globals_func_0x72.html +0 -57
  156. data/ref/c/globals_func_0x73.html +0 -114
  157. data/ref/c/globals_func_0x76.html +0 -57
  158. data/ref/c/structrelay____RubyOptions____def.html +0 -73
  159. data/ref/c/structswig__cast__info.html +0 -98
  160. data/ref/c/structswig__class.html +0 -115
  161. data/ref/c/structswig__module__info.html +0 -132
  162. data/ref/c/structswig__type__info.html +0 -132
  163. data/ref/c/swig__vpi_8h.html +0 -8739
  164. data/ref/c/swig__wrap_8cin.html +0 -11556
  165. data/ref/c/unions__vpi__value__value.html +0 -166
  166. data/ref/ruby/classes/Integer.src/M000024.html +0 -25
  167. data/ref/ruby/classes/Integer.src/M000025.html +0 -30
  168. data/ref/ruby/classes/OutputInfo.html +0 -294
  169. data/ref/ruby/classes/OutputInfo.src/M000026.html +0 -50
  170. data/ref/ruby/classes/RubyVpi.src/M000036.html +0 -107
  171. data/ref/ruby/classes/RubyVpi.src/M000037.html +0 -20
  172. data/ref/ruby/classes/Template.html +0 -158
  173. data/ref/ruby/classes/Template.src/M000028.html +0 -18
  174. data/ref/ruby/classes/Vpi/Handle/Property.html +0 -130
  175. data/ref/ruby/classes/Vpi/Handle/Property.src/M000049.html +0 -80
  176. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +0 -24
  177. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +0 -68
  178. data/ref/ruby/classes/XX/XMLish.html +0 -138
  179. data/ref/ruby/classes/XX/XMLish.src/M000033.html +0 -18
  180. data/ref/ruby/classes/XX.html +0 -111
  181. data/ref/ruby/files/bin/generate_test_rb.src/M000001.html +0 -18
  182. data/ref/ruby/files/bin/generate_test_rb.src/M000002.html +0 -38
  183. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000003.html +0 -24
  184. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000004.html +0 -26
@@ -1,107 +0,0 @@
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>init_bench (RubyVpi)</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.rb, line 29</span>
14
- 29: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">RubyVpi</span>.<span class="ruby-identifier">init_bench</span> <span class="ruby-identifier">aDesignId</span>, <span class="ruby-identifier">aSpecFormat</span>
15
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">caller</span>.<span class="ruby-identifier">find</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^(.*?)_bench.rb:/</span>}
16
- 31: <span class="ruby-identifier">testName</span> = <span class="ruby-identifier">$1</span>
17
- 32: <span class="ruby-keyword kw">else</span>
18
- 33: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Unable to determine name of test.'</span>
19
- 34: <span class="ruby-keyword kw">end</span>
20
- 35:
21
- 36: <span class="ruby-identifier">useDebugger</span> = <span class="ruby-operator">!</span>(<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'DEBUG'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>).<span class="ruby-identifier">empty?</span>
22
- 37: <span class="ruby-identifier">useCoverage</span> = <span class="ruby-operator">!</span>(<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'COVERAGE'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>).<span class="ruby-identifier">empty?</span>
23
- 38: <span class="ruby-identifier">usePrototype</span> = <span class="ruby-operator">!</span>(<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'PROTOTYPE'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>).<span class="ruby-identifier">empty?</span>
24
- 39:
25
- 40: <span class="ruby-comment cmt"># service the $ruby_init() task</span>
26
- 41: <span class="ruby-constant">Vpi</span><span class="ruby-operator">::</span><span class="ruby-identifier">relay_verilog</span>
27
- 42:
28
- 43: <span class="ruby-comment cmt"># set up code coverage analysis</span>
29
- 44: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">useCoverage</span>
30
- 45: <span class="ruby-identifier">require</span> <span class="ruby-value str">'ruby-vpi/rcov'</span>
31
- 46:
32
- 47: <span class="ruby-constant">RubyVpi</span>.<span class="ruby-identifier">with_coverage_analysis</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
33
- 48: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">dump_coverage_info</span> [
34
- 49: <span class="ruby-constant">Rcov</span><span class="ruby-operator">::</span><span class="ruby-constant">TextReport</span>.<span class="ruby-identifier">new</span>,
35
- 50: <span class="ruby-constant">Rcov</span><span class="ruby-operator">::</span><span class="ruby-constant">HTMLCoverage</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:destdir</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{testName}_coverage&quot;</span>)
36
- 51: ]
37
- 52: <span class="ruby-keyword kw">end</span>
38
- 53:
39
- 54: <span class="ruby-constant">Vpi</span><span class="ruby-operator">::</span><span class="ruby-identifier">vpi_printf</span> <span class="ruby-node">&quot;#{Config::PROJECT_NAME}: coverage analysis is enabled for test #{testName.inspect}\n&quot;</span>
40
- 55: <span class="ruby-keyword kw">end</span>
41
- 56:
42
- 57: <span class="ruby-comment cmt"># set up the specification library</span>
43
- 58: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aSpecFormat</span>
44
- 59: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:xUnit</span>
45
- 60: <span class="ruby-identifier">require</span> <span class="ruby-value str">'test/unit'</span>
46
- 61:
47
- 62: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:rSpec</span>
48
- 63: <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">concat</span> <span class="ruby-node">%w[-f s]</span>
49
- 64: <span class="ruby-identifier">require</span> <span class="ruby-value str">'spec'</span>
50
- 65:
51
- 66: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:tSpec</span>
52
- 67: <span class="ruby-constant">ARGV</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-rs'</span>
53
- 68: <span class="ruby-identifier">require</span> <span class="ruby-value str">'test/spec'</span>
54
- 69: <span class="ruby-keyword kw">end</span>
55
- 70:
56
- 71: <span class="ruby-comment cmt"># set up the interactive debugger</span>
57
- 72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">useDebugger</span>
58
- 73: <span class="ruby-identifier">require</span> <span class="ruby-value str">'ruby-debug'</span>
59
- 74:
60
- 75: <span class="ruby-constant">Debugger</span>.<span class="ruby-identifier">start</span>
61
- 76: <span class="ruby-constant">Debugger</span>.<span class="ruby-identifier">post_mortem</span>
62
- 77:
63
- 78: <span class="ruby-constant">Vpi</span><span class="ruby-operator">::</span><span class="ruby-identifier">vpi_printf</span> <span class="ruby-node">&quot;#{Config::PROJECT_NAME}: debugger is enabled for test #{testName.inspect}\n&quot;</span>
64
- 79: <span class="ruby-keyword kw">end</span>
65
- 80:
66
- 81: <span class="ruby-comment cmt"># suppress undefined method errors when debugger is not enabled</span>
67
- 82: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:debugger</span>
68
- 83: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
69
- 84: <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">:debugger</span> <span class="ruby-keyword kw">do</span>
70
- 85: <span class="ruby-comment cmt"># this is a dummy method!</span>
71
- 86: <span class="ruby-keyword kw">end</span>
72
- 87: <span class="ruby-keyword kw">end</span>
73
- 88: <span class="ruby-keyword kw">end</span>
74
- 89:
75
- 90: <span class="ruby-comment cmt"># set up the VPI utility layer</span>
76
- 91: <span class="ruby-identifier">require</span> <span class="ruby-value str">'ruby-vpi/vpi'</span>
77
- 92:
78
- 93: <span class="ruby-constant">Object</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
79
- 94: <span class="ruby-identifier">include</span> <span class="ruby-constant">Vpi</span>
80
- 95: <span class="ruby-keyword kw">end</span>
81
- 96:
82
- 97: <span class="ruby-comment cmt"># load the design under test</span>
83
- 98: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">design</span> = <span class="ruby-identifier">vpi_handle_by_name</span>(<span class="ruby-node">&quot;#{testName}_bench&quot;</span>, <span class="ruby-keyword kw">nil</span>)
84
- 99: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Verilog bench for test #{testName.inspect} is inaccessible.&quot;</span>
85
- 100: <span class="ruby-keyword kw">end</span>
86
- 101:
87
- 102: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">const_set</span>(<span class="ruby-identifier">aDesignId</span>, <span class="ruby-identifier">design</span>)
88
- 103: <span class="ruby-identifier">require</span> <span class="ruby-node">&quot;#{testName}_design.rb&quot;</span>
89
- 104:
90
- 105: <span class="ruby-comment cmt"># load the design's prototype</span>
91
- 106: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">usePrototype</span>
92
- 107: <span class="ruby-identifier">require</span> <span class="ruby-node">&quot;#{testName}_proto.rb&quot;</span>
93
- 108:
94
- 109: <span class="ruby-constant">Vpi</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
95
- 110: <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">:relay_verilog</span> <span class="ruby-keyword kw">do</span>
96
- 111: <span class="ruby-identifier">design</span>.<span class="ruby-identifier">simulate!</span>
97
- 112: <span class="ruby-keyword kw">end</span>
98
- 113: <span class="ruby-keyword kw">end</span>
99
- 114:
100
- 115: <span class="ruby-constant">Vpi</span><span class="ruby-operator">::</span><span class="ruby-identifier">vpi_printf</span> <span class="ruby-node">&quot;#{Config::PROJECT_NAME}: prototype is enabled for test #{testName.inspect}\n&quot;</span>
101
- 116: <span class="ruby-keyword kw">end</span>
102
- 117:
103
- 118: <span class="ruby-comment cmt"># load the design's specification</span>
104
- 119: <span class="ruby-identifier">require</span> <span class="ruby-node">&quot;#{testName}_spec.rb&quot;</span>
105
- 120: <span class="ruby-keyword kw">end</span></pre>
106
- </body>
107
- </html>
@@ -1,20 +0,0 @@
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>with_coverage_analysis (RubyVpi)</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/rcov.rb, line 57</span>
14
- 57: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">RubyVpi</span>.<span class="ruby-identifier">with_coverage_analysis</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">aBlock</span> <span class="ruby-comment cmt"># :yields: Rcov::CodeCoverageAnalyzer</span>
15
- 58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aBlock</span>
16
- 59: <span class="ruby-constant">COVERAGE_ANALYSIS_HANDLERS</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aBlock</span>
17
- 60: <span class="ruby-keyword kw">end</span>
18
- 61: <span class="ruby-keyword kw">end</span></pre>
19
- </body>
20
- </html>
@@ -1,158 +0,0 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Template</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Template</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/bin/generate_test_rb.html">
59
- bin/generate_test.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="ERB.html">
69
- ERB
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- <a href="Template.html">Template</a> used for generating output.
86
- </p>
87
-
88
- </div>
89
-
90
-
91
- </div>
92
-
93
- <div id="method-list">
94
- <h3 class="section-bar">Methods</h3>
95
-
96
- <div class="name-list">
97
- <a href="#M000028">new</a>&nbsp;&nbsp;
98
- </div>
99
- </div>
100
-
101
- </div>
102
-
103
-
104
- <!-- if includes -->
105
-
106
- <div id="section">
107
-
108
-
109
- <div id="constants-list">
110
- <h3 class="section-bar">Constants</h3>
111
-
112
- <div class="name-list">
113
- <table summary="Constants">
114
- <tr class="top-aligned-row context-row">
115
- <td class="context-item-name">TEMPLATE_PATH</td>
116
- <td>=</td>
117
- <td class="context-item-value">__FILE__.sub %r{\.rb$}, '_tpl'</td>
118
- </tr>
119
- </table>
120
- </div>
121
- </div>
122
-
123
-
124
-
125
-
126
-
127
-
128
- <!-- if method_list -->
129
- <div id="methods">
130
- <h3 class="section-bar">Public Class methods</h3>
131
-
132
- <div id="method-M000028" class="method-detail">
133
- <a name="M000028"></a>
134
-
135
- <div class="method-heading">
136
- <a href="Template.src/M000028.html" target="Code" class="method-signature"
137
- onclick="popupCode('Template.src/M000028.html');return false;">
138
- <span class="method-name">new</span><span class="method-args">(aName)</span>
139
- </a>
140
- </div>
141
-
142
- <div class="method-description">
143
- </div>
144
- </div>
145
-
146
-
147
- </div>
148
-
149
-
150
- </div>
151
-
152
-
153
- <div id="validator-badges">
154
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
155
- </div>
156
-
157
- </body>
158
- </html>
@@ -1,18 +0,0 @@
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>new (Template)</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 bin/generate_test.rb, line 78</span>
14
- 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">aName</span>
15
- 79: <span class="ruby-keyword kw">super</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">TEMPLATE_PATH</span>, <span class="ruby-identifier">aName</span>))
16
- 80: <span class="ruby-keyword kw">end</span></pre>
17
- </body>
18
- </html>
@@ -1,130 +0,0 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Vpi::Handle::Property</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Vpi::Handle::Property</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- </td>
59
- </tr>
60
-
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
-
72
-
73
- </div>
74
-
75
- <div id="method-list">
76
- <h3 class="section-bar">Methods</h3>
77
-
78
- <div class="name-list">
79
- <a href="#M000049">resolve</a>&nbsp;&nbsp;
80
- </div>
81
- </div>
82
-
83
- </div>
84
-
85
-
86
- <!-- if includes -->
87
-
88
- <div id="section">
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
- <!-- if method_list -->
98
- <div id="methods">
99
- <h3 class="section-bar">Public Class methods</h3>
100
-
101
- <div id="method-M000049" class="method-detail">
102
- <a name="M000049"></a>
103
-
104
- <div class="method-heading">
105
- <a href="Property.src/M000049.html" target="Code" class="method-signature"
106
- onclick="popupCode('Property.src/M000049.html');return false;">
107
- <span class="method-name">resolve</span><span class="method-args">(aName)</span>
108
- </a>
109
- </div>
110
-
111
- <div class="method-description">
112
- <p>
113
- Resolves the given shorthand name into a description of its VPI property.
114
- </p>
115
- </div>
116
- </div>
117
-
118
-
119
- </div>
120
-
121
-
122
- </div>
123
-
124
-
125
- <div id="validator-badges">
126
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
127
- </div>
128
-
129
- </body>
130
- </html>
@@ -1,80 +0,0 @@
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>resolve (Vpi::Handle::Property)</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 280</span>
14
- 280: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Property</span>.<span class="ruby-identifier">resolve</span> <span class="ruby-identifier">aName</span>
15
- 281: <span class="ruby-comment cmt"># parse the given property name</span>
16
- 282: <span class="ruby-identifier">tokens</span> = <span class="ruby-identifier">aName</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/_/</span>)
17
- 283:
18
- 284:
19
- 285: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/[\?!=]$/</span>, <span class="ruby-value str">''</span>)
20
- 286:
21
- 287: <span class="ruby-identifier">addendum</span> = <span class="ruby-identifier">$&amp;</span>
22
- 288: <span class="ruby-identifier">isAssign</span> = <span class="ruby-identifier">$&amp;</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'='</span>
23
- 289: <span class="ruby-identifier">isQuery</span> = <span class="ruby-identifier">$&amp;</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'?'</span>
24
- 290:
25
- 291:
26
- 292: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[a-z]$/</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">pop</span>
27
- 293: <span class="ruby-identifier">accessor</span> = <span class="ruby-identifier">$&amp;</span>
28
- 294:
29
- 295: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">pop</span>
30
- 296:
31
- 297: <span class="ruby-identifier">operation</span> =
32
- 298: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">empty?</span>
33
- 299: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'_'</span>) <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">addendum</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>)
34
- 300: <span class="ruby-keyword kw">end</span>
35
- 301:
36
- 302: <span class="ruby-comment cmt"># determine the VPI integer type for the property</span>
37
- 303: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">upcase</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">name</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
38
- 304: <span class="ruby-identifier">name</span>.<span class="ruby-identifier">insert</span> <span class="ruby-value">0</span>, <span class="ruby-value str">'Vpi'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[Vv]pi/</span>
39
- 305:
40
- 306: <span class="ruby-keyword kw">begin</span>
41
- 307: <span class="ruby-identifier">type</span> = <span class="ruby-constant">Vpi</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">name</span>)
42
- 308: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">NameError</span>
43
- 309: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;#{name.inspect} is not a valid VPI property&quot;</span>
44
- 310: <span class="ruby-keyword kw">end</span>
45
- 311:
46
- 312: <span class="ruby-identifier">accessor</span> =
47
- 313: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">accessor</span>
48
- 314: <span class="ruby-identifier">accessor</span>.<span class="ruby-identifier">to_sym</span>
49
- 315:
50
- 316: <span class="ruby-keyword kw">else</span> <span class="ruby-comment cmt"># infer accessor from VPI property name</span>
51
- 317: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">isQuery</span>
52
- 318: <span class="ruby-identifier">:b</span>
53
- 319:
54
- 320: <span class="ruby-keyword kw">else</span>
55
- 321: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">name</span>
56
- 322: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/Time$/</span>
57
- 323: <span class="ruby-identifier">:d</span>
58
- 324:
59
- 325: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/Val$/</span>
60
- 326: <span class="ruby-identifier">:l</span>
61
- 327:
62
- 328: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/Type$/</span>, <span class="ruby-regexp re">/Direction$/</span>, <span class="ruby-regexp re">/Index$/</span>, <span class="ruby-regexp re">/Size$/</span>, <span class="ruby-regexp re">/Strength\d?$/</span>, <span class="ruby-regexp re">/Polarity$/</span>, <span class="ruby-regexp re">/Edge$/</span>, <span class="ruby-regexp re">/Offset$/</span>, <span class="ruby-regexp re">/Mode$/</span>, <span class="ruby-regexp re">/LineNo$/</span>
63
- 329: <span class="ruby-identifier">:i</span>
64
- 330:
65
- 331: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/Is[A-Z]/</span>, <span class="ruby-regexp re">/ed$/</span>
66
- 332: <span class="ruby-identifier">:b</span>
67
- 333:
68
- 334: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/Name$/</span>, <span class="ruby-regexp re">/File$/</span>, <span class="ruby-regexp re">/Decompile$/</span>
69
- 335: <span class="ruby-identifier">:s</span>
70
- 336:
71
- 337: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/Parent$/</span>, <span class="ruby-regexp re">/Inst$/</span>, <span class="ruby-regexp re">/Range$/</span>, <span class="ruby-regexp re">/Driver$/</span>, <span class="ruby-regexp re">/Net$/</span>, <span class="ruby-regexp re">/Load$/</span>, <span class="ruby-regexp re">/Conn$/</span>, <span class="ruby-regexp re">/Bit$/</span>, <span class="ruby-regexp re">/Word$/</span>, <span class="ruby-regexp re">/[LR]hs$/</span>, <span class="ruby-regexp re">/(In|Out)$/</span>, <span class="ruby-regexp re">/Term$/</span>, <span class="ruby-regexp re">/Argument$/</span>, <span class="ruby-regexp re">/Condition$/</span>, <span class="ruby-regexp re">/Use$/</span>, <span class="ruby-regexp re">/Operand$/</span>, <span class="ruby-regexp re">/Stmt$/</span>, <span class="ruby-regexp re">/Expr$/</span>, <span class="ruby-regexp re">/Scope$/</span>, <span class="ruby-regexp re">/Memory$/</span>, <span class="ruby-regexp re">/Delay$/</span>
72
- 338: <span class="ruby-identifier">:h</span>
73
- 339: <span class="ruby-keyword kw">end</span>
74
- 340: <span class="ruby-keyword kw">end</span>
75
- 341: <span class="ruby-keyword kw">end</span>
76
- 342:
77
- 343: <span class="ruby-constant">Property</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">type</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">operation</span>, <span class="ruby-identifier">accessor</span>, <span class="ruby-identifier">isAssign</span>
78
- 344: <span class="ruby-keyword kw">end</span></pre>
79
- </body>
80
- </html>
@@ -1,24 +0,0 @@
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>inspect (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 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>
23
- </body>
24
- </html>