ruby-vpi 16.0.1 → 17.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 (247) hide show
  1. data/LICENSE +19 -19
  2. data/README +1 -1
  3. data/Rakefile +35 -32
  4. data/bin/convert.rb +28 -0
  5. data/bin/generate/design.rb +16 -0
  6. data/bin/generate/proto.rb +13 -0
  7. data/bin/generate/runner.rake +33 -0
  8. data/bin/generate/spec.rb +45 -0
  9. data/bin/generate.rb +177 -0
  10. data/bin/ruby-vpi +56 -0
  11. data/doc/Rakefile +20 -4
  12. data/doc/common.css +92 -33
  13. data/doc/common.inc +13 -0
  14. data/doc/common.tpl +42 -28
  15. data/doc/history.doc +11 -11
  16. data/doc/history.html +769 -248
  17. data/doc/history.inc +909 -0
  18. data/doc/history.rb +9 -0
  19. data/doc/history.yaml +69 -0
  20. data/doc/intro.inc +170 -178
  21. data/doc/lib/doc_format.rb +57 -144
  22. data/doc/lib/doc_proxy.rb +504 -88
  23. data/doc/lib/erb_content.rb +8 -8
  24. data/doc/lib/erb_proxy.rb +17 -17
  25. data/doc/manual.doc +626 -777
  26. data/doc/manual.html +1541 -1031
  27. data/doc/memo.doc +38 -36
  28. data/doc/memo.html +64 -28
  29. data/doc/readme.doc +4 -31
  30. data/doc/readme.html +221 -163
  31. data/doc/rss.erb +1 -1
  32. data/doc/rss.xml +73 -1761
  33. data/ext/Rakefile +6 -5
  34. data/ext/main.c +17 -15
  35. data/ext/relay.c +4 -7
  36. data/ext/relay.h +2 -2
  37. data/ext/swig_vpi.h +2 -2
  38. data/ext/swig_vpi.i +1 -2
  39. data/ext/swig_wrap.cin +12 -16
  40. data/ext/vlog.c +5 -5
  41. data/ext/vlog.h +2 -2
  42. data/lib/ruby-vpi/erb.rb +3 -3
  43. data/lib/ruby-vpi/float.rb +2 -2
  44. data/lib/ruby-vpi/rcov.rb +5 -7
  45. data/lib/ruby-vpi/runner.rb +43 -41
  46. data/lib/ruby-vpi/runner_boot_loader.rb +117 -0
  47. data/lib/ruby-vpi/runner_proxy.rb +6 -8
  48. data/lib/ruby-vpi/util.rb +10 -0
  49. data/lib/ruby-vpi/verilog_parser.rb +28 -56
  50. data/lib/ruby-vpi/vpi.rb +168 -123
  51. data/lib/ruby-vpi.rb +22 -143
  52. data/ref/c/annotated.html +1 -1
  53. data/ref/c/common_8h.html +1 -1
  54. data/ref/c/files.html +1 -1
  55. data/ref/c/functions.html +1 -1
  56. data/ref/c/functions_vars.html +1 -1
  57. data/ref/c/globals.html +1 -1
  58. data/ref/c/globals_0x63.html +1 -1
  59. data/ref/c/globals_0x65.html +1 -1
  60. data/ref/c/globals_0x66.html +1 -1
  61. data/ref/c/globals_0x6d.html +1 -1
  62. data/ref/c/globals_0x70.html +1 -1
  63. data/ref/c/globals_0x72.html +1 -1
  64. data/ref/c/globals_0x73.html +1 -1
  65. data/ref/c/globals_0x74.html +1 -1
  66. data/ref/c/globals_0x76.html +1 -1
  67. data/ref/c/globals_0x78.html +1 -1
  68. data/ref/c/globals_defs.html +1 -1
  69. data/ref/c/globals_defs_0x65.html +1 -1
  70. data/ref/c/globals_defs_0x70.html +1 -1
  71. data/ref/c/globals_defs_0x76.html +1 -1
  72. data/ref/c/globals_defs_0x78.html +1 -1
  73. data/ref/c/globals_enum.html +1 -1
  74. data/ref/c/globals_eval.html +1 -1
  75. data/ref/c/globals_func.html +1 -1
  76. data/ref/c/globals_type.html +1 -1
  77. data/ref/c/globals_vars.html +1 -1
  78. data/ref/c/index.html +1 -1
  79. data/ref/c/main_8c.html +1 -1
  80. data/ref/c/main_8h.html +1 -1
  81. data/ref/c/relay_8c.html +1 -1
  82. data/ref/c/relay_8h.html +1 -1
  83. data/ref/c/structt__cb__data.html +1 -1
  84. data/ref/c/structt__vpi__delay.html +1 -1
  85. data/ref/c/structt__vpi__error__info.html +1 -1
  86. data/ref/c/structt__vpi__strengthval.html +1 -1
  87. data/ref/c/structt__vpi__systf__data.html +1 -1
  88. data/ref/c/structt__vpi__time.html +1 -1
  89. data/ref/c/structt__vpi__value.html +1 -1
  90. data/ref/c/structt__vpi__vecval.html +1 -1
  91. data/ref/c/structt__vpi__vlog__info.html +1 -1
  92. data/ref/c/verilog_8h.html +1 -1
  93. data/ref/c/vlog_8c.html +1 -1
  94. data/ref/c/vlog_8h.html +1 -1
  95. data/ref/c/vpi__user_8h.html +1 -1
  96. data/ref/ruby/classes/ERB.html +5 -5
  97. data/ref/ruby/classes/ERB.src/{M000024.html → M000026.html} +0 -0
  98. data/ref/ruby/classes/FileUtils.html +11 -11
  99. data/ref/ruby/classes/FileUtils.src/{M000025.html → M000027.html} +0 -0
  100. data/ref/ruby/classes/FileUtils.src/{M000026.html → M000028.html} +0 -0
  101. data/ref/ruby/classes/Float.html +6 -6
  102. data/ref/ruby/classes/Float.src/{M000020.html → M000021.html} +0 -0
  103. data/ref/ruby/classes/Integer.html +65 -65
  104. data/ref/ruby/classes/Integer.src/M000009.html +12 -5
  105. data/ref/ruby/classes/Integer.src/M000010.html +5 -5
  106. data/ref/ruby/classes/Integer.src/M000011.html +5 -5
  107. data/ref/ruby/classes/Integer.src/M000012.html +5 -5
  108. data/ref/ruby/classes/Integer.src/M000013.html +5 -5
  109. data/ref/ruby/classes/Integer.src/M000014.html +18 -0
  110. data/ref/ruby/classes/Integer.src/M000017.html +12 -18
  111. data/ref/ruby/classes/Integer.src/M000018.html +18 -12
  112. data/ref/ruby/classes/Integer.src/M000019.html +12 -17
  113. data/ref/ruby/classes/Integer.src/M000020.html +30 -0
  114. data/ref/ruby/classes/RDoc.html +5 -5
  115. data/ref/ruby/classes/RDoc.src/{M000053.html → M000058.html} +0 -0
  116. data/ref/ruby/classes/{RubyVpi/Config.html → RubyVPI.html} +20 -6
  117. data/ref/ruby/classes/String.html +34 -15
  118. data/ref/ruby/classes/String.src/M000022.html +5 -28
  119. data/ref/ruby/classes/String.src/M000023.html +5 -5
  120. data/ref/ruby/classes/String.src/{M000021.html → M000024.html} +0 -0
  121. data/ref/ruby/classes/String.src/M000025.html +41 -0
  122. data/ref/ruby/classes/VerilogParser/Module/Port.html +16 -36
  123. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +10 -5
  124. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000004.html → M000007.html} +4 -4
  125. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000005.html → M000008.html} +4 -4
  126. data/ref/ruby/classes/VerilogParser/Module.html +28 -9
  127. data/ref/ruby/classes/VerilogParser/Module.src/M000005.html +29 -0
  128. data/ref/ruby/classes/VerilogParser.html +5 -39
  129. data/ref/ruby/classes/VerilogParser.src/M000004.html +26 -0
  130. data/ref/ruby/classes/Vpi/Handle.html +179 -77
  131. data/ref/ruby/classes/Vpi/Handle.src/M000035.html +18 -0
  132. data/ref/ruby/classes/Vpi/Handle.src/M000036.html +5 -5
  133. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +5 -5
  134. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +5 -5
  135. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +5 -5
  136. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +5 -8
  137. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +5 -8
  138. data/ref/ruby/classes/Vpi/Handle.src/M000042.html +5 -9
  139. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +8 -31
  140. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +8 -74
  141. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +9 -17
  142. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +31 -11
  143. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +86 -0
  144. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +17 -18
  145. data/ref/ruby/classes/Vpi/Handle.src/M000050.html +18 -0
  146. data/ref/ruby/classes/Vpi/Handle.src/M000051.html +24 -0
  147. data/ref/ruby/classes/Vpi/Handle.src/M000053.html +31 -0
  148. data/ref/ruby/classes/Vpi/Handle.src/M000054.html +89 -0
  149. data/ref/ruby/classes/Vpi/S_vpi_time.html +16 -16
  150. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000050.html → M000055.html} +4 -4
  151. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000051.html → M000056.html} +5 -5
  152. data/ref/ruby/classes/Vpi/S_vpi_value.html +15 -15
  153. data/ref/ruby/classes/Vpi/S_vpi_value.src/{M000035.html → M000032.html} +5 -5
  154. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +5 -5
  155. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +5 -5
  156. data/ref/ruby/classes/Vpi.html +6 -42
  157. data/ref/ruby/classes/Vpi.src/M000029.html +15 -5
  158. data/ref/ruby/classes/Vpi.src/M000030.html +24 -24
  159. data/ref/ruby/classes/Vpi.src/M000031.html +6 -8
  160. data/ref/ruby/created.rid +1 -1
  161. data/ref/ruby/files/bin/{header_to_ruby_rb.html → convert_rb.html} +5 -5
  162. data/ref/ruby/files/bin/{generate_test_rb.html → generate_rb.html} +8 -21
  163. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  164. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  165. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  166. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  167. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  168. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  169. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +197 -0
  170. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +17 -0
  171. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +18 -0
  172. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  173. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +6 -19
  174. data/ref/ruby/files/lib/ruby-vpi/util_rb.html +101 -0
  175. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +8 -1
  176. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  177. data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -14
  178. data/ref/ruby/fr_class_index.html +1 -3
  179. data/ref/ruby/fr_file_index.html +4 -2
  180. data/ref/ruby/fr_method_index.html +56 -51
  181. data/ref/ruby/index.html +1 -1
  182. data/samp/counter/RSpec/Rakefile +1 -0
  183. data/samp/counter/RSpec/counter_design.rb +15 -0
  184. data/samp/counter/RSpec/counter_proto.rb +10 -0
  185. data/samp/counter/RSpec/counter_runner.rake +44 -0
  186. data/samp/counter/RSpec/counter_spec.rb +39 -0
  187. data/samp/counter/Rakefile +1 -1
  188. data/samp/counter/counter.v +7 -7
  189. data/samp/counter/xUnit/Rakefile +1 -0
  190. data/samp/counter/xUnit/counter_bench.rb +95 -0
  191. data/samp/counter/{counter_xunit_bench.v → xUnit/counter_bench.v} +0 -0
  192. data/samp/counter/xUnit/counter_design.rb +15 -0
  193. data/samp/counter/xUnit/counter_proto.rb +10 -0
  194. data/samp/counter/xUnit/counter_runner.rake +44 -0
  195. data/samp/counter/{counter_xunit_spec.rb → xUnit/counter_spec.rb} +9 -9
  196. data/samp/pipelined_alu/Rakefile +1 -1
  197. data/samp/pipelined_alu/TestHw5UnitModel.rb +4 -5
  198. data/samp/pipelined_alu/hw5_unit.v +55 -85
  199. data/samp/pipelined_alu/hw5_unit_design.rb +51 -0
  200. data/samp/pipelined_alu/hw5_unit_proto.rb +4 -0
  201. data/samp/pipelined_alu/hw5_unit_runner.rake +43 -0
  202. data/samp/pipelined_alu/hw5_unit_spec.rb +64 -0
  203. data/samp/register_file/LICENSE +20 -0
  204. data/samp/register_file/README +4 -0
  205. data/samp/register_file/Rakefile +1 -0
  206. data/samp/register_file/register_file.v +18 -0
  207. data/samp/register_file/register_file_design.rb +11 -0
  208. data/samp/register_file/register_file_proto.rb +11 -0
  209. data/samp/register_file/register_file_runner.rake +43 -0
  210. data/samp/register_file/register_file_spec.rb +58 -0
  211. metadata +78 -66
  212. data/bin/generate_test.rb +0 -200
  213. data/bin/generate_test_tpl/bench.rb +0 -89
  214. data/bin/generate_test_tpl/bench.v +0 -26
  215. data/bin/generate_test_tpl/design.rb +0 -11
  216. data/bin/generate_test_tpl/proto.rb +0 -16
  217. data/bin/generate_test_tpl/runner.rake +0 -42
  218. data/bin/generate_test_tpl/spec.rb +0 -37
  219. data/bin/header_to_ruby.rb +0 -27
  220. data/ref/ruby/classes/Integer.src/M000008.html +0 -25
  221. data/ref/ruby/classes/Integer.src/M000016.html +0 -25
  222. data/ref/ruby/classes/RubyVpi.html +0 -199
  223. data/ref/ruby/classes/RubyVpi.src/M000027.html +0 -121
  224. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +0 -160
  225. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000007.html +0 -19
  226. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000003.html +0 -21
  227. data/ref/ruby/classes/VerilogParser/Module.src/M000002.html +0 -34
  228. data/ref/ruby/classes/VerilogParser.src/M000001.html +0 -34
  229. data/ref/ruby/classes/Vpi/Handle.src/M000049.html +0 -69
  230. data/ref/ruby/classes/Vpi.src/M000028.html +0 -28
  231. data/ref/ruby/classes/Vpi.src/M000032.html +0 -22
  232. data/samp/counter/counter_rspec_bench.rb +0 -86
  233. data/samp/counter/counter_rspec_bench.v +0 -9
  234. data/samp/counter/counter_rspec_design.rb +0 -8
  235. data/samp/counter/counter_rspec_proto.rb +0 -13
  236. data/samp/counter/counter_rspec_runner.rake +0 -52
  237. data/samp/counter/counter_rspec_spec.rb +0 -39
  238. data/samp/counter/counter_xunit_bench.rb +0 -86
  239. data/samp/counter/counter_xunit_design.rb +0 -8
  240. data/samp/counter/counter_xunit_proto.rb +0 -13
  241. data/samp/counter/counter_xunit_runner.rake +0 -52
  242. data/samp/pipelined_alu/hw5_unit_test_bench.rb +0 -86
  243. data/samp/pipelined_alu/hw5_unit_test_bench.v +0 -14
  244. data/samp/pipelined_alu/hw5_unit_test_design.rb +0 -61
  245. data/samp/pipelined_alu/hw5_unit_test_proto.rb +0 -7
  246. data/samp/pipelined_alu/hw5_unit_test_runner.rake +0 -52
  247. data/samp/pipelined_alu/hw5_unit_test_spec.rb +0 -68
