ruby-vpi 17.0.0 → 18.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 (126) hide show
  1. data/LICENSE +8 -6
  2. data/Rakefile +4 -4
  3. data/doc/common.css +6 -9
  4. data/doc/common.inc +3 -3
  5. data/doc/common.tpl +14 -6
  6. data/doc/history.html +152 -44
  7. data/doc/history.inc +55 -3
  8. data/doc/history.yaml +62 -2
  9. data/doc/intro.inc +20 -16
  10. data/doc/manual.doc +23 -9
  11. data/doc/manual.html +232 -200
  12. data/doc/memo.doc +7 -6
  13. data/doc/memo.html +28 -17
  14. data/doc/readme.doc +1 -1
  15. data/doc/readme.html +51 -35
  16. data/doc/rss.xml +96 -70
  17. data/ext/Rakefile +24 -11
  18. data/ext/swig_vpi.h +1 -1
  19. data/ext/swig_wrap.cin +17 -42
  20. data/lib/ruby-vpi/pli.tab +1 -0
  21. data/lib/ruby-vpi/runner.rb +34 -10
  22. data/lib/ruby-vpi/vpi.rb +483 -438
  23. data/ref/c/annotated.html +1 -1
  24. data/ref/c/common_8h.html +1 -1
  25. data/ref/c/files.html +1 -1
  26. data/ref/c/functions.html +1 -1
  27. data/ref/c/functions_vars.html +1 -1
  28. data/ref/c/globals.html +1 -1
  29. data/ref/c/globals_0x63.html +1 -1
  30. data/ref/c/globals_0x65.html +1 -1
  31. data/ref/c/globals_0x66.html +1 -1
  32. data/ref/c/globals_0x6d.html +1 -1
  33. data/ref/c/globals_0x70.html +1 -1
  34. data/ref/c/globals_0x72.html +1 -1
  35. data/ref/c/globals_0x73.html +1 -1
  36. data/ref/c/globals_0x74.html +1 -1
  37. data/ref/c/globals_0x76.html +1 -1
  38. data/ref/c/globals_0x78.html +1 -1
  39. data/ref/c/globals_defs.html +1 -1
  40. data/ref/c/globals_defs_0x65.html +1 -1
  41. data/ref/c/globals_defs_0x70.html +1 -1
  42. data/ref/c/globals_defs_0x76.html +1 -1
  43. data/ref/c/globals_defs_0x78.html +1 -1
  44. data/ref/c/globals_enum.html +1 -1
  45. data/ref/c/globals_eval.html +1 -1
  46. data/ref/c/globals_func.html +1 -1
  47. data/ref/c/globals_type.html +1 -1
  48. data/ref/c/globals_vars.html +1 -1
  49. data/ref/c/index.html +1 -1
  50. data/ref/c/main_8c.html +1 -1
  51. data/ref/c/main_8h.html +1 -1
  52. data/ref/c/relay_8c.html +1 -1
  53. data/ref/c/relay_8h.html +1 -1
  54. data/ref/c/structt__cb__data.html +1 -1
  55. data/ref/c/structt__vpi__delay.html +1 -1
  56. data/ref/c/structt__vpi__error__info.html +1 -1
  57. data/ref/c/structt__vpi__strengthval.html +1 -1
  58. data/ref/c/structt__vpi__systf__data.html +1 -1
  59. data/ref/c/structt__vpi__time.html +1 -1
  60. data/ref/c/structt__vpi__value.html +1 -1
  61. data/ref/c/structt__vpi__vecval.html +1 -1
  62. data/ref/c/structt__vpi__vlog__info.html +1 -1
  63. data/ref/c/verilog_8h.html +1 -1
  64. data/ref/c/vlog_8c.html +1 -1
  65. data/ref/c/vlog_8h.html +1 -1
  66. data/ref/c/vpi__user_8h.html +1 -1
  67. data/ref/ruby/classes/RDoc.html +5 -5
  68. data/ref/ruby/classes/RDoc.src/{M000058.html → M000061.html} +0 -0
  69. data/ref/ruby/classes/String.html +24 -24
  70. data/ref/ruby/classes/String.src/M000022.html +23 -5
  71. data/ref/ruby/classes/String.src/M000023.html +28 -5
  72. data/ref/ruby/classes/String.src/M000024.html +5 -23
  73. data/ref/ruby/classes/String.src/M000025.html +5 -28
  74. data/ref/ruby/classes/Vpi/Handle.html +94 -49
  75. data/ref/ruby/classes/Vpi/Handle.src/M000035.html +4 -4
  76. data/ref/ruby/classes/Vpi/Handle.src/M000036.html +4 -4
  77. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +4 -4
  78. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +4 -4
  79. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +4 -4
  80. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +4 -4
  81. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +4 -4
  82. data/ref/ruby/classes/Vpi/Handle.src/M000042.html +4 -4
  83. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +7 -7
  84. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +7 -7
  85. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +8 -8
  86. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +36 -30
  87. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +72 -67
  88. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +6 -17
  89. data/ref/ruby/classes/Vpi/Handle.src/M000049.html +19 -0
  90. data/ref/ruby/classes/Vpi/Handle.src/M000050.html +5 -5
  91. data/ref/ruby/classes/Vpi/Handle.src/M000051.html +16 -10
  92. data/ref/ruby/classes/Vpi/Handle.src/M000053.html +5 -18
  93. data/ref/ruby/classes/Vpi/Handle.src/M000054.html +11 -76
  94. data/ref/ruby/classes/Vpi/Handle.src/M000056.html +31 -0
  95. data/ref/ruby/classes/Vpi/Handle.src/M000057.html +40 -0
  96. data/ref/ruby/classes/Vpi/S_vpi_time.html +16 -16
  97. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000055.html → M000058.html} +4 -4
  98. data/ref/ruby/classes/Vpi/S_vpi_time.src/M000059.html +19 -0
  99. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000032.html +4 -4
  100. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +4 -4
  101. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +4 -4
  102. data/ref/ruby/classes/Vpi.html +0 -7
  103. data/ref/ruby/classes/Vpi.src/M000029.html +14 -14
  104. data/ref/ruby/classes/Vpi.src/M000030.html +25 -24
  105. data/ref/ruby/classes/Vpi.src/M000031.html +6 -6
  106. data/ref/ruby/created.rid +1 -1
  107. data/ref/ruby/files/bin/convert_rb.html +1 -1
  108. data/ref/ruby/files/bin/generate_rb.html +1 -1
  109. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  110. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  111. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  112. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  113. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  114. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  115. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +1 -1
  116. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  117. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  118. data/ref/ruby/files/lib/ruby-vpi/util_rb.html +1 -1
  119. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
  120. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +8 -1
  121. data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
  122. data/ref/ruby/fr_method_index.html +19 -16
  123. data/samp/register_file/register_file.v +1 -1
  124. data/samp/register_file/register_file_spec.rb +9 -5
  125. metadata +42 -38
  126. data/ref/ruby/classes/Vpi/S_vpi_time.src/M000056.html +0 -19
