ruby-vpi 16.0.1 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. data/LICENSE +19 -19
  2. data/README +1 -1
  3. data/Rakefile +35 -32
  4. data/bin/convert.rb +28 -0
  5. data/bin/generate/design.rb +16 -0
  6. data/bin/generate/proto.rb +13 -0
  7. data/bin/generate/runner.rake +33 -0
  8. data/bin/generate/spec.rb +45 -0
  9. data/bin/generate.rb +177 -0
  10. data/bin/ruby-vpi +56 -0
  11. data/doc/Rakefile +20 -4
  12. data/doc/common.css +92 -33
  13. data/doc/common.inc +13 -0
  14. data/doc/common.tpl +42 -28
  15. data/doc/history.doc +11 -11
  16. data/doc/history.html +769 -248
  17. data/doc/history.inc +909 -0
  18. data/doc/history.rb +9 -0
  19. data/doc/history.yaml +69 -0
  20. data/doc/intro.inc +170 -178
  21. data/doc/lib/doc_format.rb +57 -144
  22. data/doc/lib/doc_proxy.rb +504 -88
  23. data/doc/lib/erb_content.rb +8 -8
  24. data/doc/lib/erb_proxy.rb +17 -17
  25. data/doc/manual.doc +626 -777
  26. data/doc/manual.html +1541 -1031
  27. data/doc/memo.doc +38 -36
  28. data/doc/memo.html +64 -28
  29. data/doc/readme.doc +4 -31
  30. data/doc/readme.html +221 -163
  31. data/doc/rss.erb +1 -1
  32. data/doc/rss.xml +73 -1761
  33. data/ext/Rakefile +6 -5
  34. data/ext/main.c +17 -15
  35. data/ext/relay.c +4 -7
  36. data/ext/relay.h +2 -2
  37. data/ext/swig_vpi.h +2 -2
  38. data/ext/swig_vpi.i +1 -2
  39. data/ext/swig_wrap.cin +12 -16
  40. data/ext/vlog.c +5 -5
  41. data/ext/vlog.h +2 -2
  42. data/lib/ruby-vpi/erb.rb +3 -3
  43. data/lib/ruby-vpi/float.rb +2 -2
  44. data/lib/ruby-vpi/rcov.rb +5 -7
  45. data/lib/ruby-vpi/runner.rb +43 -41
  46. data/lib/ruby-vpi/runner_boot_loader.rb +117 -0
  47. data/lib/ruby-vpi/runner_proxy.rb +6 -8
  48. data/lib/ruby-vpi/util.rb +10 -0
  49. data/lib/ruby-vpi/verilog_parser.rb +28 -56
  50. data/lib/ruby-vpi/vpi.rb +168 -123
  51. data/lib/ruby-vpi.rb +22 -143
  52. data/ref/c/annotated.html +1 -1
  53. data/ref/c/common_8h.html +1 -1
  54. data/ref/c/files.html +1 -1
  55. data/ref/c/functions.html +1 -1
  56. data/ref/c/functions_vars.html +1 -1
  57. data/ref/c/globals.html +1 -1
  58. data/ref/c/globals_0x63.html +1 -1
  59. data/ref/c/globals_0x65.html +1 -1
  60. data/ref/c/globals_0x66.html +1 -1
  61. data/ref/c/globals_0x6d.html +1 -1
  62. data/ref/c/globals_0x70.html +1 -1
  63. data/ref/c/globals_0x72.html +1 -1
  64. data/ref/c/globals_0x73.html +1 -1
  65. data/ref/c/globals_0x74.html +1 -1
  66. data/ref/c/globals_0x76.html +1 -1
  67. data/ref/c/globals_0x78.html +1 -1
  68. data/ref/c/globals_defs.html +1 -1
  69. data/ref/c/globals_defs_0x65.html +1 -1
  70. data/ref/c/globals_defs_0x70.html +1 -1
  71. data/ref/c/globals_defs_0x76.html +1 -1
  72. data/ref/c/globals_defs_0x78.html +1 -1
  73. data/ref/c/globals_enum.html +1 -1
  74. data/ref/c/globals_eval.html +1 -1
  75. data/ref/c/globals_func.html +1 -1
  76. data/ref/c/globals_type.html +1 -1
  77. data/ref/c/globals_vars.html +1 -1
  78. data/ref/c/index.html +1 -1
  79. data/ref/c/main_8c.html +1 -1
  80. data/ref/c/main_8h.html +1 -1
  81. data/ref/c/relay_8c.html +1 -1
  82. data/ref/c/relay_8h.html +1 -1
  83. data/ref/c/structt__cb__data.html +1 -1
  84. data/ref/c/structt__vpi__delay.html +1 -1
  85. data/ref/c/structt__vpi__error__info.html +1 -1
  86. data/ref/c/structt__vpi__strengthval.html +1 -1
  87. data/ref/c/structt__vpi__systf__data.html +1 -1
  88. data/ref/c/structt__vpi__time.html +1 -1
  89. data/ref/c/structt__vpi__value.html +1 -1
  90. data/ref/c/structt__vpi__vecval.html +1 -1
  91. data/ref/c/structt__vpi__vlog__info.html +1 -1
  92. data/ref/c/verilog_8h.html +1 -1
  93. data/ref/c/vlog_8c.html +1 -1
  94. data/ref/c/vlog_8h.html +1 -1
  95. data/ref/c/vpi__user_8h.html +1 -1
  96. data/ref/ruby/classes/ERB.html +5 -5
  97. data/ref/ruby/classes/ERB.src/{M000024.html → M000026.html} +0 -0
  98. data/ref/ruby/classes/FileUtils.html +11 -11
  99. data/ref/ruby/classes/FileUtils.src/{M000025.html → M000027.html} +0 -0
  100. data/ref/ruby/classes/FileUtils.src/{M000026.html → M000028.html} +0 -0
  101. data/ref/ruby/classes/Float.html +6 -6
  102. data/ref/ruby/classes/Float.src/{M000020.html → M000021.html} +0 -0
  103. data/ref/ruby/classes/Integer.html +65 -65
  104. data/ref/ruby/classes/Integer.src/M000009.html +12 -5
  105. data/ref/ruby/classes/Integer.src/M000010.html +5 -5
  106. data/ref/ruby/classes/Integer.src/M000011.html +5 -5
  107. data/ref/ruby/classes/Integer.src/M000012.html +5 -5
  108. data/ref/ruby/classes/Integer.src/M000013.html +5 -5
  109. data/ref/ruby/classes/Integer.src/M000014.html +18 -0
  110. data/ref/ruby/classes/Integer.src/M000017.html +12 -18
  111. data/ref/ruby/classes/Integer.src/M000018.html +18 -12
  112. data/ref/ruby/classes/Integer.src/M000019.html +12 -17
  113. data/ref/ruby/classes/Integer.src/M000020.html +30 -0
  114. data/ref/ruby/classes/RDoc.html +5 -5
  115. data/ref/ruby/classes/RDoc.src/{M000053.html → M000058.html} +0 -0
  116. data/ref/ruby/classes/{RubyVpi/Config.html → RubyVPI.html} +20 -6
  117. data/ref/ruby/classes/String.html +34 -15
  118. data/ref/ruby/classes/String.src/M000022.html +5 -28
  119. data/ref/ruby/classes/String.src/M000023.html +5 -5
  120. data/ref/ruby/classes/String.src/{M000021.html → M000024.html} +0 -0
  121. data/ref/ruby/classes/String.src/M000025.html +41 -0
  122. data/ref/ruby/classes/VerilogParser/Module/Port.html +16 -36
  123. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +10 -5
  124. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000004.html → M000007.html} +4 -4
  125. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000005.html → M000008.html} +4 -4
  126. data/ref/ruby/classes/VerilogParser/Module.html +28 -9
  127. data/ref/ruby/classes/VerilogParser/Module.src/M000005.html +29 -0
  128. data/ref/ruby/classes/VerilogParser.html +5 -39
  129. data/ref/ruby/classes/VerilogParser.src/M000004.html +26 -0
  130. data/ref/ruby/classes/Vpi/Handle.html +179 -77
  131. data/ref/ruby/classes/Vpi/Handle.src/M000035.html +18 -0
  132. data/ref/ruby/classes/Vpi/Handle.src/M000036.html +5 -5
  133. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +5 -5
  134. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +5 -5
  135. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +5 -5
  136. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +5 -8
  137. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +5 -8
  138. data/ref/ruby/classes/Vpi/Handle.src/M000042.html +5 -9
  139. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +8 -31
  140. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +8 -74
  141. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +9 -17
  142. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +31 -11
  143. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +86 -0
  144. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +17 -18
  145. data/ref/ruby/classes/Vpi/Handle.src/M000050.html +18 -0
  146. data/ref/ruby/classes/Vpi/Handle.src/M000051.html +24 -0
  147. data/ref/ruby/classes/Vpi/Handle.src/M000053.html +31 -0
  148. data/ref/ruby/classes/Vpi/Handle.src/M000054.html +89 -0
  149. data/ref/ruby/classes/Vpi/S_vpi_time.html +16 -16
  150. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000050.html → M000055.html} +4 -4
  151. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000051.html → M000056.html} +5 -5
  152. data/ref/ruby/classes/Vpi/S_vpi_value.html +15 -15
  153. data/ref/ruby/classes/Vpi/S_vpi_value.src/{M000035.html → M000032.html} +5 -5
  154. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +5 -5
  155. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +5 -5
  156. data/ref/ruby/classes/Vpi.html +6 -42
  157. data/ref/ruby/classes/Vpi.src/M000029.html +15 -5
  158. data/ref/ruby/classes/Vpi.src/M000030.html +24 -24
  159. data/ref/ruby/classes/Vpi.src/M000031.html +6 -8
  160. data/ref/ruby/created.rid +1 -1
  161. data/ref/ruby/files/bin/{header_to_ruby_rb.html → convert_rb.html} +5 -5
  162. data/ref/ruby/files/bin/{generate_test_rb.html → generate_rb.html} +8 -21
  163. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  164. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  165. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  166. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  167. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  168. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  169. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +197 -0
  170. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +17 -0
  171. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +18 -0
  172. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  173. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +6 -19
  174. data/ref/ruby/files/lib/ruby-vpi/util_rb.html +101 -0
  175. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +8 -1
  176. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  177. data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -14
  178. data/ref/ruby/fr_class_index.html +1 -3
  179. data/ref/ruby/fr_file_index.html +4 -2
  180. data/ref/ruby/fr_method_index.html +56 -51
  181. data/ref/ruby/index.html +1 -1
  182. data/samp/counter/RSpec/Rakefile +1 -0
  183. data/samp/counter/RSpec/counter_design.rb +15 -0
  184. data/samp/counter/RSpec/counter_proto.rb +10 -0
  185. data/samp/counter/RSpec/counter_runner.rake +44 -0
  186. data/samp/counter/RSpec/counter_spec.rb +39 -0
  187. data/samp/counter/Rakefile +1 -1
  188. data/samp/counter/counter.v +7 -7
  189. data/samp/counter/xUnit/Rakefile +1 -0
  190. data/samp/counter/xUnit/counter_bench.rb +95 -0
  191. data/samp/counter/{counter_xunit_bench.v → xUnit/counter_bench.v} +0 -0
  192. data/samp/counter/xUnit/counter_design.rb +15 -0
  193. data/samp/counter/xUnit/counter_proto.rb +10 -0
  194. data/samp/counter/xUnit/counter_runner.rake +44 -0
  195. data/samp/counter/{counter_xunit_spec.rb → xUnit/counter_spec.rb} +9 -9
  196. data/samp/pipelined_alu/Rakefile +1 -1
  197. data/samp/pipelined_alu/TestHw5UnitModel.rb +4 -5
  198. data/samp/pipelined_alu/hw5_unit.v +55 -85
  199. data/samp/pipelined_alu/hw5_unit_design.rb +51 -0
  200. data/samp/pipelined_alu/hw5_unit_proto.rb +4 -0
  201. data/samp/pipelined_alu/hw5_unit_runner.rake +43 -0
  202. data/samp/pipelined_alu/hw5_unit_spec.rb +64 -0
  203. data/samp/register_file/LICENSE +20 -0
  204. data/samp/register_file/README +4 -0
  205. data/samp/register_file/Rakefile +1 -0
  206. data/samp/register_file/register_file.v +18 -0
  207. data/samp/register_file/register_file_design.rb +11 -0
  208. data/samp/register_file/register_file_proto.rb +11 -0
  209. data/samp/register_file/register_file_runner.rake +43 -0
  210. data/samp/register_file/register_file_spec.rb +58 -0
  211. metadata +78 -66
  212. data/bin/generate_test.rb +0 -200
  213. data/bin/generate_test_tpl/bench.rb +0 -89
  214. data/bin/generate_test_tpl/bench.v +0 -26
  215. data/bin/generate_test_tpl/design.rb +0 -11
  216. data/bin/generate_test_tpl/proto.rb +0 -16
  217. data/bin/generate_test_tpl/runner.rake +0 -42
  218. data/bin/generate_test_tpl/spec.rb +0 -37
  219. data/bin/header_to_ruby.rb +0 -27
  220. data/ref/ruby/classes/Integer.src/M000008.html +0 -25
  221. data/ref/ruby/classes/Integer.src/M000016.html +0 -25
  222. data/ref/ruby/classes/RubyVpi.html +0 -199
  223. data/ref/ruby/classes/RubyVpi.src/M000027.html +0 -121
  224. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +0 -160
  225. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000007.html +0 -19
  226. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000003.html +0 -21
  227. data/ref/ruby/classes/VerilogParser/Module.src/M000002.html +0 -34
  228. data/ref/ruby/classes/VerilogParser.src/M000001.html +0 -34
  229. data/ref/ruby/classes/Vpi/Handle.src/M000049.html +0 -69
  230. data/ref/ruby/classes/Vpi.src/M000028.html +0 -28
  231. data/ref/ruby/classes/Vpi.src/M000032.html +0 -22
  232. data/samp/counter/counter_rspec_bench.rb +0 -86
  233. data/samp/counter/counter_rspec_bench.v +0 -9
  234. data/samp/counter/counter_rspec_design.rb +0 -8
  235. data/samp/counter/counter_rspec_proto.rb +0 -13
  236. data/samp/counter/counter_rspec_runner.rake +0 -52
  237. data/samp/counter/counter_rspec_spec.rb +0 -39
  238. data/samp/counter/counter_xunit_bench.rb +0 -86
  239. data/samp/counter/counter_xunit_design.rb +0 -8
  240. data/samp/counter/counter_xunit_proto.rb +0 -13
  241. data/samp/counter/counter_xunit_runner.rake +0 -52
  242. data/samp/pipelined_alu/hw5_unit_test_bench.rb +0 -86
  243. data/samp/pipelined_alu/hw5_unit_test_bench.v +0 -14
  244. data/samp/pipelined_alu/hw5_unit_test_design.rb +0 -61
  245. data/samp/pipelined_alu/hw5_unit_test_proto.rb +0 -7
  246. data/samp/pipelined_alu/hw5_unit_test_runner.rake +0 -52
  247. data/samp/pipelined_alu/hw5_unit_test_spec.rb +0 -68
