ruby-vpi 18.0.2 → 19.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. data/Rakefile +15 -19
  2. data/bin/generate/proto.rb +15 -10
  3. data/bin/ruby-vpi +2 -0
  4. data/doc/README +3 -5
  5. data/doc/Rakefile +3 -3
  6. data/doc/common.css +24 -136
  7. data/doc/common.tpl +48 -37
  8. data/doc/figures/figures.dia +19 -19
  9. data/doc/figures/ruby_relay.png +0 -0
  10. data/doc/history.html +252 -67
  11. data/doc/history.inc +98 -1
  12. data/doc/history.yaml +105 -0
  13. data/doc/intro.inc +43 -32
  14. data/doc/lib/doc_format.rb +19 -13
  15. data/doc/lib/doc_proxy.rb +7 -7
  16. data/doc/manual.doc +156 -117
  17. data/doc/manual.html +601 -560
  18. data/doc/memo.html +29 -25
  19. data/doc/print.css +63 -4
  20. data/doc/readme.doc +4 -6
  21. data/doc/readme.html +129 -111
  22. data/doc/rss.xml +168 -7
  23. data/doc/screen.css +146 -0
  24. data/doc/spacing.css +57 -0
  25. data/{samp → examples}/counter/RSpec/Rakefile +0 -0
  26. data/{samp → examples}/counter/RSpec/counter_design.rb +0 -0
  27. data/examples/counter/RSpec/counter_proto.rb +9 -0
  28. data/{samp → examples}/counter/RSpec/counter_runner.rake +0 -0
  29. data/{samp → examples}/counter/RSpec/counter_spec.rb +0 -0
  30. data/{samp → examples}/counter/Rakefile +0 -0
  31. data/{samp → examples}/counter/counter.v +0 -0
  32. data/{samp → examples}/counter/xUnit/Rakefile +0 -0
  33. data/{samp → examples}/counter/xUnit/counter_bench.rb +0 -0
  34. data/{samp → examples}/counter/xUnit/counter_bench.v +0 -0
  35. data/{samp → examples}/counter/xUnit/counter_design.rb +0 -0
  36. data/examples/counter/xUnit/counter_proto.rb +9 -0
  37. data/{samp → examples}/counter/xUnit/counter_runner.rake +0 -0
  38. data/{samp → examples}/counter/xUnit/counter_spec.rb +0 -0
  39. data/{samp → examples}/pipelined_alu/Hw5UnitModel.rb +0 -0
  40. data/{samp → examples}/pipelined_alu/README +0 -0
  41. data/{samp → examples}/pipelined_alu/Rakefile +0 -0
  42. data/{samp → examples}/pipelined_alu/TestHw5UnitModel.rb +0 -0
  43. data/{samp → examples}/pipelined_alu/hw5_unit.v +0 -0
  44. data/{samp → examples}/pipelined_alu/hw5_unit_design.rb +0 -7
  45. data/examples/pipelined_alu/hw5_unit_proto.rb +2 -0
  46. data/{samp → examples}/pipelined_alu/hw5_unit_runner.rake +0 -0
  47. data/{samp → examples}/pipelined_alu/hw5_unit_spec.rb +0 -0
  48. data/{samp → examples}/pipelined_alu/int_gen.rb +0 -0
  49. data/{samp → examples}/register_file/LICENSE +0 -0
  50. data/{samp → examples}/register_file/README +0 -0
  51. data/{samp → examples}/register_file/Rakefile +0 -0
  52. data/{samp → examples}/register_file/register_file.v +0 -0
  53. data/{samp → examples}/register_file/register_file_design.rb +0 -0
  54. data/examples/register_file/register_file_proto.rb +11 -0
  55. data/{samp → examples}/register_file/register_file_runner.rake +0 -0
  56. data/{samp → examples}/register_file/register_file_spec.rb +0 -0
  57. data/ext/main.c +5 -5
  58. data/ext/swig_vpi.i +6 -2
  59. data/lib/ruby-vpi/core/callback.rb +142 -0
  60. data/lib/ruby-vpi/core/edge.rb +128 -0
  61. data/lib/ruby-vpi/core/handle.rb +421 -0
  62. data/lib/ruby-vpi/core/scheduler.rb +244 -0
  63. data/lib/ruby-vpi/core/struct.rb +123 -0
  64. data/lib/ruby-vpi/core.rb +41 -0
  65. data/lib/ruby-vpi/rcov.rb +25 -12
  66. data/lib/ruby-vpi/runner.rb +30 -26
  67. data/lib/ruby-vpi/runner_boot_loader.rb +67 -37
  68. data/lib/ruby-vpi.rb +2 -2
  69. data/ref/c/annotated.html +1 -1
  70. data/ref/c/common_8h.html +1 -1
  71. data/ref/c/files.html +1 -1
  72. data/ref/c/functions.html +1 -1
  73. data/ref/c/functions_vars.html +1 -1
  74. data/ref/c/globals.html +1 -1
  75. data/ref/c/globals_0x63.html +1 -1
  76. data/ref/c/globals_0x65.html +1 -1
  77. data/ref/c/globals_0x66.html +1 -1
  78. data/ref/c/globals_0x6d.html +1 -1
  79. data/ref/c/globals_0x70.html +1 -1
  80. data/ref/c/globals_0x72.html +1 -1
  81. data/ref/c/globals_0x73.html +1 -1
  82. data/ref/c/globals_0x74.html +1 -1
  83. data/ref/c/globals_0x76.html +1 -1
  84. data/ref/c/globals_0x78.html +1 -1
  85. data/ref/c/globals_defs.html +1 -1
  86. data/ref/c/globals_defs_0x65.html +1 -1
  87. data/ref/c/globals_defs_0x70.html +1 -1
  88. data/ref/c/globals_defs_0x76.html +1 -1
  89. data/ref/c/globals_defs_0x78.html +1 -1
  90. data/ref/c/globals_enum.html +1 -1
  91. data/ref/c/globals_eval.html +1 -1
  92. data/ref/c/globals_func.html +1 -1
  93. data/ref/c/globals_type.html +1 -1
  94. data/ref/c/globals_vars.html +1 -1
  95. data/ref/c/index.html +1 -1
  96. data/ref/c/main_8c.html +1 -1
  97. data/ref/c/main_8h.html +1 -1
  98. data/ref/c/relay_8c.html +1 -1
  99. data/ref/c/relay_8h.html +1 -1
  100. data/ref/c/structt__cb__data.html +1 -1
  101. data/ref/c/structt__vpi__delay.html +1 -1
  102. data/ref/c/structt__vpi__error__info.html +1 -1
  103. data/ref/c/structt__vpi__strengthval.html +1 -1
  104. data/ref/c/structt__vpi__systf__data.html +1 -1
  105. data/ref/c/structt__vpi__time.html +1 -1
  106. data/ref/c/structt__vpi__value.html +1 -1
  107. data/ref/c/structt__vpi__vecval.html +1 -1
  108. data/ref/c/structt__vpi__vlog__info.html +1 -1
  109. data/ref/c/verilog_8h.html +1 -1
  110. data/ref/c/vlog_8c.html +1 -1
  111. data/ref/c/vlog_8h.html +1 -1
  112. data/ref/c/vpi__user_8h.html +1 -1
  113. data/ref/ruby/classes/ERB.html +7 -5
  114. data/ref/ruby/classes/ERB.src/{M000026.html → M000024.html} +0 -0
  115. data/ref/ruby/classes/FileUtils.html +11 -11
  116. data/ref/ruby/classes/FileUtils.src/{M000027.html → M000025.html} +0 -0
  117. data/ref/ruby/classes/FileUtils.src/{M000028.html → M000026.html} +0 -0
  118. data/ref/ruby/classes/Float.html +8 -6
  119. data/ref/ruby/classes/Float.src/{M000021.html → M000019.html} +0 -0
  120. data/ref/ruby/classes/Integer.html +67 -65
  121. data/ref/ruby/classes/Integer.src/M000007.html +25 -0
  122. data/ref/ruby/classes/Integer.src/{M000014.html → M000008.html} +5 -5
  123. data/ref/ruby/classes/Integer.src/M000009.html +5 -12
  124. data/ref/ruby/classes/Integer.src/M000010.html +5 -5
  125. data/ref/ruby/classes/Integer.src/M000011.html +5 -5
  126. data/ref/ruby/classes/Integer.src/M000012.html +5 -5
  127. data/ref/ruby/classes/Integer.src/M000015.html +25 -0
  128. data/ref/ruby/classes/Integer.src/M000016.html +31 -0
  129. data/ref/ruby/classes/Integer.src/M000017.html +12 -12
  130. data/ref/ruby/classes/Integer.src/M000018.html +17 -18
  131. data/ref/ruby/classes/Object.html +126 -0
  132. data/ref/ruby/classes/RDoc.html +5 -5
  133. data/ref/ruby/classes/RDoc.src/{M000061.html → M000081.html} +0 -0
  134. data/ref/ruby/classes/RubyVPI.html +50 -9
  135. data/ref/ruby/classes/String.html +22 -20
  136. data/ref/ruby/classes/String.src/M000020.html +36 -0
  137. data/ref/ruby/classes/String.src/M000021.html +41 -0
  138. data/ref/ruby/classes/String.src/M000022.html +5 -23
  139. data/ref/ruby/classes/String.src/M000023.html +5 -28
  140. data/ref/ruby/classes/{Vpi → VPI}/Handle.html +442 -140
  141. data/ref/ruby/classes/{Vpi/Handle.src/M000042.html → VPI/Handle.src/M000037.html} +4 -4
  142. data/ref/ruby/classes/VPI/Handle.src/M000038.html +21 -0
  143. data/ref/ruby/classes/VPI/Handle.src/M000039.html +18 -0
  144. data/ref/ruby/classes/{Vpi/Handle.src/M000036.html → VPI/Handle.src/M000040.html} +5 -5
  145. data/ref/ruby/classes/VPI/Handle.src/M000045.html +18 -0
  146. data/ref/ruby/classes/{Vpi/Handle.src/M000038.html → VPI/Handle.src/M000046.html} +5 -5
  147. data/ref/ruby/classes/VPI/Handle.src/M000057.html +18 -0
  148. data/ref/ruby/classes/{Vpi/Handle.src/M000040.html → VPI/Handle.src/M000058.html} +5 -5
  149. data/ref/ruby/classes/VPI/Handle.src/M000061.html +18 -0
  150. data/ref/ruby/classes/VPI/Handle.src/M000062.html +18 -0
  151. data/ref/ruby/classes/{Vpi/Handle.src/M000054.html → VPI/Handle.src/M000065.html} +11 -11
  152. data/ref/ruby/classes/VPI/Handle.src/M000067.html +21 -0
  153. data/ref/ruby/classes/VPI/Handle.src/M000068.html +28 -0
  154. data/ref/ruby/classes/VPI/Handle.src/M000069.html +50 -0
  155. data/ref/ruby/classes/{Vpi/Handle.src/M000048.html → VPI/Handle.src/M000070.html} +6 -6
  156. data/ref/ruby/classes/{Vpi/Handle.src/M000049.html → VPI/Handle.src/M000071.html} +6 -6
  157. data/ref/ruby/classes/{Vpi/Handle.src/M000050.html → VPI/Handle.src/M000072.html} +5 -5
  158. data/ref/ruby/classes/{Vpi/Handle.src/M000051.html → VPI/Handle.src/M000073.html} +17 -17
  159. data/ref/ruby/classes/VPI/Handle.src/M000075.html +18 -0
  160. data/ref/ruby/classes/VPI/Handle.src/M000076.html +40 -0
  161. data/ref/ruby/classes/{Vpi/Handle.src/M000056.html → VPI/Handle.src/M000077.html} +18 -18
  162. data/ref/ruby/classes/{Vpi → VPI}/S_vpi_time.html +22 -20
  163. data/ref/ruby/classes/VPI/S_vpi_time.src/M000078.html +18 -0
  164. data/ref/ruby/classes/VPI/S_vpi_time.src/M000079.html +19 -0
  165. data/ref/ruby/classes/{Vpi → VPI}/S_vpi_value.html +37 -23
  166. data/ref/ruby/classes/VPI/S_vpi_value.src/M000034.html +35 -0
  167. data/ref/ruby/classes/VPI/S_vpi_value.src/M000035.html +42 -0
  168. data/ref/ruby/classes/VPI/S_vpi_value.src/M000036.html +42 -0
  169. data/ref/ruby/classes/{Vpi.html → VPI.html} +129 -34
  170. data/ref/ruby/classes/VPI.src/M000027.html +19 -0
  171. data/ref/ruby/classes/VPI.src/M000028.html +18 -0
  172. data/ref/ruby/classes/VPI.src/M000029.html +19 -0
  173. data/ref/ruby/classes/VPI.src/M000031.html +25 -0
  174. data/ref/ruby/classes/VPI.src/M000032.html +26 -0
  175. data/ref/ruby/classes/VerilogParser/Module/Port.html +17 -15
  176. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000004.html +23 -0
  177. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000007.html → M000005.html} +0 -0
  178. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +5 -10
  179. data/ref/ruby/classes/VerilogParser/Module.html +7 -5
  180. data/ref/ruby/classes/VerilogParser/Module.src/{M000005.html → M000003.html} +0 -0
  181. data/ref/ruby/classes/VerilogParser.html +7 -5
  182. data/ref/ruby/classes/VerilogParser.src/{M000004.html → M000002.html} +0 -0
  183. data/ref/ruby/created.rid +1 -1
  184. data/ref/ruby/files/bin/generate_rb.html +2 -2
  185. data/ref/ruby/files/lib/ruby-vpi/{vpi_rb.html → core/callback_rb.html} +7 -8
  186. data/ref/ruby/files/lib/ruby-vpi/core/edge_rb.html +114 -0
  187. data/ref/ruby/files/lib/ruby-vpi/core/handle_rb.html +107 -0
  188. data/ref/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +114 -0
  189. data/ref/ruby/files/lib/ruby-vpi/core/struct_rb.html +108 -0
  190. data/ref/ruby/files/lib/ruby-vpi/core_rb.html +121 -0
  191. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  192. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +5 -41
  193. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +3 -3
  194. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  195. data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
  196. data/ref/ruby/fr_class_index.html +5 -4
  197. data/ref/ruby/fr_file_index.html +6 -1
  198. data/ref/ruby/fr_method_index.html +80 -60
  199. metadata +126 -103
  200. data/ext/swig_vpi.h +0 -924
  201. data/ext/swig_wrap.cin +0 -7083
  202. data/lib/ruby-vpi/vpi.rb +0 -651
  203. data/ref/ruby/classes/Integer.src/M000013.html +0 -18
  204. data/ref/ruby/classes/Integer.src/M000019.html +0 -25
  205. data/ref/ruby/classes/Integer.src/M000020.html +0 -30
  206. data/ref/ruby/classes/String.src/M000024.html +0 -18
  207. data/ref/ruby/classes/String.src/M000025.html +0 -18
  208. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000008.html +0 -18
  209. data/ref/ruby/classes/Vpi/Handle.src/M000035.html +0 -18
  210. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +0 -18
  211. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +0 -18
  212. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +0 -18
  213. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +0 -21
  214. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +0 -21
  215. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +0 -22
  216. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +0 -50
  217. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +0 -91
  218. data/ref/ruby/classes/Vpi/Handle.src/M000053.html +0 -18
  219. data/ref/ruby/classes/Vpi/Handle.src/M000057.html +0 -40
  220. data/ref/ruby/classes/Vpi/S_vpi_time.src/M000058.html +0 -18
  221. data/ref/ruby/classes/Vpi/S_vpi_time.src/M000059.html +0 -19
  222. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000032.html +0 -18
  223. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +0 -18
  224. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +0 -18
  225. data/ref/ruby/classes/Vpi.src/M000029.html +0 -28
  226. data/ref/ruby/classes/Vpi.src/M000030.html +0 -39
  227. data/ref/ruby/classes/Vpi.src/M000031.html +0 -20
  228. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +0 -18
  229. data/samp/counter/RSpec/counter_proto.rb +0 -10
  230. data/samp/counter/xUnit/counter_proto.rb +0 -10
  231. data/samp/pipelined_alu/hw5_unit_proto.rb +0 -4
  232. data/samp/register_file/register_file_proto.rb +0 -11