@@ -55,10 +55,6 @@
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 />
62
58
  <a href="../files/lib/ruby-vpi/float_rb.html">
63
59
  lib/ruby-vpi/float.rb
64
60
  </a>
@@ -66,6 +62,10 @@
66
62
  <a href="../files/lib/ruby-vpi/verilog_parser_rb.html">
67
63
  lib/ruby-vpi/verilog_parser.rb
68
64
  </a>
65
+ <br />
66
+ <a href="../files/lib/ruby-vpi/util_rb.html">
67
+ lib/ruby-vpi/util.rb
68
+ </a>
69
69
  <br />
70
70
  </td>
71
71
  </tr>
@@ -100,10 +100,10 @@ Library for hardware-related floating point operations.
100
100
  <h3 class="section-bar">Methods</h3>
101
101
 
102
102
  <div class="name-list">
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;
103
+ <a href="#M000025">rstrip_from</a>&nbsp;&nbsp;
104
+ <a href="#M000022">to_f</a>&nbsp;&nbsp;
105
+ <a href="#M000024">to_ruby_const_name</a>&nbsp;&nbsp;
106
+ <a href="#M000023">verilog_to_ruby</a>&nbsp;&nbsp;
107
107
  </div>
108
108
  </div>
109
109
 
@@ -125,12 +125,12 @@ Library for hardware-related floating point operations.
125
125
  <div id="methods">