@@ -86,7 +86,7 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000002">new</a>&nbsp;&nbsp;
89
+ <a href="#M000005">new</a>&nbsp;&nbsp;
90
90
  </div>
91
91
  </div>
92
92
 
@@ -100,8 +100,7 @@
100
100
  <div id="class-list">
101
101
  <h3 class="section-bar">Classes and Modules</h3>
102
102
 
103
- Class <a href="Module/Parameter.html" class="link">VerilogParser::Module::Parameter</a><br />
104
- Class <a href="Module/Port.html" class="link">VerilogParser::Module::Port</a><br />
103
+ Class <a href="Module/Port.html" class="link">VerilogParser::Module::Port</a><br />
105
104
 
106
105
  </div>
107
106
 
@@ -113,18 +112,33 @@ Class <a href="Module/Port.html" class="link">VerilogParser::Module::Port</a><br
113
112
 
114
113
  <div class="name-list">
115
114
  <table>
115
+ <tr class="top-aligned-row context-row">
116
+ <td class="context-item-name">body</td>
117
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
118
+ <td class="context-item-desc"></td>
119
+ </tr>
120
+ <tr class="top-aligned-row context-row">
121
+ <td class="context-item-name">clock_port</td>
122
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
123
+ <td class="context-item-desc"></td>
124
+ </tr>
116
125
  <tr class="top-aligned-row context-row">