@@ -5,27 +5,27 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>cbValueChange (Vpi::Handle)</title>
8
+ <title>cbValueChange (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 311</span>
14
- 311: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cbValueChange</span> <span class="ruby-identifier">aOptions</span> = {}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">aHandler</span>
15
- 312: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block_given?</span>
16
- 313:
17
- 314: <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:time</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">S_vpi_time</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">VpiSuppressTime</span>)
18
- 315: <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:value</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:format</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">VpiSuppressVal</span>)
19
- 316:
20
- 317: <span class="ruby-identifier">alarm</span> = <span class="ruby-constant">S_cb_data</span>.<span class="ruby-identifier">new</span>(
21
- 318: <span class="ruby-identifier">:reason</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">CbValueChange</span>,
22
- 319: <span class="ruby-identifier">:obj</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>,
23
- 320: <span class="ruby-identifier">:time</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:time</span>],
24
- 321: <span class="ruby-identifier">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:value</span>],
25
- 322: <span class="ruby-identifier">:index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
26
- 323: )
27
- 324:
28
- 325: <span class="ruby-identifier">vpi_register_cb</span> <span class="ruby-identifier">alarm</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">aHandler</span>
29
- 326: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/core/callback.rb, line 99</span>
14
+ 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cbValueChange</span> <span class="ruby-identifier">aOptions</span> = {}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">aHandler</span>
15
+ 100: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block_given?</span>
16
+ 101:
17
+ 102: <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:time</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">S_vpi_time</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">VpiSuppressTime</span>)
18
+ 103: <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:value</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:format</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">VpiSuppressVal</span>)
19
+ 104:
20
+ 105: <span class="ruby-identifier">alarm</span> = <span class="ruby-constant">S_cb_data</span>.<span class="ruby-identifier">new</span>(
21
+ 106: <span class="ruby-identifier">:reason</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">CbValueChange</span>,
22
+ 107: <span class="ruby-identifier">:obj</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>,
23
+ 108: <span class="ruby-identifier">:time</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:time</span>],
24
+ 109: <span class="ruby-identifier">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aOptions</span>[<span class="ruby-identifier">:value</span>],
25
+ 110: <span class="ruby-identifier">:index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
26
+ 111: )
27
+ 112:
28
+ 113: <span class="ruby-identifier">vpi_register_cb</span> <span class="ruby-identifier">alarm</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">aHandler</span>
29
+ 114: <span class="ruby-keyword kw">end</span></pre>
30
30
  </body>
