ruby-vpi 12.1.0 → 13.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. data/bin/generate_test.rb +4 -5
  2. data/bin/generate_test_tpl/bench.rb +2 -0
  3. data/bin/generate_test_tpl/bench.v +4 -11
  4. data/bin/header_to_ruby.rb +0 -1
  5. data/doc/history.html +281 -206
  6. data/doc/history.rb +1 -1
  7. data/doc/history.yml +66 -35
  8. data/doc/manual.html +3 -3
  9. data/doc/memo.doc +2 -0
  10. data/doc/memo.html +5 -0
  11. data/doc/readme.doc +16 -8
  12. data/doc/readme.html +19 -13
  13. data/doc/rss.xml +7 -0
  14. data/ext/common.h +1 -0
  15. data/ext/{swig.c → main.c} +32 -6
  16. data/ext/{swig.h → main.h} +8 -7
  17. data/ext/relay.c +7 -83
  18. data/ext/relay.h +7 -5
  19. data/ext/swig_vpi.i +10 -3
  20. data/ext/swig_wrap.cin +4 -1
  21. data/ext/verilog.h +26 -10
  22. data/ext/vlog.c +16 -23
  23. data/ext/vlog.h +5 -19
  24. data/lib/ruby-vpi/rcov.rb +3 -3
  25. data/lib/ruby-vpi/runner.rb +5 -2
  26. data/lib/ruby-vpi/vpi.rb +1 -1
  27. data/lib/ruby-vpi.rb +57 -5
  28. data/ref/c/annotated.html +1 -7
  29. data/ref/c/common_8h.html +2 -1
  30. data/ref/c/files.html +3 -5
  31. data/ref/c/functions.html +24 -46
  32. data/ref/c/functions_vars.html +24 -46
  33. data/ref/c/globals.html +5 -210
  34. data/ref/c/globals_0x63.html +32 -48
  35. data/ref/c/globals_0x65.html +3 -9
  36. data/ref/c/globals_0x66.html +3 -19
  37. data/ref/c/globals_0x6d.html +5 -10
  38. data/ref/c/globals_0x70.html +19 -25
  39. data/ref/c/globals_0x72.html +8 -18
  40. data/ref/c/globals_0x73.html +11 -198
  41. data/ref/c/globals_0x74.html +2 -8
  42. data/ref/c/globals_0x76.html +419 -427
  43. data/ref/c/globals_0x78.html +3 -9
  44. data/ref/c/globals_defs.html +30 -35
  45. data/ref/c/globals_defs_0x65.html +2 -7
  46. data/ref/c/globals_defs_0x70.html +3 -8
  47. data/ref/c/globals_defs_0x76.html +416 -420
  48. data/ref/c/globals_defs_0x78.html +2 -7
  49. data/ref/c/globals_enum.html +1 -1
  50. data/ref/c/globals_eval.html +1 -1
  51. data/ref/c/globals_func.html +13 -173
  52. data/ref/c/globals_type.html +26 -29
  53. data/ref/c/globals_vars.html +4 -88
  54. data/ref/c/index.html +1 -1
  55. data/ref/c/{swig_8c.html → main_8c.html} +16 -14
  56. data/ref/c/{swig_8h.html → main_8h.html} +15 -14
  57. data/ref/c/relay_8c.html +25 -38
  58. data/ref/c/relay_8h.html +16 -15
  59. data/ref/c/structt__cb__data.html +6 -23
  60. data/ref/c/structt__vpi__delay.html +3 -20
  61. data/ref/c/structt__vpi__error__info.html +3 -71
  62. data/ref/c/structt__vpi__strengthval.html +3 -3
  63. data/ref/c/structt__vpi__systf__data.html +12 -46
  64. data/ref/c/structt__vpi__time.html +3 -3
  65. data/ref/c/structt__vpi__value.html +3 -113
  66. data/ref/c/structt__vpi__vecval.html +3 -3
  67. data/ref/c/structt__vpi__vlog__info.html +3 -54
  68. data/ref/c/verilog_8h.html +69 -3
  69. data/ref/c/vlog_8c.html +16 -61
  70. data/ref/c/vlog_8h.html +14 -57
  71. data/ref/c/vpi__user_8h.html +16 -16
  72. data/ref/ruby/classes/ERB.html +5 -5
  73. data/ref/ruby/classes/ERB.src/{M000032.html → M000026.html} +0 -0
  74. data/ref/ruby/classes/FileUtils.html +10 -10
  75. data/ref/ruby/classes/FileUtils.src/{M000034.html → M000027.html} +0 -0
  76. data/ref/ruby/classes/FileUtils.src/{M000035.html → M000028.html} +0 -0
  77. data/ref/ruby/classes/Float.html +5 -5
  78. data/ref/ruby/classes/Float.src/{M000027.html → M000022.html} +0 -0
  79. data/ref/ruby/classes/Integer.html +68 -68
  80. data/ref/ruby/classes/Integer.src/M000008.html +25 -0
  81. data/ref/ruby/classes/Integer.src/M000009.html +18 -0
  82. data/ref/ruby/classes/Integer.src/{M000014.html → M000010.html} +0 -0
  83. data/ref/ruby/classes/Integer.src/{M000015.html → M000011.html} +0 -0
  84. data/ref/ruby/classes/Integer.src/M000012.html +5 -12
  85. data/ref/ruby/classes/Integer.src/M000013.html +5 -5
  86. data/ref/ruby/classes/Integer.src/M000016.html +9 -5
  87. data/ref/ruby/classes/Integer.src/M000017.html +9 -5
  88. data/ref/ruby/classes/Integer.src/{M000022.html → M000018.html} +0 -0
  89. data/ref/ruby/classes/Integer.src/{M000023.html → M000019.html} +0 -0
  90. data/ref/ruby/classes/Integer.src/M000020.html +12 -9
  91. data/ref/ruby/classes/Integer.src/M000021.html +17 -9
  92. data/ref/ruby/classes/RDoc.html +5 -5
  93. data/ref/ruby/classes/RDoc.src/{M000050.html → M000041.html} +0 -0
  94. data/ref/ruby/classes/RubyVpi.html +29 -24
  95. data/ref/ruby/classes/RubyVpi.src/M000029.html +142 -0
  96. data/ref/ruby/classes/String.html +15 -15
  97. data/ref/ruby/classes/String.src/{M000029.html → M000023.html} +0 -0
  98. data/ref/ruby/classes/String.src/{M000030.html → M000024.html} +0 -0
  99. data/ref/ruby/classes/String.src/{M000031.html → M000025.html} +0 -0
  100. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +5 -5
  101. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/{M000011.html → M000007.html} +0 -0
  102. data/ref/ruby/classes/VerilogParser/Module/Port.html +20 -20
  103. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000007.html → M000003.html} +0 -0
  104. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000008.html → M000004.html} +0 -0
  105. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000009.html → M000005.html} +0 -0
  106. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000010.html → M000006.html} +0 -0
  107. data/ref/ruby/classes/VerilogParser/Module.html +5 -5
  108. data/ref/ruby/classes/VerilogParser/Module.src/{M000006.html → M000002.html} +0 -0
  109. data/ref/ruby/classes/VerilogParser.html +5 -5
  110. data/ref/ruby/classes/VerilogParser.src/{M000005.html → M000001.html} +0 -0
  111. data/ref/ruby/classes/Vpi/Handle.html +56 -62
  112. data/ref/ruby/classes/Vpi/Handle.src/M000030.html +18 -0
  113. data/ref/ruby/classes/Vpi/Handle.src/{M000039.html → M000031.html} +0 -0
  114. data/ref/ruby/classes/Vpi/Handle.src/M000032.html +18 -0
  115. data/ref/ruby/classes/Vpi/Handle.src/{M000041.html → M000033.html} +0 -0
  116. data/ref/ruby/classes/Vpi/Handle.src/{M000042.html → M000034.html} +0 -0
  117. data/ref/ruby/classes/Vpi/Handle.src/{M000043.html → M000035.html} +0 -0
  118. data/ref/ruby/classes/Vpi/Handle.src/{M000044.html → M000036.html} +0 -0
  119. data/ref/ruby/classes/Vpi/Handle.src/{M000045.html → M000037.html} +0 -0
  120. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +11 -5
  121. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +55 -5
  122. data/ref/ruby/created.rid +1 -1
  123. data/ref/ruby/files/bin/generate_test_rb.html +1 -49
  124. data/ref/ruby/files/bin/header_to_ruby_rb.html +1 -1
  125. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  126. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -48
  127. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  128. data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
  129. data/ref/ruby/fr_class_index.html +0 -5
  130. data/ref/ruby/fr_method_index.html +41 -50
  131. data/samp/counter/counter_rspec_bench.rb +2 -0
  132. data/samp/counter/counter_rspec_bench.v +4 -11
  133. data/samp/counter/counter_rspec_design.rb +2 -2
  134. data/samp/counter/counter_xunit_bench.rb +2 -0
  135. data/samp/counter/counter_xunit_bench.v +4 -11
  136. data/samp/counter/counter_xunit_design.rb +2 -2
  137. data/samp/pipelined_alu/hw5_unit_test_bench.rb +2 -0
  138. data/samp/pipelined_alu/hw5_unit_test_bench.v +4 -11
  139. metadata +37 -85
  140. data/ref/c/globals_0x62.html +0 -62
  141. data/ref/c/globals_0x67.html +0 -64
  142. data/ref/c/globals_0x69.html +0 -62
  143. data/ref/c/globals_0x6c.html +0 -64
  144. data/ref/c/globals_0x6e.html +0 -63
  145. data/ref/c/globals_0x75.html +0 -63
  146. data/ref/c/globals_defs_0x6c.html +0 -57
  147. data/ref/c/globals_defs_0x6e.html +0 -56
  148. data/ref/c/globals_defs_0x72.html +0 -57
  149. data/ref/c/globals_defs_0x73.html +0 -164
  150. data/ref/c/globals_defs_0x75.html +0 -56
  151. data/ref/c/globals_func_0x66.html +0 -62
  152. data/ref/c/globals_func_0x67.html +0 -55
  153. data/ref/c/globals_func_0x69.html +0 -53
  154. data/ref/c/globals_func_0x70.html +0 -53
  155. data/ref/c/globals_func_0x72.html +0 -57
  156. data/ref/c/globals_func_0x73.html +0 -114
  157. data/ref/c/globals_func_0x76.html +0 -57
  158. data/ref/c/structrelay____RubyOptions____def.html +0 -73
  159. data/ref/c/structswig__cast__info.html +0 -98
  160. data/ref/c/structswig__class.html +0 -115
  161. data/ref/c/structswig__module__info.html +0 -132
  162. data/ref/c/structswig__type__info.html +0 -132
  163. data/ref/c/swig__vpi_8h.html +0 -8739
  164. data/ref/c/swig__wrap_8cin.html +0 -11556
  165. data/ref/c/unions__vpi__value__value.html +0 -166
  166. data/ref/ruby/classes/Integer.src/M000024.html +0 -25
  167. data/ref/ruby/classes/Integer.src/M000025.html +0 -30
  168. data/ref/ruby/classes/OutputInfo.html +0 -294
  169. data/ref/ruby/classes/OutputInfo.src/M000026.html +0 -50
  170. data/ref/ruby/classes/RubyVpi.src/M000036.html +0 -107
  171. data/ref/ruby/classes/RubyVpi.src/M000037.html +0 -20
  172. data/ref/ruby/classes/Template.html +0 -158
  173. data/ref/ruby/classes/Template.src/M000028.html +0 -18
  174. data/ref/ruby/classes/Vpi/Handle/Property.html +0 -130
  175. data/ref/ruby/classes/Vpi/Handle/Property.src/M000049.html +0 -80
  176. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +0 -24
  177. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +0 -68
  178. data/ref/ruby/classes/XX/XMLish.html +0 -138
  179. data/ref/ruby/classes/XX/XMLish.src/M000033.html +0 -18
  180. data/ref/ruby/classes/XX.html +0 -111
  181. data/ref/ruby/files/bin/generate_test_rb.src/M000001.html +0 -18
  182. data/ref/ruby/files/bin/generate_test_rb.src/M000002.html +0 -38
  183. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000003.html +0 -24
  184. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000004.html +0 -26