117
126
  <td class="context-item-name">decl</td>
118
127
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
119
128
  <td class="context-item-desc"></td>
120
129
  </tr>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">input_ports</td>
132
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
133
+ <td class="context-item-desc"></td>
134
+ </tr>
121
135
  <tr class="top-aligned-row context-row">
122
136
  <td class="context-item-name">name</td>
123
137
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
124
138
  <td class="context-item-desc"></td>
125
139
  </tr>
126
140
  <tr class="top-aligned-row context-row">
127
- <td class="context-item-name">parameters</td>
141
+ <td class="context-item-name">output_ports</td>
128
142
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
129
143
  <td class="context-item-desc"></td>
130
144
  </tr>
@@ -133,6 +147,11 @@ Class <a href="Module/Port.html" class="link">VerilogParser::Module::Port</a><br
133
147
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
134
148
  <td class="context-item-desc"></td>
135
149
  </tr>
150
+ <tr class="top-aligned-row context-row">
151
+ <td class="context-item-name">reset_port</td>
152
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
153
+ <td class="context-item-desc"></td>
154
+ </tr>
136
155
  </table>
137
156
  </div>
138
157
  </div>
@@ -143,13 +162,13 @@ Class <a href="Module/Port.html" class="link">VerilogParser::Module::Port</a><br
143
162
  <div id="methods">