31
31
  </html>
@@ -5,7 +5,7 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Class: Vpi::S_vpi_time</title>
8
+ <title>Class: VPI::S_vpi_time</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
11
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
@@ -50,13 +50,13 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Vpi::S_vpi_time</td>
53
+ <td class="class-name-in-header">VPI::S_vpi_time</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/vpi_rb.html">
59
- lib/ruby-vpi/vpi.rb
58
+ <a href="../../files/lib/ruby-vpi/core/struct_rb.html">
59
+ lib/ruby-vpi/core/struct.rb
60
60
  </a>
61
61
  <br />
62
62
  </td>
@@ -65,7 +65,9 @@
65
65
  <tr class="top-aligned-row">
66
66
  <td><strong>Parent:</strong></td>
67
67
  <td>
68
+ <a href="../Object.html">
68
69
  Object
70
+ </a>
69
71
  </td>
70
72
  </tr>
71
73
  </table>
@@ -86,9 +88,9 @@
86
88
  <h3 class="section-bar">Methods</h3>
87
89
 
88
90
  <div class="name-list">
89
- <a href="#M000058">integer</a>&nbsp;&nbsp;
90
- <a href="#M000059">integer=</a>&nbsp;&nbsp;
91
- <a href="#M000060">to_i</a>&nbsp;&nbsp;
91
+ <a href="#M000078">integer</a>&nbsp;&nbsp;
92
+ <a href="#M000079">integer=</a>&nbsp;&nbsp;
93
+ <a href="#M000080">to_i</a>&nbsp;&nbsp;
92
94
  </div>