@@ -94,20 +94,20 @@ Instead, they return the new value as their result.
94
94
  <h3 class="section-bar">Methods</h3>
95
95
 
96
96
  <div class="name-list">
97
- <a href="#M000021">ensure_max</a>&nbsp;&nbsp;
98
- <a href="#M000020">ensure_min</a>&nbsp;&nbsp;
99
- <a href="#M000024">extend_sign</a>&nbsp;&nbsp;
100
- <a href="#M000013">length</a>&nbsp;&nbsp;
101
- <a href="#M000014">limit</a>&nbsp;&nbsp;
102
- <a href="#M000012">log2</a>&nbsp;&nbsp;
103
- <a href="#M000016">mask</a>&nbsp;&nbsp;
104
- <a href="#M000018">max</a>&nbsp;&nbsp;
105
- <a href="#M000022">pack</a>&nbsp;&nbsp;
106
- <a href="#M000025">split</a>&nbsp;&nbsp;
107
- <a href="#M000015">to_limit</a>&nbsp;&nbsp;
108
- <a href="#M000017">to_mask</a>&nbsp;&nbsp;
109
- <a href="#M000019">to_max</a>&nbsp;&nbsp;
110
- <a href="#M000023">unpack</a>&nbsp;&nbsp;
97
+ <a href="#M000017">ensure_max</a>&nbsp;&nbsp;
98
+ <a href="#M000016">ensure_min</a>&nbsp;&nbsp;
99
+ <a href="#M000020">extend_sign</a>&nbsp;&nbsp;
100
+ <a href="#M000009">length</a>&nbsp;&nbsp;
101
+ <a href="#M000010">limit</a>&nbsp;&nbsp;
102
+ <a href="#M000008">log2</a>&nbsp;&nbsp;
103
+ <a href="#M000012">mask</a>&nbsp;&nbsp;
104
+ <a href="#M000014">max</a>&nbsp;&nbsp;
105
+ <a href="#M000018">pack</a>&nbsp;&nbsp;
106
+ <a href="#M000021">split</a>&nbsp;&nbsp;
107
+ <a href="#M000011">to_limit</a>&nbsp;&nbsp;
108
+ <a href="#M000013">to_mask</a>&nbsp;&nbsp;
109
+ <a href="#M000015">to_max</a>&nbsp;&nbsp;
110
+ <a href="#M000019">unpack</a>&nbsp;&nbsp;
111
111
  </div>