144
163
  <h3 class="section-bar">Public Class methods</h3>
145
164
 
146
- <div id="method-M000002" class="method-detail">
147
- <a name="M000002"></a>
165
+ <div id="method-M000005" class="method-detail">
166
+ <a name="M000005"></a>
148
167
 
149
168
  <div class="method-heading">
150
- <a href="Module.src/M000002.html" target="Code" class="method-signature"
151
- onclick="popupCode('Module.src/M000002.html');return false;">
152
- <span class="method-name">new</span><span class="method-args">(aDecl)</span>
169
+ <a href="Module.src/M000005.html" target="Code" class="method-signature"
170
+ onclick="popupCode('Module.src/M000005.html');return false;">
171
+ <span class="method-name">new</span><span class="method-args">(aDecl, aBody)</span>
153
172
  </a>
154
173
  </div>
155
174
 
@@ -0,0 +1,29 @@
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>new (VerilogParser::Module)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/verilog_parser.rb, line 29</span>
14
+ 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">aDecl</span>, <span class="ruby-identifier">aBody</span>
15
+ 30: <span class="ruby-ivar">@decl</span> = <span class="ruby-identifier">aDecl</span>.<span class="ruby-identifier">strip</span>
16
+ 31: <span class="ruby-ivar">@body</span> = <span class="ruby-identifier">aBody</span>
17
+ 32:
18
+ 33: <span class="ruby-ivar">@decl</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">%r{module\s+(\w+)\s*(?:\#\(.*?\))?\s*(?:\((.*?)\))?\s*;}</span><span class="ruby-identifier">m</span>
19
+ 34: <span class="ruby-ivar">@name</span>, <span class="ruby-identifier">portDecls</span> = <span class="ruby-identifier">$1</span>, <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">to_s</span>
20
+ 35:
21
+ 36: <span class="ruby-ivar">@ports</span> = <span class="ruby-identifier">portDecls</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">','</span>).<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">decl</span><span class="ruby-operator">|</span> <span class="ruby-constant">Port</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">decl</span>, <span class="ruby-keyword kw">self</span>}
22
+ 37: <span class="ruby-ivar">@input_ports</span> = <span class="ruby-ivar">@ports</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">input?</span>}
23
+ 38: <span class="ruby-ivar">@output_ports</span> = <span class="ruby-ivar">@ports</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">output?</span>}
24
+ 39:
25
+ 40: <span class="ruby-ivar">@clock_port</span> = <span class="ruby-ivar">@ports</span>.<span class="ruby-identifier">find</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/clock|clo?c?k/i</span>}
26
+ 41: <span class="ruby-ivar">@reset_port</span> = <span class="ruby-ivar">@ports</span>.<span class="ruby-identifier">find</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/reset|re?se?t/i</span>}
27
+ 42: <span class="ruby-keyword kw">end</span></pre>
28
+ </body>
29
+ </html>
@@ -78,12 +78,6 @@
78
78
 
79
79
  <div id="contextContent">
80
80
 
81
- <div id="description">
82
- <p>
83
- A library for parsing Verilog source code.
84
- </p>
85
-
86
- </div>
87
81
 
88
82
 
89
83
  </div>
@@ -92,7 +86,7 @@ A library for parsing Verilog source code.
92
86
  <h3 class="section-bar">Methods</h3>
93
87
 
94
88
  <div class="name-list">
95
- <a href="#M000001">new</a>&nbsp;&nbsp;
89
+ <a href="#M000004">new</a>&nbsp;&nbsp;
96
90
  </div>
97
91
  </div>
98
92
 
@@ -110,24 +104,6 @@ A library for parsing Verilog source code.
110
104
 
111
105
  </div>
112
106
 