93
95
  </div>
94
96
 
@@ -123,12 +125,12 @@
123
125
  <div id="methods">
124
126
  <h3 class="section-bar">Public Instance methods</h3>
125
127
 
126
- <div id="method-M000058" class="method-detail">
127
- <a name="M000058"></a>
128
+ <div id="method-M000078" class="method-detail">
129
+ <a name="M000078"></a>
128
130
 
129
131
  <div class="method-heading">
130
- <a href="S_vpi_time.src/M000058.html" target="Code" class="method-signature"
131
- onclick="popupCode('S_vpi_time.src/M000058.html');return false;">
132
+ <a href="S_vpi_time.src/M000078.html" target="Code" class="method-signature"
133
+ onclick="popupCode('S_vpi_time.src/M000078.html');return false;">
132
134
  <span class="method-name">integer</span><span class="method-args">()</span>
133
135
  </a>
134
136
  </div>
@@ -136,17 +138,17 @@
136
138
  <div class="method-description">
137
139
  <p>
138
140
  Returns the high and low portions of this time as a single 64-bit <a
139
- href="S_vpi_time.html#M000058">integer</a>.
141
+ href="S_vpi_time.html#M000078">integer</a>.
140
142
  </p>
141
143
  </div>
142
144
  </div>
143
145
 