112
112
  </div>
113
113
 
@@ -129,12 +129,12 @@ Instead, they return the new value as their result.
129
129
  <div id="methods">
130
130
  <h3 class="section-bar">Public Instance methods</h3>
131
131
 
132
- <div id="method-M000021" class="method-detail">
133
- <a name="M000021"></a>
132
+ <div id="method-M000017" class="method-detail">
133
+ <a name="M000017"></a>
134
134
 
135
135
  <div class="method-heading">
136
- <a href="Integer.src/M000021.html" target="Code" class="method-signature"
137
- onclick="popupCode('Integer.src/M000021.html');return false;">
136
+ <a href="Integer.src/M000017.html" target="Code" class="method-signature"
137
+ onclick="popupCode('Integer.src/M000017.html');return false;">
138
138
  <span class="method-name">ensure_max</span><span class="method-args">(aLimit)</span>
139
139
  </a>
140
140
  </div>
@@ -146,12 +146,12 @@ Ensures that this integer is no greater than the given limit.
146
146
  </div>
147
147
  </div>
148
148
 
149
- <div id="method-M000020" class="method-detail">
150
- <a name="M000020"></a>
149
+ <div id="method-M000016" class="method-detail">
150
+ <a name="M000016"></a>
151
151
 
152
152
  <div class="method-heading">