113
- <div id="constants-list">
114
- <h3 class="section-bar">Constants</h3>
115
-
116
- <div class="name-list">
117
- <table summary="Constants">
118
- <tr class="top-aligned-row context-row">
119
- <td class="context-item-name">Constant</td>
120
- <td>=</td>
121
- <td class="context-item-value">Struct.new(:decl, :name, :value)</td>
122
- </tr>
123
- <tr class="top-aligned-row context-row">
124
- <td class="context-item-name">Include</td>
125
- <td>=</td>
126
- <td class="context-item-value">Struct.new(:decl, :target)</td>
127
- </tr>
128
- </table>
129
- </div>
130
- </div>
131
107
 
132
108
 
133
109
 
@@ -136,16 +112,6 @@ A library for parsing Verilog source code.
136
112
 
137
113
  <div class="name-list">
138
114
  <table>
139
- <tr class="top-aligned-row context-row">
140
- <td class="context-item-name">constants</td>
141
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
142
- <td class="context-item-desc"></td>
143
- </tr>
144
- <tr class="top-aligned-row context-row">
145
- <td class="context-item-name">includes</td>
146
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
147
- <td class="context-item-desc"></td>
148
- </tr>
149
115
  <tr class="top-aligned-row context-row">
150
116
  <td class="context-item-name">modules</td>
151
117
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
@@ -161,12 +127,12 @@ A library for parsing Verilog source code.
161
127
  <div id="methods">
162
128
  <h3 class="section-bar">Public Class methods</h3>
163
129
 
164
- <div id="method-M000001" class="method-detail">
165
- <a name="M000001"></a>
130
+ <div id="method-M000004" class="method-detail">
131
+ <a name="M000004"></a>
166
132
 
167
133
  <div class="method-heading">
168
- <a href="VerilogParser.src/M000001.html" target="Code" class="method-signature"
169
- onclick="popupCode('VerilogParser.src/M000001.html');return false;">
134
+ <a href="VerilogParser.src/M000004.html" target="Code" class="method-signature"
135
+ onclick="popupCode('VerilogParser.src/M000004.html');return false;">
170
136
  <span class="method-name">new</span><span class="method-args">(aInput)</span>
171
137
  </a>
172
138
  </div>
@@ -0,0 +1,26 @@
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>new (VerilogParser)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/ruby-vpi/verilog_parser.rb, line 12</span>
14
+ 12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">aInput</span>
15
+ 13: <span class="ruby-identifier">input</span> = <span class="ruby-identifier">aInput</span>.<span class="ruby-identifier">dup</span>
16
+ 14:
17
+ 15: <span class="ruby-comment cmt"># strip comments</span>
18
+ 16: <span class="ruby-identifier">input</span>.<span class="ruby-identifier">gsub!</span> <span class="ruby-regexp re">%r{//.*$}</span>, <span class="ruby-value str">''</span>
19
+ 17: <span class="ruby-identifier">input</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">''</span>
20
+ 18:
21
+ 19: <span class="ruby-ivar">@modules</span> = <span class="ruby-identifier">input</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">%r{(module.*?;)(.*?)endmodule}</span><span class="ruby-identifier">m</span>).<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">matches</span><span class="ruby-operator">|</span>
22
+ 20: <span class="ruby-constant">Module</span>.<span class="ruby-identifier">new</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">matches</span>)
23
+ 21: <span class="ruby-keyword kw">end</span>
24
+ 22: <span class="ruby-keyword kw">end</span></pre>
25
+ </body>
26
+ </html>
@@ -80,12 +80,9 @@
80
80
 
81
81
  <div id="description">
82
82
  <p>
83
- An object inside a Verilog simulation (see <b>vpiHandle</b> in IEEE Std.
84
- 1364-2005).
85
- </p>
86
- <p>
87
- VPI types and properties listed in ext/vpi_user.h can be specified by their
88
- names (strings or symbols) or integer constants.
83
+ A handle is an object inside a Verilog simulation (see <b>vpiHandle</b> in
84
+ IEEE Std. 1364-2005). VPI types and properties listed in ext/vpi_user.h can
85
+ be specified by their names (strings or symbols) or integer constants.
89
86
  </p>
90
87
  <h1>Example names</h1>
91
88
  <ul>
@@ -130,20 +127,26 @@ names (strings or symbols) or integer constants.
130
127
  <h3 class="section-bar">Methods</h3>
131
128
 
132
129
  <div class="name-list">
133
- <a href="#M000045">[]</a>&nbsp;&nbsp;
134
- <a href="#M000048">cbValueChange</a>&nbsp;&nbsp;
135
- <a href="#M000043">get_value</a>&nbsp;&nbsp;
136
- <a href="#M000042">get_value_wrapper</a>&nbsp;&nbsp;
137
- <a href="#M000046">inspect</a>&nbsp;&nbsp;
138
- <a href="#M000049">method_missing</a>&nbsp;&nbsp;
139
- <a href="#M000041">negedge?</a>&nbsp;&nbsp;
140
- <a href="#M000040">posedge?</a>&nbsp;&nbsp;
141
- <a href="#M000044">put_value</a>&nbsp;&nbsp;
142
- <a href="#M000047">to_s</a>&nbsp;&nbsp;
143
- <a href="#M000037">x!</a>&nbsp;&nbsp;
144
- <a href="#M000036">x?</a>&nbsp;&nbsp;
145
- <a href="#M000039">z!</a>&nbsp;&nbsp;
146
- <a href="#M000038">z?</a>&nbsp;&nbsp;
130
+ <a href="#M000050">&lt;=&gt;</a>&nbsp;&nbsp;
131
+ <a href="#M000048">[]</a>&nbsp;&nbsp;
132
+ <a href="#M000053">cbValueChange</a>&nbsp;&nbsp;
133
+ <a href="#M000046">get_value</a>&nbsp;&nbsp;
134
+ <a href="#M000045">get_value_wrapper</a>&nbsp;&nbsp;
135
+ <a href="#M000040">high!</a>&nbsp;&nbsp;
136
+ <a href="#M000039">high?</a>&nbsp;&nbsp;
137
+ <a href="#M000051">inspect</a>&nbsp;&nbsp;
138
+ <a href="#M000042">low!</a>&nbsp;&nbsp;
139
+ <a href="#M000041">low?</a>&nbsp;&nbsp;
140
+ <a href="#M000054">method_missing</a>&nbsp;&nbsp;
141
+ <a href="#M000044">negedge?</a>&nbsp;&nbsp;
142
+ <a href="#M000043">posedge?</a>&nbsp;&nbsp;
143
+ <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;
146
+ <a href="#M000036">x!</a>&nbsp;&nbsp;
147
+ <a href="#M000035">x?</a>&nbsp;&nbsp;
148
+ <a href="#M000038">z!</a>&nbsp;&nbsp;
149
+ <a href="#M000037">z?</a>&nbsp;&nbsp;
147
150
  </div>
148
151
  </div>
149
152
 
@@ -170,7 +173,7 @@ names (strings or symbols) or integer constants.
170
173
  <tr class="top-aligned-row context-row">
171
174
  <td class="context-item-name">Property</td>
172
175
  <td>=</td>
173
- <td class="context-item-value">Struct.new :type, :name, :operation, :accessor, :assignment</td>
176
+ <td class="context-item-value">Struct.new(:type, :name, :operation, :accessor, :assignment)</td>
174
177
  </tr>
175
178
  </table>
176
179
  </div>
@@ -185,20 +188,19 @@ names (strings or symbols) or integer constants.
185
188
  <div id="methods">
186
189
  <h3 class="section-bar">Public Instance methods</h3>
187
190
 
188
- <div id="method-M000045" class="method-detail">
189
- <a name="M000045"></a>
191
+ <div id="method-M000050" class="method-detail">
192
+ <a name="M000050"></a>
190
193
 
191
194
  <div class="method-heading">
192
- <a href="Handle.src/M000045.html" target="Code" class="method-signature"
193
- onclick="popupCode('Handle.src/M000045.html');return false;">
194
- <span class="method-name">[]</span><span class="method-args">(*aTypes)</span>
195
+ <a href="Handle.src/M000050.html" target="Code" class="method-signature"
196
+ onclick="popupCode('Handle.src/M000050.html');return false;">
197
+ <span class="method-name">&lt;=&gt;</span><span class="method-args">(other)</span>
195
198
  </a>
196
199
  </div>
197
200
 
198
201
  <div class="method-description">
199
202
  <p>
200
- Returns an array of child handles of the given types (name or integer
201
- constant).
203
+ Sort by absolute VPI path.
202
204
  </p>
203
205
  </div>
204
206
  </div>
@@ -209,6 +211,24 @@ constant).
209
211
  <div class="method-heading">