144
- <div id="method-M000059" class="method-detail">
145
- <a name="M000059"></a>
146
+ <div id="method-M000079" class="method-detail">
147
+ <a name="M000079"></a>
146
148
 
147
149
  <div class="method-heading">
148
- <a href="S_vpi_time.src/M000059.html" target="Code" class="method-signature"
149
- onclick="popupCode('S_vpi_time.src/M000059.html');return false;">
150
+ <a href="S_vpi_time.src/M000079.html" target="Code" class="method-signature"
151
+ onclick="popupCode('S_vpi_time.src/M000079.html');return false;">
150
152
  <span class="method-name">integer=</span><span class="method-args">(aValue)</span>
151
153
  </a>
152
154
  </div>
@@ -154,13 +156,13 @@ href="S_vpi_time.html#M000058">integer</a>.
154
156
  <div class="method-description">
155
157
  <p>
156
158
  Sets the high and low portions of this time from the given 64-bit <a
157
- href="S_vpi_time.html#M000058">integer</a>.
159
+ href="S_vpi_time.html#M000078">integer</a>.
158
160
  </p>
159
161
  </div>
160
162
  </div>
161
163
 
162
- <div id="method-M000060" class="method-detail">
163
- <a name="M000060"></a>
164
+ <div id="method-M000080" class="method-detail">
165
+ <a name="M000080"></a>
164
166
 
