ruby-vpi 16.0.1 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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>