153
- <a href="Integer.src/M000020.html" target="Code" class="method-signature"
154
- onclick="popupCode('Integer.src/M000020.html');return false;">
153
+ <a href="Integer.src/M000016.html" target="Code" class="method-signature"
154
+ onclick="popupCode('Integer.src/M000016.html');return false;">
155
155
  <span class="method-name">ensure_min</span><span class="method-args">(aLimit)</span>
156
156
  </a>
157
157
  </div>
@@ -163,12 +163,12 @@ Ensures that this integer is no less than the given limit.
163
163
  </div>
164
164
  </div>
165
165
 
166
- <div id="method-M000024" class="method-detail">
167
- <a name="M000024"></a>
166
+ <div id="method-M000020" class="method-detail">
167
+ <a name="M000020"></a>
168
168
 
169
169
  <div class="method-heading">
170
- <a href="Integer.src/M000024.html" target="Code" class="method-signature"
171
- onclick="popupCode('Integer.src/M000024.html');return false;">
170
+ <a href="Integer.src/M000020.html" target="Code" class="method-signature"
171
+ onclick="popupCode('Integer.src/M000020.html');return false;">
172
172
  <span class="method-name">extend_sign</span><span class="method-args">(aOrigWidth, aExtWidth)</span>
173
173
  </a>
174
174
  </div>
@@ -182,12 +182,12 @@ bits).
182
182
  </div>
183
183
  </div>
184
184
 
185
- <div id="method-M000013" class="method-detail">
186
- <a name="M000013"></a>
185
+ <div id="method-M000009" class="method-detail">
186
+ <a name="M000009"></a>
187
187
 
188
188
  <div class="method-heading">
189
- <a href="Integer.src/M000013.html" target="Code" class="method-signature"
190
- onclick="popupCode('Integer.src/M000013.html');return false;">
189
+ <a href="Integer.src/M000009.html" target="Code" class="method-signature"
190
+ onclick="popupCode('Integer.src/M000009.html');return false;">
191
191
  <span class="method-name">length</span><span class="method-args">()</span>
192
192
  </a>
193
193
  </div>
@@ -199,12 +199,12 @@ Returns the minimum number of bits necessary to represent this integer.
199
199
  </div>
200
200
  </div>
201
201
 
202
- <div id="method-M000014" class="method-detail">
203
- <a name="M000014"></a>
202
+ <div id="method-M000010" class="method-detail">
203
+ <a name="M000010"></a>
204
204
 