210
212
  <a href="Handle.src/M000048.html" target="Code" class="method-signature"
211
213
  onclick="popupCode('Handle.src/M000048.html');return false;">
214
+ <span class="method-name">[]</span><span class="method-args">(*aTypes)</span>
215
+ </a>
216
+ </div>
217
+
218
+ <div class="method-description">
219
+ <p>
220
+ Returns an array of child handles of the given types (name or integer
221
+ constant).
222
+ </p>
223
+ </div>
224
+ </div>
225
+
226
+ <div id="method-M000053" class="method-detail">
227
+ <a name="M000053"></a>
228
+
229
+ <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;">
212
232
  <span class="method-name">cbValueChange</span><span class="method-args">(aOptions = {})</span>
213
233
  </a>
214
234
  </div>
@@ -221,12 +241,12 @@ changes.
221
241
  </div>
222
242
  </div>
223
243
 
224
- <div id="method-M000043" class="method-detail">
225
- <a name="M000043"></a>
244
+ <div id="method-M000046" class="method-detail">
245
+ <a name="M000046"></a>
226
246
 
227
247
  <div class="method-heading">
228
- <a href="Handle.src/M000043.html" target="Code" class="method-signature"
229
- onclick="popupCode('Handle.src/M000043.html');return false;">
248
+ <a href="Handle.src/M000046.html" target="Code" class="method-signature"
249
+ onclick="popupCode('Handle.src/M000046.html');return false;">
230
250
  <span class="method-name">get_value</span><span class="method-args">(aFormat = VpiObjTypeVal)</span>
231
251
  </a>
232
252
  </div>
@@ -240,12 +260,12 @@ attempt to determine the correct format.
240
260
  </div>
241
261
  </div>
242
262
 
243
- <div id="method-M000042" class="method-detail">
244
- <a name="M000042"></a>
263
+ <div id="method-M000045" class="method-detail">
264
+ <a name="M000045"></a>
245
265
 
246
266
  <div class="method-heading">
247
- <a href="Handle.src/M000042.html" target="Code" class="method-signature"
248
- onclick="popupCode('Handle.src/M000042.html');return false;">
267
+ <a href="Handle.src/M000045.html" target="Code" class="method-signature"
268
+ onclick="popupCode('Handle.src/M000045.html');return false;">
249
269
  <span class="method-name">get_value_wrapper</span><span class="method-args">(aFormat)</span>
250
270
  </a>
251
271
  </div>
@@ -258,12 +278,46 @@ Reads the value using the given format (integer constant) and returns a
258
278
  </div>
259
279
  </div>
260
280
 