126
126
  <h3 class="section-bar">Public Instance methods</h3>
127
127
 
128
- <div id="method-M000023" class="method-detail">
129
- <a name="M000023"></a>
128
+ <div id="method-M000025" class="method-detail">
129
+ <a name="M000025"></a>
130
130
 
131
131
  <div class="method-heading">
132
- <a href="String.src/M000023.html" target="Code" class="method-signature"
133
- onclick="popupCode('String.src/M000023.html');return false;">
132
+ <a href="String.src/M000025.html" target="Code" class="method-signature"
133
+ onclick="popupCode('String.src/M000025.html');return false;">
134
134
  <span class="method-name">rstrip_from</span><span class="method-args">(a)</span>
135
135
  </a>
136
136
  </div>
@@ -139,12 +139,12 @@ Library for hardware-related floating point operations.
139
139
  </div>
140
140
  </div>
141
141
 
142
- <div id="method-M000024" class="method-detail">
143
- <a name="M000024"></a>
142
+ <div id="method-M000022" class="method-detail">
143
+ <a name="M000022"></a>
144
144
 
145
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;">
146
+ <a href="String.src/M000022.html" target="Code" class="method-signature"
147
+ onclick="popupCode('String.src/M000022.html');return false;">
148
148
  <span class="method-name">to_f</span><span class="method-args">(aRadix = 10)</span>
149
149
  </a>
150
150
  </div>
@@ -157,12 +157,12 @@ The default radix is 10.
157
157
  </div>
158
158
  </div>
159
159
 
160
- <div id="method-M000022" class="method-detail">
161
- <a name="M000022"></a>
160
+ <div id="method-M000024" class="method-detail">
161
+ <a name="M000024"></a>
162
162
 
163
163
  <div class="method-heading">
164
- <a href="String.src/M000022.html" target="Code" class="method-signature"
165
- onclick="popupCode('String.src/M000022.html');return false;">
164
+ <a href="String.src/M000024.html" target="Code" class="method-signature"
165
+ onclick="popupCode('String.src/M000024.html');return false;">
166
166
  <span class="method-name">to_ruby_const_name</span><span class="method-args">()</span>
167
167
  </a>
168
168
  </div>
@@ -174,12 +174,12 @@ Converts this string into a valid Ruby constant name.
174
174
  </div>
175
175
  </div>
176
176
 
177
- <div id="method-M000025" class="method-detail">
178
- <a name="M000025"></a>
177
+ <div id="method-M000023" class="method-detail">
178
+ <a name="M000023"></a>
179
179
 
180
180
  <div class="method-heading">
181
- <a href="String.src/M000025.html" target="Code" class="method-signature"
182
- onclick="popupCode('String.src/M000025.html');return false;">
181
+ <a href="String.src/M000023.html" target="Code" class="method-signature"
182
+ onclick="popupCode('String.src/M000023.html');return false;">
183
183
  <span class="method-name">verilog_to_ruby</span><span class="method-args">()</span>
184
184
  </a>
185
185
  </div>