205
205
  <div class="method-heading">
206
- <a href="Integer.src/M000014.html" target="Code" class="method-signature"
207
- onclick="popupCode('Integer.src/M000014.html');return false;">
206
+ <a href="Integer.src/M000010.html" target="Code" class="method-signature"
207
+ onclick="popupCode('Integer.src/M000010.html');return false;">
208
208
  <span class="method-name">limit</span><span class="method-args">()</span>
209
209
  </a>
210
210
  </div>
@@ -217,12 +217,12 @@ the limit without occupying more bits in its binary representation.
217
217
  </div>
218
218
  </div>
219
219
 
220
- <div id="method-M000012" class="method-detail">
221
- <a name="M000012"></a>
220
+ <div id="method-M000008" class="method-detail">
221
+ <a name="M000008"></a>
222
222
 
223
223
  <div class="method-heading">
224
- <a href="Integer.src/M000012.html" target="Code" class="method-signature"
225
- onclick="popupCode('Integer.src/M000012.html');return false;">
224
+ <a href="Integer.src/M000008.html" target="Code" class="method-signature"
225
+ onclick="popupCode('Integer.src/M000008.html');return false;">
226
226
  <span class="method-name">log2</span><span class="method-args">()</span>
227
227
  </a>
228
228
  </div>
@@ -234,12 +234,12 @@ Returns the ceiling of the logarithm (base 2) of this positive integer.
234
234
  </div>
235
235
  </div>
236
236
 
237
- <div id="method-M000016" class="method-detail">
238
- <a name="M000016"></a>
237
+ <div id="method-M000012" class="method-detail">
238
+ <a name="M000012"></a>
239
239
 
240
240
  <div class="method-heading">
241
- <a href="Integer.src/M000016.html" target="Code" class="method-signature"
242
- onclick="popupCode('Integer.src/M000016.html');return false;">
241
+ <a href="Integer.src/M000012.html" target="Code" class="method-signature"
242
+ onclick="popupCode('Integer.src/M000012.html');return false;">
243
243
  <span class="method-name">mask</span><span class="method-args">()</span>
244
244
  </a>
245
245
  </div>
@@ -251,8 +251,8 @@ Returns a bit-mask capable of masking this integer.
251
251
  </div>
252
252
  </div>
253
253
 
254
- <div id="method-M000018" class="method-detail">
255
- <a name="M000018"></a>
254
+ <div id="method-M000014" class="method-detail">
255
+ <a name="M000014"></a>
256
256
 
257
257
  <div class="method-heading">
258
258
  <span class="method-name">max</span><span class="method-args">()</span>
@@ -260,17 +260,17 @@ Returns a bit-mask capable of masking this integer.
260
260
 
261
261
  <div class="method-description">
262
262
  <p>
263
- Alias for <a href="Integer.html#M000016">mask</a>
263
+ Alias for <a href="Integer.html#M000012">mask</a>
264
264
  </p>
265
265
  </div>
266
266
  </div>
267
267
 
268
- <div id="method-M000022" class="method-detail">
269
- <a name="M000022"></a>
268
+ <div id="method-M000018" class="method-detail">
269
+ <a name="M000018"></a>
270
270
 
271
271
  <div class="method-heading">
272
- <a href="Integer.src/M000022.html" target="Code" class="method-signature"
273
- onclick="popupCode('Integer.src/M000022.html');return false;">
272
+ <a href="Integer.src/M000018.html" target="Code" class="method-signature"
273
+ onclick="popupCode('Integer.src/M000018.html');return false;">
274
274
  <span class="method-name">pack</span><span class="method-args">(aPackedWidth)</span>
275
275
  </a>
276
276
  </div>
@@ -284,12 +284,12 @@ Transforms this infinite-length Ruby integer into a fixed-length integer
284
284
  </div>
285
285
  </div>
286
286
 
287
- <div id="method-M000025" class="method-detail">
288
- <a name="M000025"></a>
287
+ <div id="method-M000021" class="method-detail">
288
+ <a name="M000021"></a>
289
289
 
290
290
  <div class="method-heading">
291
- <a href="Integer.src/M000025.html" target="Code" class="method-signature"
292
- onclick="popupCode('Integer.src/M000025.html');return false;">
291
+ <a href="Integer.src/M000021.html" target="Code" class="method-signature"
292
+ onclick="popupCode('Integer.src/M000021.html');return false;">
293
293
  <span class="method-name">split</span><span class="method-args">(aWidth = 8)</span>
294
294
  </a>
295
295
  </div>
@@ -314,12 +314,12 @@ binary numbers; for example:
314
314
  </div>