261
- <div id="method-M000046" class="method-detail">
262
- <a name="M000046"></a>
281
+ <div id="method-M000040" class="method-detail">
282
+ <a name="M000040"></a>
263
283
 
264
284
  <div class="method-heading">
265
- <a href="Handle.src/M000046.html" target="Code" class="method-signature"
266
- onclick="popupCode('Handle.src/M000046.html');return false;">
285
+ <a href="Handle.src/M000040.html" target="Code" class="method-signature"
286
+ onclick="popupCode('Handle.src/M000040.html');return false;">
287
+ <span class="method-name">high!</span><span class="method-args">()</span>
288
+ </a>
289
+ </div>
290
+
291
+ <div class="method-description">
292
+ <p>
293
+ Sets the logic value of this handle to &quot;logic high&quot; level.
294
+ </p>
295
+ </div>
296
+ </div>
297
+
298
+ <div id="method-M000039" class="method-detail">
299
+ <a name="M000039"></a>
300
+
301
+ <div class="method-heading">
302
+ <a href="Handle.src/M000039.html" target="Code" class="method-signature"
303
+ onclick="popupCode('Handle.src/M000039.html');return false;">
304
+ <span class="method-name">high?</span><span class="method-args">()</span>
305
+ </a>
306
+ </div>
307
+
308
+ <div class="method-description">
309
+ <p>
310
+ Tests if the logic value of this handle is at &quot;logic high&quot; level.
311
+ </p>
312
+ </div>
313
+ </div>
314
+
315
+ <div id="method-M000051" class="method-detail">
316
+ <a name="M000051"></a>
317
+
318
+ <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;">
267
321
  <span class="method-name">inspect</span><span class="method-args">(*aPropNames)</span>
268
322
  </a>
269
323
  </div>
@@ -276,12 +330,46 @@ handles.
276
330
  </div>
277
331
  </div>
278
332
 
279
- <div id="method-M000049" class="method-detail">
280
- <a name="M000049"></a>
333
+ <div id="method-M000042" class="method-detail">
334
+ <a name="M000042"></a>
335
+
336
+ <div class="method-heading">
337
+ <a href="Handle.src/M000042.html" target="Code" class="method-signature"
338
+ onclick="popupCode('Handle.src/M000042.html');return false;">
339
+ <span class="method-name">low!</span><span class="method-args">()</span>
340
+ </a>
341
+ </div>
342
+
343
+ <div class="method-description">
344
+ <p>
345
+ Sets the logic value of this handle to &quot;logic low&quot; level.
346
+ </p>
347
+ </div>
348
+ </div>
349
+
350
+ <div id="method-M000041" class="method-detail">
351
+ <a name="M000041"></a>
281
352
 
282
353
  <div class="method-heading">
283
- <a href="Handle.src/M000049.html" target="Code" class="method-signature"
284
- onclick="popupCode('Handle.src/M000049.html');return false;">
354
+ <a href="Handle.src/M000041.html" target="Code" class="method-signature"
355
+ onclick="popupCode('Handle.src/M000041.html');return false;">
356
+ <span class="method-name">low?</span><span class="method-args">()</span>
357
+ </a>
358
+ </div>
359
+
360
+ <div class="method-description">
361
+ <p>
362
+ Tests if the logic value of this handle is at &quot;logic low&quot; level.
363
+ </p>
364
+ </div>
365
+ </div>
366
+
367
+ <div id="method-M000054" class="method-detail">
368
+ <a name="M000054"></a>
369
+
370
+ <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;">
285
373
  <span class="method-name">method_missing</span><span class="method-args">(aMeth, *aArgs, &amp;aBlockArg)</span>
286
374
  </a>
287
375
  </div>
@@ -292,18 +380,18 @@ Provides access to this handle&#8216;s (1) child handles and (2) VPI
292
380
  properties through method calls. In the case that a child handle has the
293
381
  same name as a VPI property, the child handle will be accessed instead of
294
382
  the VPI property. However, you can still access the VPI property via <a
295
- href="Handle.html#M000043">get_value</a> and <a
296
- href="Handle.html#M000044">put_value</a>.
383
+ href="Handle.html#M000046">get_value</a> and <a
384
+ href="Handle.html#M000047">put_value</a>.
297
385
  </p>
298
386
  </div>
299
387
  </div>
300
388
 
301
- <div id="method-M000041" class="method-detail">
302
- <a name="M000041"></a>
389
+ <div id="method-M000044" class="method-detail">
390
+ <a name="M000044"></a>
303
391
 
304
392
  <div class="method-heading">
305
- <a href="Handle.src/M000041.html" target="Code" class="method-signature"
306
- onclick="popupCode('Handle.src/M000041.html');return false;">
393
+ <a href="Handle.src/M000044.html" target="Code" class="method-signature"
394
+ onclick="popupCode('Handle.src/M000044.html');return false;">
307
395
  <span class="method-name">negedge?</span><span class="method-args">()</span>
308
396
  </a>
309
397
  </div>
@@ -315,12 +403,12 @@ Tests if the logic value of this handle is currently at a negative edge.
315
403
  </div>
316
404
  </div>
317
405
 
318
- <div id="method-M000040" class="method-detail">
319
- <a name="M000040"></a>
406
+ <div id="method-M000043" class="method-detail">
407
+ <a name="M000043"></a>
320
408
 
321
409
  <div class="method-heading">
322
- <a href="Handle.src/M000040.html" target="Code" class="method-signature"
323
- onclick="popupCode('Handle.src/M000040.html');return false;">
410
+ <a href="Handle.src/M000043.html" target="Code" class="method-signature"
411
+ onclick="popupCode('Handle.src/M000043.html');return false;">
324
412
  <span class="method-name">posedge?</span><span class="method-args">()</span>