165
167
  <div class="method-heading">
166
168
  <span class="method-name">to_i</span><span class="method-args">()</span>
@@ -168,7 +170,7 @@ href="S_vpi_time.html#M000058">integer</a>.
168
170
 
169
171
  <div class="method-description">
170
172
  <p>
171
- Alias for <a href="S_vpi_time.html#M000058">integer</a>
173
+ Alias for <a href="S_vpi_time.html#M000078">integer</a>
172
174
  </p>
173
175
  </div>
174
176
  </div>
@@ -0,0 +1,18 @@
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>integer (VPI::S_vpi_time)</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/core/struct.rb, line 10</span>
14
+ 10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">integer</span>
15
+ 11: (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">high</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">INTEGER_BITS</span>) <span class="ruby-operator">|</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">low</span>
16
+ 12: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,19 @@
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>integer= (VPI::S_vpi_time)</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/core/struct.rb, line 16</span>
14
+ 16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">integer=</span> <span class="ruby-identifier">aValue</span>
15
+ 17: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">low</span> = <span class="ruby-identifier">aValue</span> <span class="ruby-operator">&amp;</span> <span class="ruby-constant">INTEGER_MASK</span>
16
+ 18: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">high</span> = (<span class="ruby-identifier">aValue</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-constant">INTEGER_BITS</span>) <span class="ruby-operator">&amp;</span> <span class="ruby-constant">INTEGER_MASK</span>
17
+ 19: <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -5,7 +5,7 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Class: Vpi::S_vpi_value</title>
8
+ <title>Class: VPI::S_vpi_value</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
11
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
@@ -50,13 +50,13 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Vpi::S_vpi_value</td>
53
+ <td class="class-name-in-header">VPI::S_vpi_value</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/vpi_rb.html">
59
- lib/ruby-vpi/vpi.rb
58
+ <a href="../../files/lib/ruby-vpi/core/struct_rb.html">
59
+ lib/ruby-vpi/core/struct.rb
60
60
  </a>
61
61
  <br />
62
62
  </td>
@@ -65,7 +65,9 @@
65
65
  <tr class="top-aligned-row">
66
66
  <td><strong>Parent:</strong></td>
67
67
  <td>
68
+ <a href="../Object.html">
68
69
  Object
70
+ </a>
69
71
  </td>
70
72
  </tr>
71
73
  </table>
@@ -86,9 +88,9 @@
86
88
  <h3 class="section-bar">Methods</h3>
