ruby-vpi 17.0.0 → 18.0.0

Sign up to get free protection for your applications and to get access to all the features.
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>