315
315
  </div>
316
316
 
317
- <div id="method-M000015" class="method-detail">
318
- <a name="M000015"></a>
317
+ <div id="method-M000011" class="method-detail">
318
+ <a name="M000011"></a>
319
319
 
320
320
  <div class="method-heading">
321
- <a href="Integer.src/M000015.html" target="Code" class="method-signature"
322
- onclick="popupCode('Integer.src/M000015.html');return false;">
321
+ <a href="Integer.src/M000011.html" target="Code" class="method-signature"
322
+ onclick="popupCode('Integer.src/M000011.html');return false;">
323
323
  <span class="method-name">to_limit</span><span class="method-args">()</span>
324
324
  </a>
325
325
  </div>
@@ -332,12 +332,12 @@ bits.
332
332
  </div>
333
333
  </div>
334
334
 
335
- <div id="method-M000017" class="method-detail">
336
- <a name="M000017"></a>
335
+ <div id="method-M000013" class="method-detail">
336
+ <a name="M000013"></a>
337
337
 
338
338
  <div class="method-heading">
339
- <a href="Integer.src/M000017.html" target="Code" class="method-signature"
340
- onclick="popupCode('Integer.src/M000017.html');return false;">
339
+ <a href="Integer.src/M000013.html" target="Code" class="method-signature"
340
+ onclick="popupCode('Integer.src/M000013.html');return false;">
341
341
  <span class="method-name">to_mask</span><span class="method-args">()</span>
342
342
  </a>
343
343
  </div>
@@ -350,8 +350,8 @@ bits.
350
350
  </div>
351
351
  </div>
352
352
 
353
- <div id="method-M000019" class="method-detail">
354
- <a name="M000019"></a>
353
+ <div id="method-M000015" class="method-detail">
354
+ <a name="M000015"></a>
355
355
 
356
356
  <div class="method-heading">
357
357
  <span class="method-name">to_max</span><span class="method-args">()</span>
@@ -359,17 +359,17 @@ bits.
359
359
 
360
360
  <div class="method-description">
361
361
  <p>
362
- Alias for <a href="Integer.html#M000017">to_mask</a>
362
+ Alias for <a href="Integer.html#M000013">to_mask</a>
363
363
  </p>
364
364
  </div>
365
365
  </div>
366
366
 
367
- <div id="method-M000023" class="method-detail">
368
- <a name="M000023"></a>
367
+ <div id="method-M000019" class="method-detail">
368
+ <a name="M000019"></a>
369
369
 
370
370
  <div class="method-heading">
371
- <a href="Integer.src/M000023.html" target="Code" class="method-signature"
372
- onclick="popupCode('Integer.src/M000023.html');return false;">
371
+ <a href="Integer.src/M000019.html" target="Code" class="method-signature"
372
+ onclick="popupCode('Integer.src/M000019.html');return false;">
373
373
  <span class="method-name">unpack</span><span class="method-args">(aPackedWidth)</span>
374
374
  </a>
375
375
  </div>
@@ -0,0 +1,25 @@
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>log2 (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 24</span>
14
+ 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log2</span>
15
+ 25: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;integer must be positive&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
16
+ 26: <span class="ruby-identifier">bin</span> = <span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>)
17
+ 27:
18
+ 28: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bin</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^10+$/</span>
19
+ 29: <span class="ruby-identifier">bin</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
20
+ 30: <span class="ruby-keyword kw">else</span>
21
+ 31: <span class="ruby-identifier">bin</span>.<span class="ruby-identifier">length</span>
22
+ 32: <span class="ruby-keyword kw">end</span>
23
+ 33: <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -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>length (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 36</span>
14
+ 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length</span>
15
+ 37: <span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>).<span class="ruby-identifier">length</span>
16
+ 38: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -5,21 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>log2 (Integer)</title>
8
+ <title>mask (Integer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 24</span>
14
- 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log2</span>
15
- 25: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;integer must be positive&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
16
- 26: <span class="ruby-identifier">bin</span> = <span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>)
17
- 27:
18
- 28: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bin</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^10+$/</span>
19
- 29: <span class="ruby-identifier">bin</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
20
- 30: <span class="ruby-keyword kw">else</span>
21
- 31: <span class="ruby-identifier">bin</span>.<span class="ruby-identifier">length</span>
22
- 32: <span class="ruby-keyword kw">end</span>
23
- 33: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 52</span>
14
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mask</span>
15
+ 53: <span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_mask</span>
16
+ 54: <span class="ruby-keyword kw">end</span></pre>
24
17
  </body>