325
413
  </a>
326
414
  </div>
@@ -332,12 +420,12 @@ Tests if the logic value of this handle is currently at a positive edge.
332
420
  </div>
333
421
  </div>
334
422
 
335
- <div id="method-M000044" class="method-detail">
336
- <a name="M000044"></a>
423
+ <div id="method-M000047" class="method-detail">
424
+ <a name="M000047"></a>
337
425
 
338
426
  <div class="method-heading">
339
- <a href="Handle.src/M000044.html" target="Code" class="method-signature"
340
- onclick="popupCode('Handle.src/M000044.html');return false;">
427
+ <a href="Handle.src/M000047.html" target="Code" class="method-signature"
428
+ onclick="popupCode('Handle.src/M000047.html');return false;">
341
429
  <span class="method-name">put_value</span><span class="method-args">(aValue, aFormat = nil, aTime = nil, aDelay = VpiNoDelay)</span>
342
430
  </a>
343
431
  </div>
@@ -352,33 +440,30 @@ format.
352
440
  </div>
353
441
  </div>
354
442
 
355
- <div id="method-M000047" class="method-detail">
356
- <a name="M000047"></a>
443
+ <div id="method-M000049" class="method-detail">
444
+ <a name="M000049"></a>
357
445
 
358
446
  <div class="method-heading">
359
- <span class="method-name">to_s</span><span class="method-args">(*aPropNames)</span>
447
+ <span class="method-name">to_a</span><span class="method-args">(*aTypes)</span>
360
448
  </div>
361
449
 
362
450
  <div class="method-description">
363
451
  <p>
364
- Alias for <a href="Handle.html#M000046">inspect</a>
452
+ Alias for #[]
365
453
  </p>
366
454
  </div>
367
455
  </div>
368
456
 
369
- <div id="method-M000037" class="method-detail">
370
- <a name="M000037"></a>
457
+ <div id="method-M000052" class="method-detail">
458
+ <a name="M000052"></a>
371
459
 
372
460
  <div class="method-heading">
373
- <a href="Handle.src/M000037.html" target="Code" class="method-signature"
374
- onclick="popupCode('Handle.src/M000037.html');return false;">
375
- <span class="method-name">x!</span><span class="method-args">()</span>
376
- </a>
461
+ <span class="method-name">to_s</span><span class="method-args">(*aPropNames)</span>
377
462
  </div>
378
463
 
379
464
  <div class="method-description">
380
465
  <p>
381
- Sets the logic value of this handle to unknown (x).
466
+ Alias for <a href="Handle.html#M000051">inspect</a>
382
467
  </p>
383
468
  </div>
384
469
  </div>
@@ -389,30 +474,30 @@ Sets the logic value of this handle to unknown (x).
389
474
  <div class="method-heading">
390
475
  <a href="Handle.src/M000036.html" target="Code" class="method-signature"
391
476
  onclick="popupCode('Handle.src/M000036.html');return false;">
392
- <span class="method-name">x?</span><span class="method-args">()</span>
477
+ <span class="method-name">x!</span><span class="method-args">()</span>
393
478
  </a>
394
479
  </div>
395
480
 
396
481
  <div class="method-description">
397
482
  <p>
398
- Tests if the logic value of this handle is unknown (x).
483
+ Sets the logic value of this handle to unknown (x).
399
484
  </p>
400
485
  </div>
401
486
  </div>
402
487
 
403
- <div id="method-M000039" class="method-detail">
404
- <a name="M000039"></a>
488
+ <div id="method-M000035" class="method-detail">
489
+ <a name="M000035"></a>
405
490
 
406
491
  <div class="method-heading">
407
- <a href="Handle.src/M000039.html" target="Code" class="method-signature"
408
- onclick="popupCode('Handle.src/M000039.html');return false;">
409
- <span class="method-name">z!</span><span class="method-args">()</span>
492
+ <a href="Handle.src/M000035.html" target="Code" class="method-signature"
493
+ onclick="popupCode('Handle.src/M000035.html');return false;">
494
+ <span class="method-name">x?</span><span class="method-args">()</span>
410
495
  </a>
411
496
  </div>
412
497
 
413
498
  <div class="method-description">
414
499
  <p>
415
- Sets the logic value of this handle to high impedance (z).
500
+ Tests if the logic value of this handle is unknown (x).
416
501
  </p>
417
502
  </div>
418
503
  </div>
@@ -423,6 +508,23 @@ Sets the logic value of this handle to high impedance (z).
423
508
  <div class="method-heading">
424
509
  <a href="Handle.src/M000038.html" target="Code" class="method-signature"
425
510
  onclick="popupCode('Handle.src/M000038.html');return false;">
511
+ <span class="method-name">z!</span><span class="method-args">()</span>
512
+ </a>
513
+ </div>
514
+
515
+ <div class="method-description">
516
+ <p>
517
+ Sets the logic value of this handle to high impedance (z).
518
+ </p>
519
+ </div>
520
+ </div>
521
+
522
+ <div id="method-M000037" class="method-detail">
523
+ <a name="M000037"></a>
524
+
525
+ <div class="method-heading">
526
+ <a href="Handle.src/M000037.html" target="Code" class="method-signature"
527
+ onclick="popupCode('Handle.src/M000037.html');return false;">
426
528
  <span class="method-name">z?</span><span class="method-args">()</span>
427
529
  </a>
428
530
  </div>