87
89
 
88
90
  <div class="name-list">
89
- <a href="#M000033">to_f</a>&nbsp;&nbsp;
90
- <a href="#M000032">to_i</a>&nbsp;&nbsp;
91
- <a href="#M000034">to_s</a>&nbsp;&nbsp;
91
+ <a href="#M000034">detect_format</a>&nbsp;&nbsp;
92
+ <a href="#M000036">read</a>&nbsp;&nbsp;
93
+ <a href="#M000035">write</a>&nbsp;&nbsp;
92
94
  </div>
93
95
  </div>
94
96
 
@@ -108,47 +110,59 @@
108
110
 
109
111
  <!-- if method_list -->
110
112
  <div id="methods">
111
- <h3 class="section-bar">Public Instance methods</h3>
113
+ <h3 class="section-bar">Public Class methods</h3>
112
114
 
113
- <div id="method-M000033" class="method-detail">
114
- <a name="M000033"></a>
115
+ <div id="method-M000034" class="method-detail">
116
+ <a name="M000034"></a>
115
117
 
116
118
  <div class="method-heading">
117
- <a href="S_vpi_value.src/M000033.html" target="Code" class="method-signature"
118
- onclick="popupCode('S_vpi_value.src/M000033.html');return false;">
119
- <span class="method-name">to_f</span><span class="method-args">()</span>
119
+ <a href="S_vpi_value.src/M000034.html" target="Code" class="method-signature"
120
+ onclick="popupCode('S_vpi_value.src/M000034.html');return false;">
121
+ <span class="method-name">detect_format</span><span class="method-args">(aValue)</span>
120
122
  </a>
121
123
  </div>
122
124
 
123
125
  <div class="method-description">
126
+ <p>
127
+ Attempts to detect the format of the given value. Returns <tt>nil</tt> if
128
+ detection is not possible.
129
+ </p>
124
130
  </div>
125
131
  </div>
126
132
 
127
- <div id="method-M000032" class="method-detail">
128
- <a name="M000032"></a>
133
+ <h3 class="section-bar">Public Instance methods</h3>
134
+
135
+ <div id="method-M000036" class="method-detail">
136
+ <a name="M000036"></a>
129
137
 
130
138
  <div class="method-heading">
131
- <a href="S_vpi_value.src/M000032.html" target="Code" class="method-signature"
132
- onclick="popupCode('S_vpi_value.src/M000032.html');return false;">
133
- <span class="method-name">to_i</span><span class="method-args">()</span>
139
+ <a href="S_vpi_value.src/M000036.html" target="Code" class="method-signature"
140
+ onclick="popupCode('S_vpi_value.src/M000036.html');return false;">
141
+ <span class="method-name">read</span><span class="method-args">(aFormat = self.format)</span>
134
142
  </a>
135
143
  </div>
136
144
 
137
145
  <div class="method-description">
146
+ <p>
147
+ Returns the value in the given format.
148
+ </p>
138
149
  </div>
139
150
  </div>
140
151
 
141
- <div id="method-M000034" class="method-detail">
142
- <a name="M000034"></a>
152
+ <div id="method-M000035" class="method-detail">
153
+ <a name="M000035"></a>
143
154
 
144
155
  <div class="method-heading">
145
- <a href="S_vpi_value.src/M000034.html" target="Code" class="method-signature"
146
- onclick="popupCode('S_vpi_value.src/M000034.html');return false;">
147
- <span class="method-name">to_s</span><span class="method-args">()</span>
156
+ <a href="S_vpi_value.src/M000035.html" target="Code" class="method-signature"
157
+ onclick="popupCode('S_vpi_value.src/M000035.html');return false;">
158
+ <span class="method-name">write</span><span class="method-args">(aValue, aFormat)</span>
148
159
  </a>
149
160
  </div>
150
161
 
151
162
  <div class="method-description">
163
+ <p>
164
+ Writes the given value, which has the given format.
165
+ </p>
152
166
  </div>
153
167
  </div>
154
168
 