25
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>length (Integer)</title>
8
+ <title>to_mask (Integer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 36</span>
14
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length</span>
15
- 37: <span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>).<span class="ruby-identifier">length</span>
16
- 38: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 57</span>
14
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_mask</span>
15
+ 58: <span class="ruby-identifier">to_limit</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
16
+ 59: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,14 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>mask (Integer)</title>
8
+ <title>ensure_min (Integer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 52</span>
14
- 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mask</span>
15
- 53: <span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_mask</span>
16
- 54: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 70</span>
14
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_min</span> <span class="ruby-identifier">aLimit</span>
15
+ 71: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">aLimit</span>
16
+ 72: <span class="ruby-identifier">aLimit</span>
17
+ 73: <span class="ruby-keyword kw">else</span>
18
+ 74: <span class="ruby-keyword kw">self</span>
19
+ 75: <span class="ruby-keyword kw">end</span>
20
+ 76: <span class="ruby-keyword kw">end</span></pre>
17
21
  </body>
18
22
  </html>
@@ -5,14 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_mask (Integer)</title>
8
+ <title>ensure_max (Integer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 57</span>
14
- 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_mask</span>
15
- 58: <span class="ruby-identifier">to_limit</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
16
- 59: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 79</span>
14
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_max</span> <span class="ruby-identifier">aLimit</span>
15
+ 80: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aLimit</span>
16
+ 81: <span class="ruby-identifier">aLimit</span>
17
+ 82: <span class="ruby-keyword kw">else</span>
18
+ 83: <span class="ruby-keyword kw">self</span>
19
+ 84: <span class="ruby-keyword kw">end</span>
20
+ 85: <span class="ruby-keyword kw">end</span></pre>
17
21
  </body>
18
22
  </html>
@@ -5,18 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>ensure_min (Integer)</title>
8
+ <title>extend_sign (Integer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 70</span>
14
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_min</span> <span class="ruby-identifier">aLimit</span>
15
- 71: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">aLimit</span>
16
- 72: <span class="ruby-identifier">aLimit</span>
17
- 73: <span class="ruby-keyword kw">else</span>
18
- 74: <span class="ruby-keyword kw">self</span>
19
- 75: <span class="ruby-keyword kw">end</span>
20
- 76: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 120</span>
14
+ 120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extend_sign</span> <span class="ruby-identifier">aOrigWidth</span>, <span class="ruby-identifier">aExtWidth</span>
15
+ 121: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>
16
+ 122: <span class="ruby-identifier">maskWidth</span> = <span class="ruby-identifier">aExtWidth</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">aOrigWidth</span>
17
+ 123:
18
+ 124: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">maskWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">result</span>[<span class="ruby-identifier">aOrigWidth</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
19
+ 125: <span class="ruby-identifier">result</span> <span class="ruby-operator">|=</span> (<span class="ruby-identifier">maskWidth</span>.<span class="ruby-identifier">to_mask</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aOrigWidth</span>)
20
+ 126: <span class="ruby-keyword kw">end</span>
21
+ 127:
22
+ 128: <span class="ruby-identifier">result</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">aExtWidth</span>.<span class="ruby-identifier">to_mask</span>
23
+ 129: <span class="ruby-keyword kw">end</span></pre>
21
24
  </body>
22
25
  </html>
@@ -5,18 +5,26 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>ensure_max (Integer)</title>
8
+ <title>split (Integer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 79</span>
14
- 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_max</span> <span class="ruby-identifier">aLimit</span>
15
- 80: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aLimit</span>
16
- 81: <span class="ruby-identifier">aLimit</span>
17
- 82: <span class="ruby-keyword kw">else</span>
18
- 83: <span class="ruby-keyword kw">self</span>
19
- 84: <span class="ruby-keyword kw">end</span>
20
- 85: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/integer.rb, line 141</span>
14
+ 141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">split</span> <span class="ruby-identifier">aWidth</span> = <span class="ruby-value">8</span>
15
+ 142: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;width must be positive and non-zero&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
16
+ 143:
17
+ 144: <span class="ruby-identifier">int</span>, <span class="ruby-identifier">bits</span> = <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">length</span>
18
+ 145: <span class="ruby-identifier">mask</span> = <span class="ruby-identifier">aWidth</span>.<span class="ruby-identifier">to_mask</span>
19
+ 146: <span class="ruby-identifier">words</span> = []
20
+ 147:
21
+ 148: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">bits</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
22
+ 149: <span class="ruby-identifier">words</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">int</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">mask</span>
23
+ 150: <span class="ruby-identifier">int</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-identifier">aWidth</span>
24
+ 151: <span class="ruby-identifier">bits</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">aWidth</span>
25
+ 152: <span class="ruby-keyword kw">end</span>
26
+ 153:
27
+ 154: <span class="ruby-identifier">words</span>
28
+ 155: <span class="ruby-keyword kw">end</span></pre>
21
29
  </body>
22
30
  </html>
@@ -80,7 +80,7 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000050">usage_from_file</a>&nbsp;&nbsp;
83
+ <a href="#M000041">usage_from_file</a>&nbsp;&nbsp;
84
84
  </div>
85
85
  </div>
86
86
 
@@ -102,12 +102,12 @@
102
102
  <div id="methods">
103
103
  <h3 class="section-bar">Public Class methods</h3>
104
104
 
105
- <div id="method-M000050" class="method-detail">
106
- <a name="M000050"></a>
105
+ <div id="method-M000041" class="method-detail">
106
+ <a name="M000041"></a>
107
107
 
108
108
  <div class="method-heading">
109
- <a href="RDoc.src/M000050.html" target="Code" class="method-signature"
110
- onclick="popupCode('RDoc.src/M000050.html');return false;">
109
+ <a href="RDoc.src/M000041.html" target="Code" class="method-signature"
110
+ onclick="popupCode('RDoc.src/M000041.html');return false;">
111
111
  <span class="method-name">usage_from_file</span><span class="method-args">(input_file, *args)</span>
112
112
  </a>
113
113
  </div>
@@ -84,8 +84,7 @@
84
84
  <h3 class="section-bar">Methods</h3>
85
85
 
86
86
  <div class="name-list">
87
- <a href="#M000036">init_bench</a>&nbsp;&nbsp;
88
- <a href="#M000037">with_coverage_analysis</a>&nbsp;&nbsp;
87
+ <a href="#M000029">init_bench</a>&nbsp;&nbsp;
89
88
  </div>
90
89
  </div>
91
90
 
@@ -138,13 +137,13 @@
138
137
  <div id="methods">
139
138
  <h3 class="section-bar">Public Class methods</h3>
140
139
 
141
- <div id="method-M000036" class="method-detail">
142
- <a name="M000036"></a>
140
+ <div id="method-M000029" class="method-detail">
141
+ <a name="M000029"></a>
143
142
 
144
143
  <div class="method-heading">
145
- <a href="RubyVpi.src/M000036.html" target="Code" class="method-signature"
146
- onclick="popupCode('RubyVpi.src/M000036.html');return false;">
147
- <span class="method-name">init_bench</span><span class="method-args">(aDesignId, aSpecFormat)</span>
144
+ <a href="RubyVpi.src/M000029.html" target="Code" class="method-signature"
145
+ onclick="popupCode('RubyVpi.src/M000029.html');return false;">
146
+ <span class="method-name">init_bench</span><span class="method-args">(aDesignId, aSpecFormat {|clock_signal| ...}</span>
148
147
  </a>
149
148
  </div>
150
149
 
@@ -170,24 +169,30 @@ Initializes the bench by loading:
170
169
  <tr><td valign="top">aSpecFormat:</td><td>The format being used by the specification.
171
170
 
172
171
  </td></tr>
173
- </table>
174
- </div>
175
- </div>
176
-
177
- <div id="method-M000037" class="method-detail">
178
- <a name="M000037"></a>
172
+ <tr><td valign="top">aClockTrigger:</td><td>When the return value of this block is <tt>true</tt>, then the
173
+ relay_verilog method returns. This block is given one argument: a handle to
174
+ the clock signal that drives the design under test. If this block is not
175
+ specified, relay_verilog will always return upon the next positive edge of
176
+ the clock signal.
179
177
 
180
- <div class="method-heading">
181
- <a href="RubyVpi.src/M000037.html" target="Code" class="method-signature"
182
- onclick="popupCode('RubyVpi.src/M000037.html');return false;">
183
- <span class="method-name">with_coverage_analysis</span><span class="method-args">( {|Rcov::CodeCoverageAnalyzer| ...}</span>
184
- </a>
185
- </div>
186
-
187
- <div class="method-description">
188
- <p>
189
- Invokes the given block after code coverage analysis has completed.
190
- </p>
178
+ </td></tr>
179
+ </table>
180
+ <pre>
181
+ # return upon positive edge
182
+ RubyVpi.init_bench ... |clk|
183
+ clk.intVal == 1
184
+ end
185
+
186
+ # return upon negative edge
187
+ RubyVpi.init_bench ... do |clk|
188
+ clk.intVal == 0
189
+ end
190
+
191
+ # return whenever clock changes
192
+ RubyVpi.init_bench ... do |clk|
193
+ true
194
+ end
195
+ </pre>
191
196
  </div>
192
197
  </div>
193
198