@@ -5,21 +5,27 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>extend_sign (Integer)</title>
8
+ <title>unpack (Integer)</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/integer.rb, line 97</span>
14
- 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extend_sign</span> <span class="ruby-identifier">aOrigWidth</span>, <span class="ruby-identifier">aExtWidth</span>
15
- 98: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>
16
- 99: <span class="ruby-identifier">maskWidth</span> = <span class="ruby-identifier">aExtWidth</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">aOrigWidth</span>
17
- 100:
18
- 101: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">maskWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">result</span>[<span class="ruby-identifier">aOrigWidth</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
19
- 102: <span class="ruby-identifier">result</span> <span class="ruby-operator">|=</span> (<span class="ruby-identifier">maskWidth</span>.<span class="ruby-identifier">to_mask</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aOrigWidth</span>)
20
- 103: <span class="ruby-keyword kw">end</span>
21
- 104:
22
- 105: <span class="ruby-identifier">result</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">aExtWidth</span>.<span class="ruby-identifier">to_mask</span>
23
- 106: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 76</span>
14
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unpack</span> <span class="ruby-identifier">aPackedWidth</span>
15
+ 77: <span class="ruby-identifier">bits</span> = <span class="ruby-identifier">length</span>
16
+ 78:
17
+ 79: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aPackedWidth</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">bits</span>
18
+ 80: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;packed width #{aPackedWidth} must be at least #{bits} for integer #{self}&quot;</span>
19
+ 81: <span class="ruby-keyword kw">end</span>
20
+ 82:
21
+ 83: <span class="ruby-identifier">mask</span> = <span class="ruby-identifier">aPackedWidth</span>.<span class="ruby-identifier">to_mask</span>
22
+ 84: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">mask</span>
23
+ 85:
24
+ 86: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result</span>[<span class="ruby-identifier">aPackedWidth</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
25
+ 87: <span class="ruby-operator">-</span>((<span class="ruby-operator">-</span><span class="ruby-identifier">result</span>) <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">mask</span>)
26
+ 88: <span class="ruby-keyword kw">else</span>
27
+ 89: <span class="ruby-identifier">result</span>
28
+ 90: <span class="ruby-keyword kw">end</span>
29
+ 91: <span class="ruby-keyword kw">end</span></pre>
24
30
  </body>
25
31
  </html>
@@ -5,26 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>split (Integer)</title>
8
+ <title>extend_sign (Integer)</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/integer.rb, line 121</span>
14
- 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">split</span> <span class="ruby-identifier">aWidth</span> = <span class="ruby-value">8</span>
15
- 122: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;width must be positive and non-zero&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
16
- 123:
17
- 124: <span class="ruby-identifier">int</span>, <span class="ruby-identifier">bits</span> = <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">length</span>
18
- 125: <span class="ruby-identifier">mask</span> = <span class="ruby-identifier">aWidth</span>.<span class="ruby-identifier">to_mask</span>
19
- 126: <span class="ruby-identifier">words</span> = []
20
- 127:
21
- 128: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">bits</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
22
- 129: <span class="ruby-identifier">words</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">int</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">mask</span>
23
- 130: <span class="ruby-identifier">int</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-identifier">aWidth</span>
24
- 131: <span class="ruby-identifier">bits</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">aWidth</span>
25
- 132: <span class="ruby-keyword kw">end</span>
26
- 133:
27
- 134: <span class="ruby-identifier">words</span>
28
- 135: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 97</span>
14
+ 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extend_sign</span> <span class="ruby-identifier">aOrigWidth</span>, <span class="ruby-identifier">aExtWidth</span>
15
+ 98: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>
16
+ 99: <span class="ruby-identifier">maskWidth</span> = <span class="ruby-identifier">aExtWidth</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">aOrigWidth</span>
17
+ 100:
18
+ 101: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">maskWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">result</span>[<span class="ruby-identifier">aOrigWidth</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
19
+ 102: <span class="ruby-identifier">result</span> <span class="ruby-operator">|=</span> (<span class="ruby-identifier">maskWidth</span>.<span class="ruby-identifier">to_mask</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aOrigWidth</span>)
20
+ 103: <span class="ruby-keyword kw">end</span>
21
+ 104:
22
+ 105: <span class="ruby-identifier">result</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">aExtWidth</span>.<span class="ruby-identifier">to_mask</span>
23
+ 106: <span class="ruby-keyword kw">end</span></pre>
29
24
  </body>
30
25
  </html>
@@ -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>split (Integer)</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/integer.rb, line 121</span>
14
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">split</span> <span class="ruby-identifier">aWidth</span> = <span class="ruby-value">8</span>
15
+ 122: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;width must be positive and non-zero&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
16
+ 123:
17
+ 124: <span class="ruby-identifier">int</span>, <span class="ruby-identifier">bits</span> = <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">length</span>
18
+ 125: <span class="ruby-identifier">mask</span> = <span class="ruby-identifier">aWidth</span>.<span class="ruby-identifier">to_mask</span>
19
+ 126: <span class="ruby-identifier">words</span> = []
20
+ 127:
21
+ 128: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">bits</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
22
+ 129: <span class="ruby-identifier">words</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">int</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">mask</span>
23
+ 130: <span class="ruby-identifier">int</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-identifier">aWidth</span>
24
+ 131: <span class="ruby-identifier">bits</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">aWidth</span>
25
+ 132: <span class="ruby-keyword kw">end</span>
26
+ 133:
27
+ 134: <span class="ruby-identifier">words</span>
28
+ 135: <span class="ruby-keyword kw">end</span></pre>
29
+ </body>
30
+ </html>
@@ -80,7 +80,7 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000053">usage_from_file</a>&nbsp;&nbsp;
83
+ <a href="#M000058">usage_from_file</a>&nbsp;&nbsp;
84
84
  </div>
85
85
  </div>
86
86
 
@@ -102,12 +102,12 @@
102
102
  <div id="methods">
103
103
  <h3 class="section-bar">Public Class methods</h3>
104
104
 
105
- <div id="method-M000053" class="method-detail">
106
- <a name="M000053"></a>
105
+ <div id="method-M000058" class="method-detail">
106
+ <a name="M000058"></a>
107
107
 
108
108
  <div class="method-heading">
109
- <a href="RDoc.src/M000053.html" target="Code" class="method-signature"
110
- onclick="popupCode('RDoc.src/M000053.html');return false;">
109
+ <a href="RDoc.src/M000058.html" target="Code" class="method-signature"
110
+ onclick="popupCode('RDoc.src/M000058.html');return false;">
111
111
  <span class="method-name">usage_from_file</span><span class="method-args">(input_file, *args)</span>
112
112
  </a>
113
113
  </div>
@@ -5,10 +5,10 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Module: RubyVpi::Config</title>
8
+ <title>Module: RubyVPI</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
12
  <script type="text/javascript">
13
13
  // <![CDATA[
14
14
 
@@ -50,14 +50,18 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">RubyVpi::Config</td>
53
+ <td class="class-name-in-header">RubyVPI</td>
54
54
  </tr>
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../../files/lib/ruby-vpi_rb.html">
58
+ <a href="../files/lib/ruby-vpi_rb.html">
59
59
  lib/ruby-vpi.rb
60
60
  </a>
61
+ <br />
62
+ <a href="../files/lib/ruby-vpi/rcov_rb.html">
63
+ lib/ruby-vpi/rcov.rb
64
+ </a>
61
65
  <br />
62
66
  </td>
63
67
  </tr>
@@ -74,7 +78,7 @@
74
78
 
75
79
  <div id="description">
76
80
  <p>
77
- Provides information about this project&#8216;s configuration.
81
+ General project information.
78
82
  </p>
79
83
 
80
84
  </div>
@@ -134,13 +138,23 @@ Provides information about this project&#8216;s configuration.
134
138
  <tr class="top-aligned-row context-row">
135
139
  <td class="context-item-name">SIMULATORS</td>
136
140
  <td>=</td>
137
- <td class="context-item-value">{ :cver =&gt; Simulator.new('GPL Cver', '-DPRAGMATIC_CVER', ''), :ivl =&gt; Simulator.new('Icarus Verilog', '-DICARUS_VERILOG', ''), :vcs =&gt; Simulator.new('Synopsys VCS', '-DSYNOPSYS_VCS', ''), :vsim =&gt; Simulator.new('Mentor Modelsim', '-DMENTOR_MODELSIM', ''), :ncsim =&gt; Simulator.new('Cadence NC-Sim', '-DCADENCE_NCSIM', ''), }</td>
141
+ <td class="context-item-value">{ :cver =&gt; Simulator.new('GPL Cver', '-DPRAGMATIC_CVER', ''), :ivl =&gt; Simulator.new('Icarus Verilog', '-DICARUS_VERILOG', ''), :vcs =&gt; Simulator.new('Synopsys VCS', '-DSYNOPSYS_VCS', ''), :vsim =&gt; Simulator.new('Mentor Modelsim', '-DMENTOR_MODELSIM', ''), :ncsim =&gt; Simulator.new('Cadence NC-Sim', '-DCADENCE_NCSIM', ''), }</td>
138
142
  <td width="3em">&nbsp;</td>
139
143
  <td class="context-item-desc">
140
144
  List of supported Verilog simulators.
141
145
 
142
146
  </td>
143
147
  </tr>
148
+ <tr class="top-aligned-row context-row">
149
+ <td class="context-item-name">COVERAGE_ANALYSIS</td>
150
+ <td>=</td>
151
+ <td class="context-item-value">Rcov::CodeCoverageAnalyzer.new</td>
152
+ </tr>
153
+ <tr class="top-aligned-row context-row">
154
+ <td class="context-item-name">COVERAGE_ANALYSIS_HANDLERS</td>
155
+ <td>=</td>
156
+ <td class="context-item-value">[]</td>
157
+ </tr>
144
158
  </table>
145
159
  </div>
146
160
  </div>
@@ -55,6 +55,10 @@
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
+ <a href="../files/lib/ruby-vpi/util_rb.html">
59
+ lib/ruby-vpi/util.rb
60
+ </a>
61
+ <br />
58
62
  <a href="../files/lib/ruby-vpi/float_rb.html">
59
63
  lib/ruby-vpi/float.rb
60
64
  </a>
@@ -96,9 +100,10 @@ Library for hardware-related floating point operations.
96
100
  <h3 class="section-bar">Methods</h3>
97
101
 
98
102
  <div class="name-list">
99
- <a href="#M000021">to_f</a>&nbsp;&nbsp;
100
- <a href="#M000023">to_ruby_const_name</a>&nbsp;&nbsp;
101
- <a href="#M000022">verilog_to_ruby</a>&nbsp;&nbsp;
103
+ <a href="#M000023">rstrip_from</a>&nbsp;&nbsp;
104
+ <a href="#M000024">to_f</a>&nbsp;&nbsp;
105
+ <a href="#M000022">to_ruby_const_name</a>&nbsp;&nbsp;
106
+ <a href="#M000025">verilog_to_ruby</a>&nbsp;&nbsp;
102
107
  </div>
103
108
  </div>
104
109
 
@@ -120,12 +125,26 @@ Library for hardware-related floating point operations.
120
125
  <div id="methods">
121
126
  <h3 class="section-bar">Public Instance methods</h3>
122
127
 
123
- <div id="method-M000021" class="method-detail">
124
- <a name="M000021"></a>
128
+ <div id="method-M000023" class="method-detail">
129
+ <a name="M000023"></a>
125
130
 
126
131
  <div class="method-heading">
127
- <a href="String.src/M000021.html" target="Code" class="method-signature"
128
- onclick="popupCode('String.src/M000021.html');return false;">
132
+ <a href="String.src/M000023.html" target="Code" class="method-signature"
133
+ onclick="popupCode('String.src/M000023.html');return false;">
134
+ <span class="method-name">rstrip_from</span><span class="method-args">(a)</span>
135
+ </a>
136
+ </div>
137
+
138
+ <div class="method-description">
139
+ </div>
140
+ </div>
141
+
142
+ <div id="method-M000024" class="method-detail">
143
+ <a name="M000024"></a>
144
+
145
+ <div class="method-heading">
146
+ <a href="String.src/M000024.html" target="Code" class="method-signature"
147
+ onclick="popupCode('String.src/M000024.html');return false;">
129
148
  <span class="method-name">to_f</span><span class="method-args">(aRadix = 10)</span>
130
149
  </a>
131
150
  </div>
@@ -138,12 +157,12 @@ The default radix is 10.
138
157
  </div>
139
158
  </div>
140
159
 
141
- <div id="method-M000023" class="method-detail">
142
- <a name="M000023"></a>
160
+ <div id="method-M000022" class="method-detail">
161
+ <a name="M000022"></a>
143
162
 
144
163
  <div class="method-heading">
145
- <a href="String.src/M000023.html" target="Code" class="method-signature"
146
- onclick="popupCode('String.src/M000023.html');return false;">
164
+ <a href="String.src/M000022.html" target="Code" class="method-signature"
165
+ onclick="popupCode('String.src/M000022.html');return false;">
147
166
  <span class="method-name">to_ruby_const_name</span><span class="method-args">()</span>
148
167
  </a>
149
168
  </div>
@@ -155,12 +174,12 @@ Converts this string into a valid Ruby constant name.
155
174
  </div>
156
175
  </div>
157
176
 
158
- <div id="method-M000022" class="method-detail">
159
- <a name="M000022"></a>
177
+ <div id="method-M000025" class="method-detail">
178
+ <a name="M000025"></a>
160
179
 
161
180
  <div class="method-heading">
162
- <a href="String.src/M000022.html" target="Code" class="method-signature"
163
- onclick="popupCode('String.src/M000022.html');return false;">
181
+ <a href="String.src/M000025.html" target="Code" class="method-signature"
182
+ onclick="popupCode('String.src/M000025.html');return false;">
164
183
  <span class="method-name">verilog_to_ruby</span><span class="method-args">()</span>
165
184
  </a>
166
185
  </div>
@@ -5,37 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>verilog_to_ruby (String)</title>
8
+ <title>to_ruby_const_name (String)</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/verilog_parser.rb, line 93</span>
14
- 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verilog_to_ruby</span>
15
- 94: <span class="ruby-identifier">content</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
16
- 95:
17
- 96: <span class="ruby-comment cmt"># single-line comments</span>
18
- 97: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{//(.*)$}</span>, <span class="ruby-value str">'#\1'</span>
19
- 98:
20
- 99: <span class="ruby-comment cmt"># multi-line comments</span>
21
- 100: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{/\*.*?\*/}</span><span class="ruby-identifier">m</span>, <span class="ruby-value str">&quot;\n=begin\n\\0\n=end\n&quot;</span>
22
- 101:
23
- 102: <span class="ruby-comment cmt"># preprocessor directives</span>
24
- 103: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{`include}</span>, <span class="ruby-value str">'#\0'</span>
25
- 104:
26
- 105: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{`define\s+(\w+)\s+(.+)}</span> <span class="ruby-keyword kw">do</span>
27
- 106: <span class="ruby-node">&quot;#{$1.to_ruby_const_name} = #{$2}&quot;</span>
28
- 107: <span class="ruby-keyword kw">end</span>
29
- 108:
30
- 109: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{`+}</span>, <span class="ruby-value str">''</span>
31
- 110:
32
- 111: <span class="ruby-comment cmt"># numbers</span>
33
- 112: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{\d*\'([dohb]\w+)}</span>, <span class="ruby-value str">'0\1'</span>
34
- 113:
35
- 114: <span class="ruby-comment cmt"># ranges</span>
36
- 115: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{(\S)\s*:\s*(\S)}</span>, <span class="ruby-value str">'\1..\2'</span>
37
- 116:
38
- 117: <span class="ruby-identifier">content</span>
39
- 118: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/util.rb, line 3</span>
14
+ 3: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ruby_const_name</span>
15
+ 4: <span class="ruby-keyword kw">self</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-keyword kw">self</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
16
+ 5: <span class="ruby-keyword kw">end</span></pre>
40
17
  </body>
41
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_ruby_const_name (String)</title>
8
+ <title>rstrip_from (String)</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/verilog_parser.rb, line 121</span>
14
- 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ruby_const_name</span>
15
- 122: <span class="ruby-keyword kw">self</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-keyword kw">self</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
16
- 123: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/util.rb, line 7</span>
14
+ 7: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rstrip_from</span> <span class="ruby-identifier">a</span>
15
+ 8: <span class="ruby-identifier">sub</span>(<span class="ruby-node">/#{a}[^#{a}]*$/</span>, <span class="ruby-value str">''</span>)
16
+ 9: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -0,0 +1,41 @@
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>verilog_to_ruby (String)</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/verilog_parser.rb, line 70</span>
14
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verilog_to_ruby</span>
15
+ 71: <span class="ruby-identifier">content</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
16
+ 72:
17
+ 73: <span class="ruby-comment cmt"># single-line comments</span>
18
+ 74: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{//(.*)$}</span>, <span class="ruby-value str">'#\1'</span>
19
+ 75:
20
+ 76: <span class="ruby-comment cmt"># multi-line comments</span>
21
+ 77: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{/\*.*?\*/}</span><span class="ruby-identifier">m</span>, <span class="ruby-value str">&quot;\n=begin\n\\0\n=end\n&quot;</span>
22
+ 78:
23
+ 79: <span class="ruby-comment cmt"># preprocessor directives</span>
24
+ 80: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{`include}</span>, <span class="ruby-value str">'#\0'</span>
25
+ 81:
26
+ 82: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{`define\s+(\w+)\s+(.+)}</span> <span class="ruby-keyword kw">do</span>
27
+ 83: <span class="ruby-node">&quot;#{$1.to_ruby_const_name} = #{$2}&quot;</span>
28
+ 84: <span class="ruby-keyword kw">end</span>
29
+ 85:
30
+ 86: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{`+}</span>, <span class="ruby-value str">''</span>
31
+ 87:
32
+ 88: <span class="ruby-comment cmt"># numbers</span>
33
+ 89: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{\d*\'([dohb]\w+)}</span>, <span class="ruby-value str">'0\1'</span>
34
+ 90:
35
+ 91: <span class="ruby-comment cmt"># ranges</span>
36
+ 92: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{(\S)\s*:\s*(\S)}</span>, <span class="ruby-value str">'\1..\2'</span>
37
+ 93:
38
+ 94: <span class="ruby-identifier">content</span>
39
+ 95: <span class="ruby-keyword kw">end</span></pre>
40
+ </body>
41
+ </html>
@@ -86,10 +86,9 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000004">input?</a>&nbsp;&nbsp;
90
- <a href="#M000003">new</a>&nbsp;&nbsp;
91
- <a href="#M000005">output?</a>&nbsp;&nbsp;
92
- <a href="#M000006">reg?</a>&nbsp;&nbsp;
89
+ <a href="#M000007">input?</a>&nbsp;&nbsp;
90
+ <a href="#M000006">new</a>&nbsp;&nbsp;
91
+ <a href="#M000008">output?</a>&nbsp;&nbsp;
93
92
  </div>
94
93
  </div>
95
94
 
@@ -119,11 +118,6 @@
119
118
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
120
119
  <td class="context-item-desc"></td>
121
120
  </tr>
122
- <tr class="top-aligned-row context-row">
123
- <td class="context-item-name">size</td>
124
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
125
- <td class="context-item-desc"></td>
126
- </tr>
127
121
  </table>
128
122
  </div>
129
123
  </div>
@@ -134,13 +128,13 @@
134
128
  <div id="methods">
135
129
  <h3 class="section-bar">Public Class methods</h3>
136
130
 
137
- <div id="method-M000003" class="method-detail">
138
- <a name="M000003"></a>
131
+ <div id="method-M000006" class="method-detail">
132
+ <a name="M000006"></a>
139
133
 
140
134
  <div class="method-heading">
141
- <a href="Port.src/M000003.html" target="Code" class="method-signature"
142
- onclick="popupCode('Port.src/M000003.html');return false;">
143
- <span class="method-name">new</span><span class="method-args">(aDecl)</span>
135
+ <a href="Port.src/M000006.html" target="Code" class="method-signature"
136
+ onclick="popupCode('Port.src/M000006.html');return false;">
137
+ <span class="method-name">new</span><span class="method-args">(aDecl, aModule)</span>
144
138
  </a>
145
139
  </div>
146
140
 
@@ -150,12 +144,12 @@
150
144
 
151
145
  <h3 class="section-bar">Public Instance methods</h3>
152
146
 
153
- <div id="method-M000004" class="method-detail">
154
- <a name="M000004"></a>
147
+ <div id="method-M000007" class="method-detail">
148
+ <a name="M000007"></a>
155
149
 
156
150
  <div class="method-heading">
157
- <a href="Port.src/M000004.html" target="Code" class="method-signature"
158
- onclick="popupCode('Port.src/M000004.html');return false;">
151
+ <a href="Port.src/M000007.html" target="Code" class="method-signature"
152
+ onclick="popupCode('Port.src/M000007.html');return false;">
159
153
  <span class="method-name">input?</span><span class="method-args">()</span>
160
154
  </a>
161
155
  </div>
@@ -164,12 +158,12 @@
164
158
  </div>
165
159
  </div>
166
160
 
167
- <div id="method-M000005" class="method-detail">
168
- <a name="M000005"></a>
161
+ <div id="method-M000008" class="method-detail">
162
+ <a name="M000008"></a>
169
163
 
170
164
  <div class="method-heading">
171
- <a href="Port.src/M000005.html" target="Code" class="method-signature"
172
- onclick="popupCode('Port.src/M000005.html');return false;">
165
+ <a href="Port.src/M000008.html" target="Code" class="method-signature"
166
+ onclick="popupCode('Port.src/M000008.html');return false;">
173
167
  <span class="method-name">output?</span><span class="method-args">()</span>
174
168
  </a>
175
169
  </div>
@@ -178,20 +172,6 @@
178
172
  </div>
179
173
  </div>
180
174
 
181
- <div id="method-M000006" class="method-detail">
182
- <a name="M000006"></a>
183
-
184
- <div class="method-heading">
185
- <a href="Port.src/M000006.html" target="Code" class="method-signature"
186
- onclick="popupCode('Port.src/M000006.html');return false;">
187
- <span class="method-name">reg?</span><span class="method-args">()</span>
188
- </a>
189
- </div>
190
-
191
- <div class="method-description">
192
- </div>
193
- </div>
194
-
195
175
 
196
176
  </div>
197
177
 
@@ -5,14 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>reg? (VerilogParser::Module::Port)</title>
8
+ <title>new (VerilogParser::Module::Port)</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/verilog_parser.rb, line 83</span>
14
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reg?</span>
15
- 84: <span class="ruby-ivar">@decl</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\breg\b/</span>
16
- 85: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/verilog_parser.rb, line 47</span>
14
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">aDecl</span>, <span class="ruby-identifier">aModule</span>
15
+ 48: <span class="ruby-ivar">@decl</span> = <span class="ruby-identifier">aDecl</span>
16
+ 49: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">aDecl</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/\S+/</span>).<span class="ruby-identifier">last</span>
17
+ 50:
18
+ 51: <span class="ruby-identifier">parser</span> = <span class="ruby-node">/\b(input|output|inout)\b[^;]*\b#{@name}\b/</span><span class="ruby-identifier">m</span>
19
+ 52: <span class="ruby-identifier">aDecl</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">parser</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">aModule</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">parser</span>
20
+ 53: <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">$1</span>
21
+ 54: <span class="ruby-keyword kw">end</span></pre>
17
22
  </body>
18
23
  </html>
@@ -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 lib/ruby-vpi/verilog_parser.rb, line 75</span>
14
- 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">input?</span>
15
- 76: <span class="ruby-ivar">@decl</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\binput\b/</span>
16
- 77: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/verilog_parser.rb, line 56</span>
14
+ 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">input?</span>
15
+ 57: <span class="ruby-ivar">@type</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'output'</span>
16
+ 58: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -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 lib/ruby-vpi/verilog_parser.rb, line 79</span>
14
- 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">output?</span>
15
- 80: <span class="ruby-ivar">@decl</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\boutput\b/</span>
16
- 81: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/verilog_parser.rb, line 60</span>
14
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">output?</span>
15
+ 61: <span class="ruby-ivar">@type</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'input'</span>
16
+ 62: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>