@@ -0,0 +1,35 @@
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>detect_format (VPI::S_vpi_value)</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/core/struct.rb, line 28</span>
14
+ 28: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">S_vpi_value</span>.<span class="ruby-identifier">detect_format</span> <span class="ruby-identifier">aValue</span>
15
+ 29: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_int</span>
16
+ 30: <span class="ruby-constant">VpiIntVal</span>
17
+ 31:
18
+ 32: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_float</span>
19
+ 33: <span class="ruby-constant">VpiRealVal</span>
20
+ 34:
21
+ 35: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_str</span>
22
+ 36: <span class="ruby-constant">VpiStringVal</span>
23
+ 37:
24
+ 38: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">S_vpi_time</span>
25
+ 39: <span class="ruby-constant">VpiTimeVal</span>
26
+ 40:
27
+ 41: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">S_vpi_vecval</span>
28
+ 42: <span class="ruby-constant">VpiVectorVal</span>
29
+ 43:
30
+ 44: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">S_vpi_strengthval</span>
31
+ 45: <span class="ruby-constant">VpiStrengthVal</span>
32
+ 46: <span class="ruby-keyword kw">end</span>
33
+ 47: <span class="ruby-keyword kw">end</span></pre>
34
+ </body>
35
+ </html>
@@ -0,0 +1,42 @@
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>write (VPI::S_vpi_value)</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/core/struct.rb, line 50</span>
14
+ 50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">aValue</span>, <span class="ruby-identifier">aFormat</span>
15
+ 51: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aFormat</span>
16
+ 52: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiBinStrVal</span>, <span class="ruby-constant">VpiOctStrVal</span>, <span class="ruby-constant">VpiDecStrVal</span>, <span class="ruby-constant">VpiHexStrVal</span>, <span class="ruby-constant">VpiStringVal</span>
17
+ 53: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_s</span>
18
+ 54:
19
+ 55: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
20
+ 56: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_i</span>
21
+ 57:
22
+ 58: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
23
+ 59: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">integer</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_i</span>
24
+ 60:
25
+ 61: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
26
+ 62: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span> = <span class="ruby-identifier">aValue</span>.<span class="ruby-identifier">to_f</span>
27
+ 63:
28
+ 64: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
29
+ 65: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span> = <span class="ruby-identifier">aValue</span>
30
+ 66:
31
+ 67: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
32
+ 68: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span> = <span class="ruby-identifier">aValue</span>
33
+ 69:
34
+ 70: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
35
+ 71: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span> = <span class="ruby-identifier">aValue</span>
36
+ 72:
37
+ 73: <span class="ruby-keyword kw">else</span>
38
+ 74: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;unknown format: #{aFormat.inspect}&quot;</span>
39
+ 75: <span class="ruby-keyword kw">end</span>
40
+ 76: <span class="ruby-keyword kw">end</span></pre>
41
+ </body>
42
+ </html>
@@ -0,0 +1,42 @@
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>read (VPI::S_vpi_value)</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/core/struct.rb, line 79</span>
14
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span> <span class="ruby-identifier">aFormat</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">format</span>
15
+ 80: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">aFormat</span>
16
+ 81: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiBinStrVal</span>, <span class="ruby-constant">VpiOctStrVal</span>, <span class="ruby-constant">VpiDecStrVal</span>, <span class="ruby-constant">VpiHexStrVal</span>, <span class="ruby-constant">VpiStringVal</span>
17
+ 82: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">str</span>.<span class="ruby-identifier">to_s</span>
18
+ 83:
19
+ 84: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiScalarVal</span>
20
+ 85: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">scalar</span>.<span class="ruby-identifier">to_i</span>
21
+ 86:
22
+ 87: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiIntVal</span>
23
+ 88: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">integer</span>.<span class="ruby-identifier">to_i</span>
24
+ 89:
25
+ 90: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiRealVal</span>
26
+ 91: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">real</span>.<span class="ruby-identifier">to_f</span>
27
+ 92:
28
+ 93: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiTimeVal</span>
29
+ 94: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">time</span>
30
+ 95:
31
+ 96: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiVectorVal</span>
32
+ 97: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">vector</span>
33
+ 98:
34
+ 99: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">VpiStrengthVal</span>
35
+ 100: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strength</span>
36
+ 101:
37
+ 102: <span class="ruby-keyword kw">else</span>
38
+ 103: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;unknown format: #{aFormat.inspect}&quot;</span>
39
+ 104: <span class="ruby-keyword kw">end</span>
40
+ 105: <span class="ruby-keyword kw">end</span></pre>
41
+ </body>
42
+ </html>