@@ -5,14 +5,32 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_ruby_const_name (String)</title>
8
+ <title>to_f (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/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>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/float.rb, line 9</span>
14
+ 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_f</span> <span class="ruby-identifier">aRadix</span> = <span class="ruby-value">10</span>
15
+ 10: <span class="ruby-identifier">whole</span>, <span class="ruby-identifier">frac</span> = <span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>, <span class="ruby-value">2</span>)
16
+ 11: <span class="ruby-identifier">whole</span> = <span class="ruby-identifier">whole</span>.<span class="ruby-identifier">to_i</span>(<span class="ruby-identifier">aRadix</span>).<span class="ruby-identifier">to_f</span>
17
+ 12:
18
+ 13: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">frac</span>
19
+ 14: <span class="ruby-identifier">f</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
20
+ 15:
21
+ 16: <span class="ruby-identifier">frac</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
22
+ 17: <span class="ruby-identifier">power</span> = <span class="ruby-identifier">i</span>.<span class="ruby-identifier">next</span>
23
+ 18: <span class="ruby-identifier">weight</span> = <span class="ruby-identifier">aRadix</span> <span class="ruby-operator">**</span> <span class="ruby-operator">-</span><span class="ruby-identifier">power</span>
24
+ 19: <span class="ruby-identifier">digit</span> = <span class="ruby-identifier">frac</span>[<span class="ruby-identifier">i</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span>(<span class="ruby-identifier">aRadix</span>)
25
+ 20:
26
+ 21: <span class="ruby-identifier">f</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">digit</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">weight</span>
27
+ 22: <span class="ruby-keyword kw">end</span>
28
+ 23:
29
+ 24: <span class="ruby-identifier">f</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">f</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^-/</span>
30
+ 25: <span class="ruby-identifier">whole</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">f</span>
31
+ 26: <span class="ruby-keyword kw">end</span>
32
+ 27:
33
+ 28: <span class="ruby-identifier">whole</span>
34
+ 29: <span class="ruby-keyword kw">end</span></pre>
17
35
  </body>
18
36
  </html>
@@ -5,14 +5,37 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>rstrip_from (String)</title>
8
+ <title>verilog_to_ruby (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/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>
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>
17
40
  </body>
18
41
  </html>
@@ -5,32 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_f (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/float.rb, line 9</span>
14
- 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_f</span> <span class="ruby-identifier">aRadix</span> = <span class="ruby-value">10</span>
15
- 10: <span class="ruby-identifier">whole</span>, <span class="ruby-identifier">frac</span> = <span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>, <span class="ruby-value">2</span>)
16
- 11: <span class="ruby-identifier">whole</span> = <span class="ruby-identifier">whole</span>.<span class="ruby-identifier">to_i</span>(<span class="ruby-identifier">aRadix</span>).<span class="ruby-identifier">to_f</span>
17
- 12:
18
- 13: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">frac</span>
19
- 14: <span class="ruby-identifier">f</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
20
- 15:
21
- 16: <span class="ruby-identifier">frac</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
22
- 17: <span class="ruby-identifier">power</span> = <span class="ruby-identifier">i</span>.<span class="ruby-identifier">next</span>
23
- 18: <span class="ruby-identifier">weight</span> = <span class="ruby-identifier">aRadix</span> <span class="ruby-operator">**</span> <span class="ruby-operator">-</span><span class="ruby-identifier">power</span>
24
- 19: <span class="ruby-identifier">digit</span> = <span class="ruby-identifier">frac</span>[<span class="ruby-identifier">i</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span>(<span class="ruby-identifier">aRadix</span>)
25
- 20:
26
- 21: <span class="ruby-identifier">f</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">digit</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">weight</span>
27
- 22: <span class="ruby-keyword kw">end</span>
28
- 23:
29
- 24: <span class="ruby-identifier">f</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">f</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^-/</span>
30
- 25: <span class="ruby-identifier">whole</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">f</span>
31
- 26: <span class="ruby-keyword kw">end</span>
32
- 27:
33
- 28: <span class="ruby-identifier">whole</span>
34
- 29: <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>
35
17
  </body>
36
18
  </html>
@@ -5,37 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>verilog_to_ruby (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 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>
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>
40
17
  </body>
41
18
  </html>
@@ -127,22 +127,25 @@ be specified by their names (strings or symbols) or integer constants.
127
127
  <h3 class="section-bar">Methods</h3>
128
128
 
129
129
  <div class="name-list">
130
- <a href="#M000050">&lt;=&gt;</a>&nbsp;&nbsp;
131
- <a href="#M000048">[]</a>&nbsp;&nbsp;
132
- <a href="#M000053">cbValueChange</a>&nbsp;&nbsp;
130
+ <a href="#M000053">&lt;=&gt;</a>&nbsp;&nbsp;
131
+ <a href="#M000051">[]</a>&nbsp;&nbsp;
132
+ <a href="#M000056">cbValueChange</a>&nbsp;&nbsp;
133
+ <a href="#M000048">force_value</a>&nbsp;&nbsp;
133
134
  <a href="#M000046">get_value</a>&nbsp;&nbsp;
134
135
  <a href="#M000045">get_value_wrapper</a>&nbsp;&nbsp;
135
136
  <a href="#M000040">high!</a>&nbsp;&nbsp;
136
137
  <a href="#M000039">high?</a>&nbsp;&nbsp;
137
- <a href="#M000051">inspect</a>&nbsp;&nbsp;
138
+ <a href="#M000054">inspect</a>&nbsp;&nbsp;
138
139
  <a href="#M000042">low!</a>&nbsp;&nbsp;
139
140
  <a href="#M000041">low?</a>&nbsp;&nbsp;
140
- <a href="#M000054">method_missing</a>&nbsp;&nbsp;
141
+ <a href="#M000057">method_missing</a>&nbsp;&nbsp;
141
142
  <a href="#M000044">negedge?</a>&nbsp;&nbsp;
142
143
  <a href="#M000043">posedge?</a>&nbsp;&nbsp;
143
144
  <a href="#M000047">put_value</a>&nbsp;&nbsp;
144
- <a href="#M000049">to_a</a>&nbsp;&nbsp;
145
- <a href="#M000052">to_s</a>&nbsp;&nbsp;
145
+ <a href="#M000049">release_value</a>&nbsp;&nbsp;
146
+ <a href="#M000052">to_a</a>&nbsp;&nbsp;
147
+ <a href="#M000055">to_s</a>&nbsp;&nbsp;
148
+ <a href="#M000050">value_forced?</a>&nbsp;&nbsp;
146
149
  <a href="#M000036">x!</a>&nbsp;&nbsp;
147
150
  <a href="#M000035">x?</a>&nbsp;&nbsp;
148
151
  <a href="#M000038">z!</a>&nbsp;&nbsp;
@@ -165,19 +168,6 @@ be specified by their names (strings or symbols) or integer constants.
165
168
  <div id="section">
166
169
 
167
170
 
168
- <div id="constants-list">
169
- <h3 class="section-bar">Constants</h3>
170
-
171
- <div class="name-list">
172
- <table summary="Constants">
173
- <tr class="top-aligned-row context-row">
174
- <td class="context-item-name">Property</td>
175
- <td>=</td>
176
- <td class="context-item-value">Struct.new(:type, :name, :operation, :accessor, :assignment)</td>
177
- </tr>
178
- </table>
179
- </div>
180
- </div>
181
171
 
182
172
 
183
173
 
@@ -188,12 +178,12 @@ be specified by their names (strings or symbols) or integer constants.
188
178
  <div id="methods">
189
179
  <h3 class="section-bar">Public Instance methods</h3>
190
180
 
191
- <div id="method-M000050" class="method-detail">
192
- <a name="M000050"></a>
181
+ <div id="method-M000053" class="method-detail">
182
+ <a name="M000053"></a>
193
183
 
194
184
  <div class="method-heading">
195
- <a href="Handle.src/M000050.html" target="Code" class="method-signature"
196
- onclick="popupCode('Handle.src/M000050.html');return false;">
185
+ <a href="Handle.src/M000053.html" target="Code" class="method-signature"
186
+ onclick="popupCode('Handle.src/M000053.html');return false;">
197
187
  <span class="method-name">&lt;=&gt;</span><span class="method-args">(other)</span>
198
188
  </a>
199
189
  </div>
@@ -205,12 +195,12 @@ Sort by absolute VPI path.
205
195
  </div>
206
196
  </div>
207
197
 
208
- <div id="method-M000048" class="method-detail">
209
- <a name="M000048"></a>
198
+ <div id="method-M000051" class="method-detail">
199
+ <a name="M000051"></a>
210
200
 
211
201
  <div class="method-heading">
212
- <a href="Handle.src/M000048.html" target="Code" class="method-signature"
213
- onclick="popupCode('Handle.src/M000048.html');return false;">
202
+ <a href="Handle.src/M000051.html" target="Code" class="method-signature"
203
+ onclick="popupCode('Handle.src/M000051.html');return false;">
214
204
  <span class="method-name">[]</span><span class="method-args">(*aTypes)</span>
215
205
  </a>
216
206
  </div>
@@ -223,12 +213,12 @@ constant).
223
213
  </div>
224
214
  </div>
225
215
 
226
- <div id="method-M000053" class="method-detail">
227
- <a name="M000053"></a>
216
+ <div id="method-M000056" class="method-detail">
217
+ <a name="M000056"></a>
228
218
 
229
219
  <div class="method-heading">
230
- <a href="Handle.src/M000053.html" target="Code" class="method-signature"
231
- onclick="popupCode('Handle.src/M000053.html');return false;">
220
+ <a href="Handle.src/M000056.html" target="Code" class="method-signature"
221
+ onclick="popupCode('Handle.src/M000056.html');return false;">
232
222
  <span class="method-name">cbValueChange</span><span class="method-args">(aOptions = {})</span>
233
223
  </a>
234
224
  </div>
@@ -241,21 +231,38 @@ changes.
241
231
  </div>
242
232
  </div>
243
233
 
234
+ <div id="method-M000048" class="method-detail">
235
+ <a name="M000048"></a>
236
+
237
+ <div class="method-heading">
238
+ <a href="Handle.src/M000048.html" target="Code" class="method-signature"
239
+ onclick="popupCode('Handle.src/M000048.html');return false;">
240
+ <span class="method-name">force_value</span><span class="method-args">(*args)</span>
241
+ </a>
242
+ </div>
243
+
244
+ <div class="method-description">
245
+ <p>
246
+ Forces the given value (see arguments for <a
247
+ href="Handle.html#M000047">put_value</a>) onto this handle.
248
+ </p>
249
+ </div>
250
+ </div>
251
+
244
252
  <div id="method-M000046" class="method-detail">
245
253
  <a name="M000046"></a>
246
254
 
247
255
  <div class="method-heading">
248
256
  <a href="Handle.src/M000046.html" target="Code" class="method-signature"
249
257
  onclick="popupCode('Handle.src/M000046.html');return false;">
250
- <span class="method-name">get_value</span><span class="method-args">(aFormat = VpiObjTypeVal)</span>
258
+ <span class="method-name">get_value</span><span class="method-args">(aFormat = VpiIntVal)</span>
251
259
  </a>
252
260
  </div>
253
261
 
254
262
  <div class="method-description">
255
263
  <p>
256
264
  Reads the value using the given format (name or integer constant) and
257
- returns it. If a format is not given, then the Verilog simulator will
258
- attempt to determine the correct format.
265
+ returns it. If a format is not given, then it is assumed to be VpiIntVal.
259
266
  </p>
260
267
  </div>
261
268
  </div>
@@ -312,12 +319,12 @@ Tests if the logic value of this handle is at &quot;logic high&quot; level.
312
319
  </div>
313
320
  </div>
314
321
 
315
- <div id="method-M000051" class="method-detail">
316
- <a name="M000051"></a>
322
+ <div id="method-M000054" class="method-detail">
323
+ <a name="M000054"></a>
317
324
 
318
325
  <div class="method-heading">
319
- <a href="Handle.src/M000051.html" target="Code" class="method-signature"
320
- onclick="popupCode('Handle.src/M000051.html');return false;">
326
+ <a href="Handle.src/M000054.html" target="Code" class="method-signature"
327
+ onclick="popupCode('Handle.src/M000054.html');return false;">
321
328
  <span class="method-name">inspect</span><span class="method-args">(*aPropNames)</span>
322
329
  </a>
323
330
  </div>
@@ -364,12 +371,12 @@ Tests if the logic value of this handle is at &quot;logic low&quot; level.
364
371
  </div>
365
372
  </div>
366
373
 
367
- <div id="method-M000054" class="method-detail">
368
- <a name="M000054"></a>
374
+ <div id="method-M000057" class="method-detail">
375
+ <a name="M000057"></a>
369
376
 
370
377
  <div class="method-heading">
371
- <a href="Handle.src/M000054.html" target="Code" class="method-signature"
372
- onclick="popupCode('Handle.src/M000054.html');return false;">
378
+ <a href="Handle.src/M000057.html" target="Code" class="method-signature"
379
+ onclick="popupCode('Handle.src/M000057.html');return false;">
373
380
  <span class="method-name">method_missing</span><span class="method-args">(aMeth, *aArgs, &amp;aBlockArg)</span>
374
381
  </a>
375
382
  </div>
@@ -433,10 +440,14 @@ Tests if the logic value of this handle is currently at a positive edge.
433
440
  <div class="method-description">
434
441
  <p>
435
442
  Writes the given value using the given format (name or integer constant),
436
- time, and delay, and then returns the given value. If a format is not
437
- given, then the Verilog simulator will attempt to determine the correct
438
- format.
443
+ time, and delay, and then returns the written value.
439
444
  </p>
445
+ <ul>
446
+ <li>If a format is not given, then the Verilog simulator will attempt to
447
+ determine the correct format.
448
+
449
+ </li>
450
+ </ul>
440
451
  </div>
441
452
  </div>
442
453
 
@@ -444,12 +455,15 @@ format.
444
455
  <a name="M000049"></a>
445
456
 
446
457
  <div class="method-heading">
447
- <span class="method-name">to_a</span><span class="method-args">(*aTypes)</span>
458
+ <a href="Handle.src/M000049.html" target="Code" class="method-signature"
459
+ onclick="popupCode('Handle.src/M000049.html');return false;">
460
+ <span class="method-name">release_value</span><span class="method-args">()</span>
461
+ </a>
448
462
  </div>
449
463
 
450
464
  <div class="method-description">
451
465
  <p>
452
- Alias for #[]
466
+ Releases a previously forced value on this handle.
453
467
  </p>
454
468
  </div>
455
469
  </div>
@@ -457,13 +471,44 @@ Alias for #[]
457
471
  <div id="method-M000052" class="method-detail">
458
472
  <a name="M000052"></a>
459
473
 
474
+ <div class="method-heading">
475
+ <span class="method-name">to_a</span><span class="method-args">(*aTypes)</span>
476
+ </div>
477
+
478
+ <div class="method-description">
479
+ <p>
480
+ Alias for #[]
481
+ </p>
482
+ </div>
483
+ </div>
484
+
485
+ <div id="method-M000055" class="method-detail">
486
+ <a name="M000055"></a>
487
+
460
488
  <div class="method-heading">
461
489
  <span class="method-name">to_s</span><span class="method-args">(*aPropNames)</span>
462
490
  </div>
463
491
 
464
492
  <div class="method-description">
465
493
  <p>
466
- Alias for <a href="Handle.html#M000051">inspect</a>
494
+ Alias for <a href="Handle.html#M000054">inspect</a>
495
+ </p>
496
+ </div>
497
+ </div>
498
+
499
+ <div id="method-M000050" class="method-detail">
500
+ <a name="M000050"></a>
501
+
502
+ <div class="method-heading">
503
+ <a href="Handle.src/M000050.html" target="Code" class="method-signature"
504
+ onclick="popupCode('Handle.src/M000050.html');return false;">
505
+ <span class="method-name">value_forced?</span><span class="method-args">()</span>
506
+ </a>
507
+ </div>
508
+
509
+ <div class="method-description">
510
+ <p>
511
+ Tests if there is currently a value forced onto this handle.
467
512
  </p>
468
513
  </div>
469
514
  </div>
@@ -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/vpi.rb, line 43</span>
14
- 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x?</span>
15
- 44: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/x/i</span>
16
- 45: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 49</span>
14
+ 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x?</span>
15
+ 50: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/x/i</span>
16
+ 51: <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/vpi.rb, line 48</span>
14
- 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x!</span>
15
- 49: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'x'</span>
16
- 50: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 54</span>
14
+ 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">x!</span>
15
+ 55: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'x'</span>
16
+ 56: <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/vpi.rb, line 53</span>
14
- 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z?</span>
15
- 54: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/z/i</span>
16
- 55: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 59</span>
14
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z?</span>
15
+ 60: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/z/i</span>
16
+ 61: <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/vpi.rb, line 58</span>
14
- 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z!</span>
15
- 59: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'z'</span>
16
- 60: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/vpi.rb, line 64</span>
14
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">z!</span>
15
+ 65: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hexStrVal</span> = <span class="ruby-value str">'z'</span>
16
+ 66: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>