ruby-vpi 11.0.0 → 11.1.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 (260) hide show
  1. data/HEADER +15 -14
  2. data/HISTORY +36 -1
  3. data/MEMO +17 -14
  4. data/README +2 -19
  5. data/Rakefile +1 -2
  6. data/bin/generate_test.rb +4 -4
  7. data/bin/generate_test_tpl/bench.rb +1 -0
  8. data/bin/generate_test_tpl/bench.v +1 -1
  9. data/bin/header_to_ruby.rb +2 -2
  10. data/doc/background.organization.html +1 -1
  11. data/doc/hacking.html +3 -0
  12. data/doc/hacking.release-packages.html +7 -0
  13. data/doc/index.html +2 -2
  14. data/doc/manual.txt +69 -13
  15. data/doc/problem.ivl.html +3 -3
  16. data/doc/problems.html +1 -1
  17. data/doc/problems.ruby.html +1 -1
  18. data/doc/problems.vsim.html +1 -1
  19. data/doc/setup.installation.html +1 -1
  20. data/doc/src/manual.xml +130 -20
  21. data/doc/usage.examples.html +1 -1
  22. data/doc/usage.tutorial.html +1 -1
  23. data/header.html +15 -14
  24. data/header.part.html +15 -14
  25. data/history.html +88 -15
  26. data/history.part.html +73 -1
  27. data/lib/ruby-vpi.rb +5 -5
  28. data/lib/ruby-vpi/verilog_parser.rb +1 -1
  29. data/lib/ruby-vpi/vpi.rb +184 -169
  30. data/memo.html +44 -38
  31. data/memo.part.html +29 -24
  32. data/readme.html +17 -47
  33. data/readme.part.html +2 -33
  34. data/ref/c/annotated.html +40 -0
  35. data/ref/c/common_8h.html +146 -0
  36. data/ref/c/doxygen.css +358 -0
  37. data/ref/c/doxygen.png +0 -0
  38. data/ref/c/files.html +36 -0
  39. data/ref/c/functions.html +154 -0
  40. data/ref/c/functions_vars.html +154 -0
  41. data/ref/c/globals.html +261 -0
  42. data/ref/c/globals_0x62.html +62 -0
  43. data/ref/c/globals_0x63.html +103 -0
  44. data/ref/c/globals_0x65.html +62 -0
  45. data/ref/c/globals_0x66.html +72 -0
  46. data/ref/c/globals_0x67.html +64 -0
  47. data/ref/c/globals_0x69.html +62 -0
  48. data/ref/c/globals_0x6c.html +64 -0
  49. data/ref/c/globals_0x6d.html +62 -0
  50. data/ref/c/globals_0x6e.html +63 -0
  51. data/ref/c/globals_0x70.html +78 -0
  52. data/ref/c/globals_0x72.html +73 -0
  53. data/ref/c/globals_0x73.html +251 -0
  54. data/ref/c/globals_0x74.html +62 -0
  55. data/ref/c/globals_0x75.html +63 -0
  56. data/ref/c/globals_0x76.html +483 -0
  57. data/ref/c/globals_0x78.html +62 -0
  58. data/ref/c/globals_defs.html +86 -0
  59. data/ref/c/globals_defs_0x65.html +55 -0
  60. data/ref/c/globals_defs_0x6c.html +57 -0
  61. data/ref/c/globals_defs_0x6e.html +56 -0
  62. data/ref/c/globals_defs_0x70.html +56 -0
  63. data/ref/c/globals_defs_0x72.html +57 -0
  64. data/ref/c/globals_defs_0x73.html +164 -0
  65. data/ref/c/globals_defs_0x75.html +56 -0
  66. data/ref/c/globals_defs_0x76.html +470 -0
  67. data/ref/c/globals_defs_0x78.html +55 -0
  68. data/ref/c/globals_enum.html +39 -0
  69. data/ref/c/globals_eval.html +40 -0
  70. data/ref/c/globals_func.html +208 -0
  71. data/ref/c/globals_func_0x66.html +62 -0
  72. data/ref/c/globals_func_0x67.html +55 -0
  73. data/ref/c/globals_func_0x69.html +53 -0
  74. data/ref/c/globals_func_0x70.html +53 -0
  75. data/ref/c/globals_func_0x72.html +57 -0
  76. data/ref/c/globals_func_0x73.html +114 -0
  77. data/ref/c/globals_func_0x76.html +57 -0
  78. data/ref/c/globals_type.html +66 -0
  79. data/ref/c/globals_vars.html +126 -0
  80. data/ref/c/index.html +20 -0
  81. data/ref/c/relay_8c.html +214 -0
  82. data/ref/c/relay_8h.html +129 -0
  83. data/ref/c/structrelay____RubyOptions____def.html +67 -0
  84. data/ref/c/structswig__cast__info.html +98 -0
  85. data/ref/c/structswig__class.html +115 -0
  86. data/ref/c/structswig__module__info.html +132 -0
  87. data/ref/c/structswig__type__info.html +132 -0
  88. data/ref/c/structt__cb__data.html +168 -0
  89. data/ref/c/structt__vpi__delay.html +151 -0
  90. data/ref/c/structt__vpi__error__info.html +219 -0
  91. data/ref/c/structt__vpi__strengthval.html +83 -0
  92. data/ref/c/structt__vpi__systf__data.html +185 -0
  93. data/ref/c/structt__vpi__time.html +100 -0
  94. data/ref/c/structt__vpi__value.html +314 -0
  95. data/ref/c/structt__vpi__vecval.html +66 -0
  96. data/ref/c/structt__vpi__vlog__info.html +151 -0
  97. data/ref/c/swig_8c.html +80 -0
  98. data/ref/c/swig_8h.html +83 -0
  99. data/ref/c/swig__vpi_8h.html +8739 -0
  100. data/ref/c/swig__wrap_8cin.html +11556 -0
  101. data/ref/c/tab_b.gif +0 -0
  102. data/ref/c/tab_l.gif +0 -0
  103. data/ref/c/tab_r.gif +0 -0
  104. data/ref/c/tabs.css +102 -0
  105. data/ref/c/unions__vpi__value__value.html +166 -0
  106. data/ref/c/verilog_8h.html +117 -0
  107. data/ref/c/vlog_8c.html +168 -0
  108. data/ref/c/vlog_8h.html +128 -0
  109. data/ref/c/vpi__user_8h.html +8739 -0
  110. data/ref/ruby/classes/ERB.html +158 -0
  111. data/ref/ruby/classes/ERB.src/M000034.html +29 -0
  112. data/ref/ruby/classes/FileUtils.html +165 -0
  113. data/ref/ruby/classes/FileUtils.src/M000081.html +18 -0
  114. data/ref/ruby/classes/FileUtils.src/M000082.html +18 -0
  115. data/ref/ruby/classes/Integer.html +398 -0
  116. data/ref/ruby/classes/Integer.src/M000012.html +25 -0
  117. data/ref/ruby/classes/Integer.src/M000013.html +18 -0
  118. data/ref/ruby/classes/Integer.src/M000014.html +18 -0
  119. data/ref/ruby/classes/Integer.src/M000015.html +18 -0
  120. data/ref/ruby/classes/Integer.src/M000016.html +18 -0
  121. data/ref/ruby/classes/Integer.src/M000017.html +18 -0
  122. data/ref/ruby/classes/Integer.src/M000020.html +22 -0
  123. data/ref/ruby/classes/Integer.src/M000021.html +22 -0
  124. data/ref/ruby/classes/Integer.src/M000022.html +25 -0
  125. data/ref/ruby/classes/Integer.src/M000023.html +31 -0
  126. data/ref/ruby/classes/Integer.src/M000024.html +25 -0
  127. data/ref/ruby/classes/Integer.src/M000025.html +30 -0
  128. data/ref/ruby/classes/OutputInfo.html +294 -0
  129. data/ref/ruby/classes/OutputInfo.src/M000030.html +50 -0
  130. data/ref/ruby/classes/RDoc.html +135 -0
  131. data/ref/ruby/classes/RDoc.src/M000095.html +40 -0
  132. data/ref/ruby/classes/RubyVpi.html +206 -0
  133. data/ref/ruby/classes/RubyVpi.src/M000083.html +78 -0
  134. data/ref/ruby/classes/RubyVpi.src/M000084.html +20 -0
  135. data/ref/ruby/classes/RubyVpi/Config.html +159 -0
  136. data/ref/ruby/classes/String.html +159 -0
  137. data/ref/ruby/classes/String.src/M000032.html +41 -0
  138. data/ref/ruby/classes/String.src/M000033.html +18 -0
  139. data/ref/ruby/classes/Table.html +191 -0
  140. data/ref/ruby/classes/Table.src/M000026.html +38 -0
  141. data/ref/ruby/classes/Table.src/M000027.html +18 -0
  142. data/ref/ruby/classes/Table.src/M000028.html +18 -0
  143. data/ref/ruby/classes/Table.src/M000029.html +18 -0
  144. data/ref/ruby/classes/Template.html +158 -0
  145. data/ref/ruby/classes/Template.src/M000031.html +18 -0
  146. data/ref/ruby/classes/VerilogParser.html +187 -0
  147. data/ref/ruby/classes/VerilogParser.src/M000005.html +34 -0
  148. data/ref/ruby/classes/VerilogParser/Module.html +172 -0
  149. data/ref/ruby/classes/VerilogParser/Module.src/M000006.html +29 -0
  150. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +160 -0
  151. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000011.html +21 -0
  152. data/ref/ruby/classes/VerilogParser/Module/Port.html +207 -0
  153. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000007.html +21 -0
  154. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000008.html +18 -0
  155. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000009.html +18 -0
  156. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000010.html +18 -0
  157. data/ref/ruby/classes/Vpi.html +124 -0
  158. data/ref/ruby/classes/Vpi/Handle.html +383 -0
  159. data/ref/ruby/classes/Vpi/Handle.src/M000085.html +18 -0
  160. data/ref/ruby/classes/Vpi/Handle.src/M000086.html +18 -0
  161. data/ref/ruby/classes/Vpi/Handle.src/M000087.html +22 -0
  162. data/ref/ruby/classes/Vpi/Handle.src/M000088.html +44 -0
  163. data/ref/ruby/classes/Vpi/Handle.src/M000089.html +87 -0
  164. data/ref/ruby/classes/Vpi/Handle.src/M000090.html +30 -0
  165. data/ref/ruby/classes/Vpi/Handle.src/M000091.html +24 -0
  166. data/ref/ruby/classes/Vpi/Handle.src/M000093.html +68 -0
  167. data/ref/ruby/classes/Vpi/Handle/Property.html +130 -0
  168. data/ref/ruby/classes/Vpi/Handle/Property.src/M000094.html +80 -0
  169. data/ref/ruby/classes/XX.html +138 -0
  170. data/ref/ruby/classes/XX/Document.html +295 -0
  171. data/ref/ruby/classes/XX/Document.src/M000072.html +22 -0
  172. data/ref/ruby/classes/XX/Document.src/M000073.html +20 -0
  173. data/ref/ruby/classes/XX/Document.src/M000074.html +20 -0
  174. data/ref/ruby/classes/XX/Document.src/M000075.html +20 -0
  175. data/ref/ruby/classes/XX/Document.src/M000076.html +22 -0
  176. data/ref/ruby/classes/XX/Document.src/M000077.html +21 -0
  177. data/ref/ruby/classes/XX/Document.src/M000078.html +21 -0
  178. data/ref/ruby/classes/XX/Document.src/M000079.html +34 -0
  179. data/ref/ruby/classes/XX/Document.src/M000080.html +98 -0
  180. data/ref/ruby/classes/XX/HTML4.html +145 -0
  181. data/ref/ruby/classes/XX/HTML4.src/M000036.html +20 -0
  182. data/ref/ruby/classes/XX/HTML4/Strict.html +138 -0
  183. data/ref/ruby/classes/XX/HTML4/Strict.src/M000038.html +20 -0
  184. data/ref/ruby/classes/XX/HTML4/Transitional.html +138 -0
  185. data/ref/ruby/classes/XX/HTML4/Transitional.src/M000037.html +20 -0
  186. data/ref/ruby/classes/XX/Markup.html +160 -0
  187. data/ref/ruby/classes/XX/Markup.src/M000043.html +28 -0
  188. data/ref/ruby/classes/XX/Markup/ClassMethods.html +236 -0
  189. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000044.html +22 -0
  190. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000045.html +20 -0
  191. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000046.html +25 -0
  192. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000047.html +20 -0
  193. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000048.html +27 -0
  194. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000049.html +20 -0
  195. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000050.html +27 -0
  196. data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000051.html +22 -0
  197. data/ref/ruby/classes/XX/Markup/Error.html +111 -0
  198. data/ref/ruby/classes/XX/Markup/InstanceMethods.html +474 -0
  199. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000052.html +56 -0
  200. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000053.html +33 -0
  201. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000054.html +31 -0
  202. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000055.html +48 -0
  203. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000056.html +20 -0
  204. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000057.html +31 -0
  205. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000058.html +32 -0
  206. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000059.html +32 -0
  207. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000060.html +28 -0
  208. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000061.html +23 -0
  209. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000062.html +26 -0
  210. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000063.html +20 -0
  211. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000064.html +20 -0
  212. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000065.html +20 -0
  213. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000066.html +20 -0
  214. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000067.html +20 -0
  215. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000068.html +21 -0
  216. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000069.html +20 -0
  217. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000070.html +20 -0
  218. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000071.html +20 -0
  219. data/ref/ruby/classes/XX/XHTML.html +145 -0
  220. data/ref/ruby/classes/XX/XHTML.src/M000039.html +36 -0
  221. data/ref/ruby/classes/XX/XHTML/Strict.html +138 -0
  222. data/ref/ruby/classes/XX/XHTML/Strict.src/M000041.html +20 -0
  223. data/ref/ruby/classes/XX/XHTML/Transitional.html +138 -0
  224. data/ref/ruby/classes/XX/XHTML/Transitional.src/M000040.html +20 -0
  225. data/ref/ruby/classes/XX/XML.html +138 -0
  226. data/ref/ruby/classes/XX/XML.src/M000035.html +20 -0
  227. data/ref/ruby/classes/XX/XMLish.html +138 -0
  228. data/ref/ruby/classes/XX/XMLish.src/M000042.html +18 -0
  229. data/ref/ruby/created.rid +1 -0
  230. data/ref/ruby/files/bin/generate_test_rb.html +248 -0
  231. data/ref/ruby/files/bin/generate_test_rb.src/M000001.html +18 -0
  232. data/ref/ruby/files/bin/generate_test_rb.src/M000002.html +40 -0
  233. data/ref/ruby/files/bin/header_to_ruby_rb.html +124 -0
  234. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +108 -0
  235. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +101 -0
  236. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +108 -0
  237. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +111 -0
  238. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +108 -0
  239. data/ref/ruby/files/lib/ruby-vpi/rspec_rb.html +115 -0
  240. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +108 -0
  241. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +208 -0
  242. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000003.html +24 -0
  243. data/ref/ruby/files/lib/ruby-vpi/runner_rb.src/M000004.html +26 -0
  244. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +107 -0
  245. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +108 -0
  246. data/ref/ruby/files/lib/ruby-vpi/xx_rb.html +148 -0
  247. data/ref/ruby/files/lib/ruby-vpi_rb.html +111 -0
  248. data/ref/ruby/fr_class_index.html +57 -0
  249. data/ref/ruby/fr_file_index.html +40 -0
  250. data/ref/ruby/fr_method_index.html +121 -0
  251. data/ref/ruby/index.html +24 -0
  252. data/ref/ruby/rdoc-style.css +208 -0
  253. data/samp/counter/counter_rspec_bench.rb +1 -0
  254. data/samp/counter/counter_rspec_bench.v +1 -1
  255. data/samp/counter/counter_xunit_bench.rb +1 -0
  256. data/samp/counter/counter_xunit_bench.v +1 -1
  257. data/samp/pipelined_alu/hw5_unit_test_bench.rb +1 -0
  258. data/samp/pipelined_alu/hw5_unit_test_bench.v +1 -1
  259. data/samp/pipelined_alu/int_gen.rb +6 -7
  260. metadata +269 -2
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. Known problems</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="index.html" title="Ruby-VPI user manual" /><link rel="prev" href="usage.examples.html" title="Examples" /><link rel="next" href="problems.ruby.html" title="Ruby" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. Known problems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="usage.examples.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="problems.ruby.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="problems"></a>Chapter 5. Known problems</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="problems.ruby.html">Ruby</a></span></dt><dd><dl><dt><span class="section"><a href="problems.ruby.html#problems.ruby.SystemStackError">SystemStackError</a></span></dt><dt><span class="section"><a href="problems.ruby.html#problems.ruby.xUnit">test/unit</a></span></dt></dl></dd><dt><span class="section"><a href="problem.ivl.html">Icarus Verilog</a></span></dt><dd><dl><dt><span class="section"><a href="problem.ivl.html#problems.ivl.vpi_handle_by_name">vpi_handle_by_name</a></span></dt><dt><span class="section"><a href="problem.ivl.html#problems.ivl.vpi_reset">Vpi::reset</a></span></dt></dl></dd><dt><span class="section"><a href="problems.vsim.html">Mentor Modelsim</a></span></dt><dd><dl><dt><span class="section"><a href="problems.vsim.html#problems.vsim.ruby_run">ruby_run()</a></span></dt></dl></dd></dl></div><p>This chapter presents known problems and possible solutions. In addition, previously solved problems have been retained for historical reference.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="usage.examples.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="problems.ruby.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Examples </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Ruby</td></tr></table></div></body></html>
3
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. Known problems</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="index.html" title="Ruby-VPI user manual" /><link rel="prev" href="hacking.release-packages.html" title="Building release packages" /><link rel="next" href="problems.ruby.html" title="Ruby" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. Known problems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="hacking.release-packages.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="problems.ruby.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="problems"></a>Chapter 6. Known problems</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="problems.ruby.html">Ruby</a></span></dt><dd><dl><dt><span class="section"><a href="problems.ruby.html#problems.ruby.SystemStackError">SystemStackError</a></span></dt><dt><span class="section"><a href="problems.ruby.html#problems.ruby.xUnit">test/unit</a></span></dt></dl></dd><dt><span class="section"><a href="problem.ivl.html">Icarus Verilog</a></span></dt><dd><dl><dt><span class="section"><a href="problem.ivl.html#problems.ivl.vpi_handle_by_name">vpi_handle_by_name</a></span></dt><dt><span class="section"><a href="problem.ivl.html#problems.ivl.vpi_reset">Vpi::reset</a></span></dt></dl></dd><dt><span class="section"><a href="problems.vsim.html">Mentor Modelsim</a></span></dt><dd><dl><dt><span class="section"><a href="problems.vsim.html#problems.vsim.ruby_run">ruby_run()</a></span></dt></dl></dd></dl></div><p>This chapter presents known problems and possible solutions. In addition, previously solved problems have been retained for historical reference.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="hacking.release-packages.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="problems.ruby.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Building release packages </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Ruby</td></tr></table></div></body></html>
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ruby</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="problems.html" title="Chapter 5. Known problems" /><link rel="prev" href="problems.html" title="Chapter 5. Known problems" /><link rel="next" href="problem.ivl.html" title="Icarus Verilog" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Ruby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="problems.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 5. Known problems</th><td width="20%" align="right"> <a accesskey="n" href="problem.ivl.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="problems.ruby"></a>Ruby</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="problems.ruby.SystemStackError"></a>SystemStackError</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Problem solved"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Problem solved</th></tr><tr><td align="left" valign="top"><p>This problem was fixed in release 2.0.0 (2006-04-17). If it still occurs, then <a href="introduction.resources.html" title="Resources">please report it</a>.</p></td></tr></table></div><p>If a “<span class="quote">stack level too deep (SystemStackError)</span>” error occurs during the simulation, then increase the system-resource limit for stack-size by running the command <span><strong class="command">ulimit <code class="option">-s</code> <em class="replaceable"><code>unlimited</code></em></strong></span> before starting the simulation.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="problems.ruby.xUnit"></a>test/unit</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Problem solved"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Problem solved</th></tr><tr><td align="left" valign="top"><p>This problem was fixed in release 2.0.0 (2006-04-17). If it still occurs, then <a href="introduction.resources.html" title="Resources">please report it</a>.</p></td></tr></table></div><p>If your specification employs Ruby's unit testing framework, then you will encounter the error: “<span class="quote">[BUG] cross-thread violation on rb_gc()</span>”.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="problems.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="problems.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="problem.ivl.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. Known problems </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Icarus Verilog</td></tr></table></div></body></html>
3
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ruby</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="problems.html" title="Chapter 6. Known problems" /><link rel="prev" href="problems.html" title="Chapter 6. Known problems" /><link rel="next" href="problem.ivl.html" title="Icarus Verilog" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Ruby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="problems.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 6. Known problems</th><td width="20%" align="right"> <a accesskey="n" href="problem.ivl.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="problems.ruby"></a>Ruby</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="problems.ruby.SystemStackError"></a>SystemStackError</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Problem solved"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Problem solved</th></tr><tr><td align="left" valign="top"><p>This problem was fixed in release 2.0.0 (2006-04-17). If it still occurs, then <a href="introduction.resources.html" title="Resources">please report it</a>.</p></td></tr></table></div><p>If a “<span class="quote">stack level too deep (SystemStackError)</span>” error occurs during the simulation, then increase the system-resource limit for stack-size by running the command <span><strong class="command">ulimit <code class="option">-s</code> <em class="replaceable"><code>unlimited</code></em></strong></span> before starting the simulation.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="problems.ruby.xUnit"></a>test/unit</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Problem solved"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Problem solved</th></tr><tr><td align="left" valign="top"><p>This problem was fixed in release 2.0.0 (2006-04-17). If it still occurs, then <a href="introduction.resources.html" title="Resources">please report it</a>.</p></td></tr></table></div><p>If your specification employs Ruby's unit testing framework, then you will encounter the error: “<span class="quote">[BUG] cross-thread violation on rb_gc()</span>”.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="problems.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="problems.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="problem.ivl.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. Known problems </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Icarus Verilog</td></tr></table></div></body></html>
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Mentor Modelsim</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="problems.html" title="Chapter 5. Known problems" /><link rel="prev" href="problem.ivl.html" title="Icarus Verilog" /><link rel="next" href="glossary.html" title="Glossary" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Mentor Modelsim</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="problem.ivl.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 5. Known problems</th><td width="20%" align="right"> <a accesskey="n" href="glossary.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="problems.vsim"></a>Mentor Modelsim</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="problems.vsim.ruby_run"></a>ruby_run()</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Problem solved"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Problem solved</th></tr><tr><td align="left" valign="top"><p>This problem was fixed in release 2.0.0 (2006-04-17). If it still occurs, then <a href="introduction.resources.html" title="Resources">please report it</a>.</p></td></tr></table></div><p>Version 6.1b of Mentor Modelsim doesn't play nicely with either an embedded Ruby interpreter or POSIX threads in a PLI application. When <span class="application">Ruby-VPI</span> invokes the <code class="function">ruby_run</code> function (which starts the Ruby interpreter), the simulator terminates immediately with an exit status of 0.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="problem.ivl.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="problems.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="glossary.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Icarus Verilog </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Glossary</td></tr></table></div></body></html>
3
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Mentor Modelsim</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="problems.html" title="Chapter 6. Known problems" /><link rel="prev" href="problem.ivl.html" title="Icarus Verilog" /><link rel="next" href="glossary.html" title="Glossary" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Mentor Modelsim</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="problem.ivl.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 6. Known problems</th><td width="20%" align="right"> <a accesskey="n" href="glossary.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="problems.vsim"></a>Mentor Modelsim</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="problems.vsim.ruby_run"></a>ruby_run()</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Problem solved"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Problem solved</th></tr><tr><td align="left" valign="top"><p>This problem was fixed in release 2.0.0 (2006-04-17). If it still occurs, then <a href="introduction.resources.html" title="Resources">please report it</a>.</p></td></tr></table></div><p>Version 6.1b of Mentor Modelsim doesn't play nicely with either an embedded Ruby interpreter or POSIX threads in a PLI application. When <span class="application">Ruby-VPI</span> invokes the <code class="function">ruby_run</code> function (which starts the Ruby interpreter), the simulator terminates immediately with an exit status of 0.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="problem.ivl.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="problems.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="glossary.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Icarus Verilog </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Glossary</td></tr></table></div></body></html>
@@ -6,4 +6,4 @@
6
6
 
7
7
  <code class="prompt">$</code> <strong class="userinput"><code><span><strong class="command">ls <code class="option">-d</code> <em class="replaceable"><code>/usr/lib/ruby/gems/1.8</code></em>/gems/ruby-vpi-*</strong></span></code></strong>
8
8
  <code class="computeroutput">/usr/lib/ruby/gems/1.8/gems/ruby-vpi-7.0.0/</code>
9
- </pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="setup.installation.windows"></a>Installing on Windows</h3></div></div></div><div class="procedure"><ol type="1"><li><p>Install <a href="http://www.cygwin.com" target="_top">Cygwin</a>, the Linux-like environment for Windows.</p></li><li><p>Search for object files whose names end with <code class="filename">.so</code>, <code class="filename">.o</code>, or <code class="filename">.dll</code> in your Verilog simulator's installation directory.</p></li><li><p>Determine which object files, among those found in the previous step, contain symbols whose names begin with <span class="symbol">_vpi</span><sup>[<a id="id2528227" href="#ftn.id2528227">1</a>]</sup> by running the command <span><strong class="command">for x in *.{o,so,dll}; do nm $x | grep -q '[Tt] _vpi' &gt; /dev/null &amp;&amp; echo $x; done</strong></span> in Cygwin.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png" /></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>If you are using Mentor Modelsim, the desired object file can be found at a path similar to <code class="filename">C:\Modeltech\win32\libvsim.dll</code>.</p></td></tr></table></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png" /></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>If you are using GPL Cver, the desired object file can be found at a path similar to <code class="filename">C:\gplcver\objs\v_vpi.o</code>.</p></td></tr></table></div></li><li><p>Assign the path of the object file (determined in the previous step) to the <code class="varname">LDFLAGS</code> environment variable. For example, if the object file's path is <em class="replaceable"><code>/foo/bar/vpi.so</code></em>, then you would run the command <span><strong class="command">export <code class="varname">LDFLAGS</code>=<em class="replaceable"><code>/foo/bar/vpi.so</code></em></strong></span> in Cygwin.</p></li><li><p>You may now install <span class="application">Ruby-VPI</span> by running the command <span><strong class="command">gem <span class="action">install</span> <em class="replaceable"><code>ruby-vpi</code></em></strong></span> in Cygwin.</p></li></ol></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.id2528227" href="#id2528227">1</a>] </sup>Because <span class="application">Ruby-VPI</span> makes use of the <span class="acronym">VPI</span> C-language interface, it links to symbols whose names begin with <span class="symbol">_vpi</span>. It is possible for these symbols to be undefined when <span class="application">Ruby-VPI</span> is compiled under GNU/Linux and similar operating systems. In contrast, one <a href="http://sourceware.org/ml/cygwin/2001-12/msg01293.html" target="_top">cannot compile a shared object file with references to undefined symbols under Windows</a>. Thus, we must find a Verilog simulator's shared object file, which contains definitions of all <span class="acronym">VPI</span> symbols, and give this file to the linker when compiling <span class="application">Ruby-VPI</span>.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setup.reqs.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="setup.maintenance.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Requirements </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Maintenance</td></tr></table></div></body></html>
9
+ </pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="setup.installation.windows"></a>Installing on Windows</h3></div></div></div><div class="procedure"><ol type="1"><li><p>Install <a href="http://www.cygwin.com" target="_top">Cygwin</a>, the Linux-like environment for Windows.</p></li><li><p>Search for object files whose names end with <code class="filename">.so</code>, <code class="filename">.o</code>, or <code class="filename">.dll</code> in your Verilog simulator's installation directory.</p></li><li><p>Determine which object files, among those found in the previous step, contain symbols whose names begin with <span class="symbol">_vpi</span><sup>[<a id="id2528554" href="#ftn.id2528554">1</a>]</sup> by running the command <span><strong class="command">for x in *.{o,so,dll}; do nm $x | grep -q '[Tt] _vpi' &gt; /dev/null &amp;&amp; echo $x; done</strong></span> in Cygwin.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png" /></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>If you are using Mentor Modelsim, the desired object file can be found at a path similar to <code class="filename">C:\Modeltech\win32\libvsim.dll</code>.</p></td></tr></table></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png" /></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>If you are using GPL Cver, the desired object file can be found at a path similar to <code class="filename">C:\gplcver\objs\v_vpi.o</code>.</p></td></tr></table></div></li><li><p>Assign the path of the object file (determined in the previous step) to the <code class="varname">LDFLAGS</code> environment variable. For example, if the object file's path is <em class="replaceable"><code>/foo/bar/vpi.so</code></em>, then you would run the command <span><strong class="command">export <code class="varname">LDFLAGS</code>=<em class="replaceable"><code>/foo/bar/vpi.so</code></em></strong></span> in Cygwin.</p></li><li><p>You may now install <span class="application">Ruby-VPI</span> by running the command <span><strong class="command">gem <span class="action">install</span> <em class="replaceable"><code>ruby-vpi</code></em></strong></span> in Cygwin.</p></li></ol></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.id2528554" href="#id2528554">1</a>] </sup>Because <span class="application">Ruby-VPI</span> makes use of the <span class="acronym">VPI</span> C-language interface, it links to symbols whose names begin with <span class="symbol">_vpi</span>. It is possible for these symbols to be undefined when <span class="application">Ruby-VPI</span> is compiled under GNU/Linux and similar operating systems. In contrast, one <a href="http://sourceware.org/ml/cygwin/2001-12/msg01293.html" target="_top">cannot compile a shared object file with references to undefined symbols under Windows</a>. Thus, we must find a Verilog simulator's shared object file, which contains definitions of all <span class="acronym">VPI</span> symbols, and give this file to the linker when compiling <span class="application">Ruby-VPI</span>.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setup.reqs.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="setup.maintenance.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Requirements </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Maintenance</td></tr></table></div></body></html>
@@ -381,7 +381,7 @@
381
381
  <varlistentry>
382
382
  <term>Accessor</term>
383
383
  <listitem>
384
- <para>This parameter suggests which &vpi; function should be used to access the &vpi; property. When this parameter is not specified, the &vpi; utility layer will attempt to <emphasis>guess</emphasis> the value of this parameter (<ulink url="../../ref/ruby/classes/SWIG/TYPE_p_unsigned_int.html">see the source code</ulink> of the <code><constant>SWIG</constant>::<constant>TYPE_p_unsigned_int</constant>#<function>method_missing</function></code> method for details).</para>
384
+ <para>This parameter suggests which &vpi; function should be used to access the &vpi; property. When this parameter is not specified, the &vpi; utility layer will attempt to <emphasis>guess</emphasis> the value of this parameter (<ulink url="../ref/ruby/classes/Vpi/Handle/Property.html">see the source code</ulink> of the <code><constant>Property</constant>.<function>resolve</function></code> method for details).</para>
385
385
 
386
386
  <table frame='all'>
387
387
  <title>Possible accessors and their implications</title>
@@ -468,25 +468,100 @@
468
468
  </row>
469
469
  </thead>
470
470
  <tbody>
471
- <row>
472
- <entry><code><varname>handle</varname>.<function>each_vpiNet</function> {|<varname>net</varname>| <function>puts</function> <varname>net</varname>.<function>fullName</function>}</code></entry>
473
- <entry>each</entry>
474
- <entry>_</entry>
475
- <entry>vpiNet</entry>
476
- <entry></entry>
477
- <entry></entry>
478
- <entry></entry>
479
- <entry morerows="1">These expressions print the full name of each <constant>vpiNet</constant> object associated with the handle.</entry>
480
- </row>
481
- <row>
482
- <entry><code><varname>handle</varname>.<function>each_net</function> {|<varname>net</varname>| <function>puts</function> <varname>net</varname>.<function>fullName</function>}</code></entry>
483
- <entry>each</entry>
484
- <entry>_</entry>
485
- <entry>net</entry>
486
- <entry></entry>
487
- <entry></entry>
488
- <entry></entry>
489
- </row>
471
+ <!-- each -->
472
+ <row>
473
+ <entry><code><varname>handle</varname>.<function>each_vpiNet</function> {|<varname>net</varname>| <function>puts</function> <varname>net</varname>.<function>fullName</function>}</code></entry>
474
+ <entry>each</entry>
475
+ <entry>_</entry>
476
+ <entry>vpiNet</entry>
477
+ <entry></entry>
478
+ <entry></entry>
479
+ <entry></entry>
480
+ <entry morerows="1">These expressions print the full name of each <constant>vpiNet</constant> object associated with the handle.</entry>
481
+ </row>
482
+ <row>
483
+ <entry><code><varname>handle</varname>.<function>each_net</function> {|<varname>net</varname>| <function>puts</function> <varname>net</varname>.<function>fullName</function>}</code></entry>
484
+ <entry>each</entry>
485
+ <entry>_</entry>
486
+ <entry>net</entry>
487
+ <entry></entry>
488
+ <entry></entry>
489
+ <entry></entry>
490
+ </row>
491
+
492
+ <!-- all? -->
493
+ <row>
494
+ <entry><code><varname>handle</varname>.<function>all_reg?</function> {|<varname>reg</varname>| <varname>reg</varname>.<function>size</function> == <literal>1</literal>}</code></entry>
495
+ <entry>all?</entry>
496
+ <entry>_</entry>
497
+ <entry>vpiReg</entry>
498
+ <entry></entry>
499
+ <entry></entry>
500
+ <entry></entry>
501
+ <entry morerows="1">These expressions check if all registers associated with the handle are capable of storing only one bit.</entry>
502
+ </row>
503
+
504
+ <row>
505
+ <entry><code><varname>handle</varname>.<function>all_reg?</function> {|<varname>reg</varname>| <varname>reg</varname>.<function>size</function> == <literal>1</literal>}</code></entry>
506
+ <entry>all?</entry>
507
+ <entry>_</entry>
508
+ <entry>reg</entry>
509
+ <entry></entry>
510
+ <entry></entry>
511
+ <entry></entry>
512
+ </row>
513
+
514
+ <!-- select -->
515
+ <row>
516
+ <entry><code><varname>handle</varname>.<function>select_vpiNet</function> {|<varname>net</varname>| <varname>net</varname>.<function>x?</function>}</code></entry>
517
+ <entry>select</entry>
518
+ <entry>_</entry>
519
+ <entry>vpiReg</entry>
520
+ <entry></entry>
521
+ <entry></entry>
522
+ <entry></entry>
523
+ <entry morerows="4">These expressions return a list of nets whose logic value is <quote>don't care</quote>.</entry>
524
+ </row>
525
+
526
+ <row>
527
+ <entry><code><varname>handle</varname>.<function>select_net</function> {|<varname>net</varname>| <varname>net</varname>.<function>x?</function>}</code></entry>
528
+ <entry>select</entry>
529
+ <entry>_</entry>
530
+ <entry>net</entry>
531
+ <entry></entry>
532
+ <entry></entry>
533
+ <entry></entry>
534
+ </row>
535
+
536
+ <row>
537
+ <entry><code><varname>handle</varname>.<function>select</function>(<constant>VpiNet</constant>) {|<varname>net</varname>| <varname>net</varname>.<function>x?</function>}</code></entry>
538
+ <entry>select</entry>
539
+ <entry>_</entry>
540
+ <entry></entry>
541
+ <entry></entry>
542
+ <entry></entry>
543
+ <entry></entry>
544
+ </row>
545
+
546
+ <row>
547
+ <entry><code><varname>handle</varname>.<function>select</function>(<literal>:VpiNet</literal>) {|<varname>net</varname>| <varname>net</varname>.<function>x?</function>}</code></entry>
548
+ <entry>select</entry>
549
+ <entry>_</entry>
550
+ <entry></entry>
551
+ <entry></entry>
552
+ <entry></entry>
553
+ <entry></entry>
554
+ </row>
555
+
556
+ <row>
557
+ <entry><code><varname>handle</varname>.<function>select</function>(<literal>:net</literal>) {|<varname>net</varname>| <varname>net</varname>.<function>x?</function>}</code></entry>
558
+ <entry>select</entry>
559
+ <entry>_</entry>
560
+ <entry></entry>
561
+ <entry></entry>
562
+ <entry></entry>
563
+ <entry></entry>
564
+ </row>
490
565
 
491
566
  <row>
492
567
  <entry><code><varname>handle</varname>.<function>vpiIntVal</function></code></entry>
@@ -1477,6 +1552,41 @@ Finished in 0.006766 seconds.
1477
1552
  </section>
1478
1553
  </chapter>
1479
1554
 
1555
+ <chapter id="hacking">
1556
+ <title>Hacking</title>
1557
+
1558
+ <section id="hacking.release-packages">
1559
+ <title>Building release packages</title>
1560
+ <para>In addition to the "normal requirements":./doc/usage.requirements.html, you need the following software to build release packages:
1561
+
1562
+ <variablelist>
1563
+ <varlistentry>
1564
+ <term><ulink url="http://www.docbook.org/">DocBook-XML</ulink></term>
1565
+ <listitem><para/></listitem>
1566
+ </varlistentry>
1567
+ <varlistentry>
1568
+ <term>xsltproc</term>
1569
+ <listitem><para/></listitem>
1570
+ </varlistentry>
1571
+ <varlistentry>
1572
+ <term>xmlto</term>
1573
+ <listitem><para/></listitem>
1574
+ </varlistentry>
1575
+ <varlistentry>
1576
+ <term><ulink url="http://rubyforge.org/projects/redcloth/">RedCloth</ulink></term>
1577
+ <listitem><para/></listitem>
1578
+ </varlistentry>
1579
+ <varlistentry>
1580
+ <term><ulink url="http://www.swig.org/">SWIG</ulink></term>
1581
+ <listitem><para/></listitem>
1582
+ </varlistentry>
1583
+ </variablelist>
1584
+
1585
+ Once you have satisfied these requirements, you can run <command>rake <action>release</action></command> to build the release packages. Also, see the output of <command>rake <option>-T</option></command> for more build options.</para>
1586
+ </section>
1587
+
1588
+ </chapter>
1589
+
1480
1590
  <chapter id="problems">
1481
1591
  <title>Known problems</title>
1482
1592
 
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Examples</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="usage.html" title="Chapter 4. Usage" /><link rel="prev" href="usage.tutorial.html" title="Tutorial" /><link rel="next" href="problems.html" title="Chapter 5. Known problems" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Examples</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="usage.tutorial.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 4. Usage</th><td width="20%" align="right"> <a accesskey="n" href="problems.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="usage.examples"></a>Examples</h2></div></div></div><p>The <code class="filename">samp</code> directory contains several example tests which illustrate how <span class="application">Ruby-VPI</span> can be used. Each example has an associated <code class="filename">Rakefile</code> which simplifies the process of running it. Therefore, simply navigate into an example directory and run the command <span><strong class="command">rake</strong></span> to get started.</p><p>Also, some example specifications make use of BDD through the <span class="application">rSpec</span> library. See the <a href="background.methodology.html" title="Methodology">the section called “Methodology”</a> for a discussion of <span class="application">rSpec</span>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="usage.tutorial.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="usage.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="problems.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Tutorial </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Chapter 5. Known problems</td></tr></table></div></body></html>
3
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Examples</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="usage.html" title="Chapter 4. Usage" /><link rel="prev" href="usage.tutorial.html" title="Tutorial" /><link rel="next" href="hacking.html" title="Chapter 5. Hacking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Examples</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="usage.tutorial.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 4. Usage</th><td width="20%" align="right"> <a accesskey="n" href="hacking.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="usage.examples"></a>Examples</h2></div></div></div><p>The <code class="filename">samp</code> directory contains several example tests which illustrate how <span class="application">Ruby-VPI</span> can be used. Each example has an associated <code class="filename">Rakefile</code> which simplifies the process of running it. Therefore, simply navigate into an example directory and run the command <span><strong class="command">rake</strong></span> to get started.</p><p>Also, some example specifications make use of BDD through the <span class="application">rSpec</span> library. See the <a href="background.methodology.html" title="Methodology">the section called “Methodology”</a> for a discussion of <span class="application">rSpec</span>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="usage.tutorial.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="usage.html"><img src="images/up.png" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="hacking.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Tutorial </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Chapter 5. Hacking</td></tr></table></div></body></html>
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Tutorial</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="usage.html" title="Chapter 4. Usage" /><link rel="prev" href="usage.tools.html" title="Tools" /><link rel="next" href="usage.examples.html" title="Examples" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Tutorial</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="usage.tools.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 4. Usage</th><td width="20%" align="right"> <a accesskey="n" href="usage.examples.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="usage.tutorial"></a>Tutorial</h2></div></div></div><div class="procedure"><a id="id2528673"></a><p class="title"><b>Procedure 4.1. Typical way of using <span class="application">Ruby-VPI</span></b></p><ol type="1"><li><p><a href="usage.tutorial.html#usage.tutorial.declare-design" title="Start with a design">Declare the design</a>, which is a Verilog module, using Verilog 2001 syntax.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.generate-test" title="Generate a test">Generate a test</a> for the design using the <a href="usage.tools.html#usage.tools.generate-test" title="Automated test generation">automated test generator</a> tool.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.specification" title="Specify your expectations">Identify your expectations</a> for the design and implement them in the specification.</p></li><li><p>(Optional) <a href="usage.tutorial.html#usage.tutorial.implement-proto" title="Implement the prototype">Implement the prototype</a> of the design in Ruby.</p></li><li><p>(Optional) <a href="usage.tutorial.html#usage.tutorial.test-proto" title="Verify the prototype">Verify the prototype</a> against the specification.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.implement-design" title="Implement the design">Implement the design</a> in Verilog once the prototype has been verified.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.test-design" title="Verify the design">Verify the design</a> against the specification.</p></li></ol></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="usage.tutorial.declare-design"></a>Start with a design</h3></div></div></div><p>First, we need a <a href="glossary.html#term..design">Design</a> to verify. In this tutorial, <a href="usage.tutorial.html#fig..counter.v_decl" title="Figure 4.1. Declaration of a simple up-counter with synchronous reset">Figure 4.1, “Declaration of a simple up-counter with synchronous reset”</a> will serve as our design. Its interface is composed of the following parts:
3
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Tutorial</title><link rel="stylesheet" href="styles/manual.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.68.1" /><link rel="start" href="index.html" title="Ruby-VPI user manual" /><link rel="up" href="usage.html" title="Chapter 4. Usage" /><link rel="prev" href="usage.tools.html" title="Tools" /><link rel="next" href="usage.examples.html" title="Examples" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Tutorial</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="usage.tools.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center">Chapter 4. Usage</th><td width="20%" align="right"> <a accesskey="n" href="usage.examples.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="usage.tutorial"></a>Tutorial</h2></div></div></div><div class="procedure"><a id="id2529000"></a><p class="title"><b>Procedure 4.1. Typical way of using <span class="application">Ruby-VPI</span></b></p><ol type="1"><li><p><a href="usage.tutorial.html#usage.tutorial.declare-design" title="Start with a design">Declare the design</a>, which is a Verilog module, using Verilog 2001 syntax.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.generate-test" title="Generate a test">Generate a test</a> for the design using the <a href="usage.tools.html#usage.tools.generate-test" title="Automated test generation">automated test generator</a> tool.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.specification" title="Specify your expectations">Identify your expectations</a> for the design and implement them in the specification.</p></li><li><p>(Optional) <a href="usage.tutorial.html#usage.tutorial.implement-proto" title="Implement the prototype">Implement the prototype</a> of the design in Ruby.</p></li><li><p>(Optional) <a href="usage.tutorial.html#usage.tutorial.test-proto" title="Verify the prototype">Verify the prototype</a> against the specification.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.implement-design" title="Implement the design">Implement the design</a> in Verilog once the prototype has been verified.</p></li><li><p><a href="usage.tutorial.html#usage.tutorial.test-design" title="Verify the design">Verify the design</a> against the specification.</p></li></ol></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="usage.tutorial.declare-design"></a>Start with a design</h3></div></div></div><p>First, we need a <a href="glossary.html#term..design">Design</a> to verify. In this tutorial, <a href="usage.tutorial.html#fig..counter.v_decl" title="Figure 4.1. Declaration of a simple up-counter with synchronous reset">Figure 4.1, “Declaration of a simple up-counter with synchronous reset”</a> will serve as our design. Its interface is composed of the following parts:
4
4
  </p><div class="variablelist"><dl><dt><span class="term"><code class="constant">Size</code></span></dt><dd><p>This parameter defines the number of bits used to represent the counter's value.</p></dd><dt><span class="term"><code class="varname">clock</code></span></dt><dd><p>Each positive edge of this signal causes the <code class="varname">count</code> register to increment.</p></dd><dt><span class="term"><code class="varname">reset</code></span></dt><dd><p>Assertion of this signal causes the <code class="varname">count</code> register to become zero.</p></dd><dt><span class="term"><code class="varname">count</code></span></dt><dd><p>This register contains the counter's value.</p></dd></dl></div><p>
5
5
  </p><div class="figure"><a id="fig..counter.v_decl"></a><p class="title"><b>Figure 4.1. Declaration of a simple up-counter with synchronous reset</b></p><pre class="programlisting">
6
6
  <span class="token">module</span> counter #(<span class="token">parameter</span> <code class="constant">Size</code> = <code class="literal">5</code>) (
@@ -35,58 +35,59 @@
35
35
  <dt>
36
36
  <span class="term">
37
37
  <a href="http://rubyforge.org/projects/ruby-vpi" target="_top">
38
- Project</a>
38
+ Facilities</a>
39
39
  </span>
40
40
  </dt>
41
41
  <dd>
42
42
  <p>
43
- Access project facilities, hosted generously by <a href="http://rubyforge.org" target="_top">
43
+ Access the issue tracker, file downloads, support requests, discussion forums, and more at <a href="http://rubyforge.org" target="_top">
44
44
  RubyForge</a>.
45
45
  </p>
46
46
  </dd>
47
47
 
48
48
  <dt>
49
49
  <span class="term">
50
- <a href="http://rubyforge.org/tracker/?group_id=1339" target="_top">
51
- Tracker</a>
50
+ <a href="http://ruby-vpi.rubyforge.org" target="_top">
51
+ Project</a>
52
52
  </span>
53
53
  </dt>
54
54
  <dd>
55
55
  <p>
56
- Report problems, contribute patches, and more.</p>
56
+ Access more information at the project&#8217;s home page.
57
+ </p>
57
58
  </dd>
58
59
 
59
60
  <dt>
60
61
  <span class="term">
61
- <a href="http://rubyforge.org/frs/?group_id=1339" target="_top">
62
- Releases</a>
62
+ <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi" target="_top">
63
+ Sources</a>
63
64
  </span>
64
65
  </dt>
65
66
  <dd>
66
67
  <p>
67
- Download the newest releases.</p>
68
+ Browse or access the source code repository.</p>
68
69
  </dd>
69
70
 
70
71
  <dt>
71
72
  <span class="term">
72
- <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi" target="_top">
73
- Sources</a>
73
+ <a href="http://ruby-vpi.rubyforge.org/talks" target="_top">
74
+ Talks</a>
74
75
  </span>
75
76
  </dt>
76
77
  <dd>
77
78
  <p>
78
- Browse or access the source code repository.</p>
79
+ Access public presentations about Ruby-VPI.</p>
79
80
  </dd>
80
81
 
81
82
  <dt>
82
83
  <span class="term">
83
- <a href="http://rubyforge.org/forum/?group_id=1339" target="_top">
84
- Forums</a>
84
+ <a href="http://ruby-vpi.rubyforge.org/blog" target="_top">
85
+ News</a>
85
86
  </span>
86
87
  </dt>
87
88
  <dd>
88
89
  <p>
89
- Ask for help, give feedback, or discuss.</p>
90
+ See what the developers are cooking up.</p>
90
91
  </dd>
91
92
 
92
93
  </dl>
@@ -35,58 +35,59 @@
35
35
  <dt>
36
36
  <span class="term">
37
37
  <a href="http://rubyforge.org/projects/ruby-vpi" target="_top">
38
- Project</a>
38
+ Facilities</a>
39
39
  </span>
40
40
  </dt>
41
41
  <dd>
42
42
  <p>
43
- Access project facilities, hosted generously by <a href="http://rubyforge.org" target="_top">
43
+ Access the issue tracker, file downloads, support requests, discussion forums, and more at <a href="http://rubyforge.org" target="_top">
44
44
  RubyForge</a>.
45
45
  </p>
46
46
  </dd>
47
47
 
48
48
  <dt>
49
49
  <span class="term">
50
- <a href="http://rubyforge.org/tracker/?group_id=1339" target="_top">
51
- Tracker</a>
50
+ <a href="http://ruby-vpi.rubyforge.org" target="_top">
51
+ Project</a>
52
52
  </span>
53
53
  </dt>
54
54
  <dd>
55
55
  <p>
56
- Report problems, contribute patches, and more.</p>
56
+ Access more information at the project&#8217;s home page.
57
+ </p>
57
58
  </dd>
58
59
 
59
60
  <dt>
60
61
  <span class="term">
61
- <a href="http://rubyforge.org/frs/?group_id=1339" target="_top">
62
- Releases</a>
62
+ <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi" target="_top">
63
+ Sources</a>
63
64
  </span>
64
65
  </dt>
65
66
  <dd>
66
67
  <p>
67
- Download the newest releases.</p>
68
+ Browse or access the source code repository.</p>
68
69
  </dd>
69
70
 
70
71
  <dt>
71
72
  <span class="term">
72
- <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi" target="_top">
73
- Sources</a>
73
+ <a href="http://ruby-vpi.rubyforge.org/talks" target="_top">
74
+ Talks</a>
74
75
  </span>
75
76
  </dt>
76
77
  <dd>
77
78
  <p>
78
- Browse or access the source code repository.</p>
79
+ Access public presentations about Ruby-VPI.</p>
79
80
  </dd>
80
81
 
81
82
  <dt>
82
83
  <span class="term">
83
- <a href="http://rubyforge.org/forum/?group_id=1339" target="_top">
84
- Forums</a>
84
+ <a href="http://ruby-vpi.rubyforge.org/blog" target="_top">
85
+ News</a>
85
86
  </span>
86
87
  </dt>
87
88
  <dd>
88
89
  <p>
89
- Ask for help, give feedback, or discuss.</p>
90
+ See what the developers are cooking up.</p>
90
91
  </dd>
91
92
 
92
93
  </dl>
@@ -35,58 +35,59 @@
35
35
  <dt>
36
36
  <span class="term">
37
37
  <a href="http://rubyforge.org/projects/ruby-vpi" target="_top">
38
- Project</a>
38
+ Facilities</a>
39
39
  </span>
40
40
  </dt>
41
41
  <dd>
42
42
  <p>
43
- Access project facilities, hosted generously by <a href="http://rubyforge.org" target="_top">
43
+ Access the issue tracker, file downloads, support requests, discussion forums, and more at <a href="http://rubyforge.org" target="_top">
44
44
  RubyForge</a>.
45
45
  </p>
46
46
  </dd>
47
47
 
48
48
  <dt>
49
49
  <span class="term">
50
- <a href="http://rubyforge.org/tracker/?group_id=1339" target="_top">
51
- Tracker</a>
50
+ <a href="http://ruby-vpi.rubyforge.org" target="_top">
51
+ Project</a>
52
52
  </span>
53
53
  </dt>
54
54
  <dd>
55
55
  <p>
56
- Report problems, contribute patches, and more.</p>
56
+ Access more information at the project&#8217;s home page.
57
+ </p>
57
58
  </dd>
58
59
 
59
60
  <dt>
60
61
  <span class="term">
61
- <a href="http://rubyforge.org/frs/?group_id=1339" target="_top">
62
- Releases</a>
62
+ <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi" target="_top">
63
+ Sources</a>
63
64
  </span>
64
65
  </dt>
65
66
  <dd>
66
67
  <p>
67
- Download the newest releases.</p>
68
+ Browse or access the source code repository.</p>
68
69
  </dd>
69
70
 
70
71
  <dt>
71
72
  <span class="term">
72
- <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi" target="_top">
73
- Sources</a>
73
+ <a href="http://ruby-vpi.rubyforge.org/talks" target="_top">
74
+ Talks</a>
74
75
  </span>
75
76
  </dt>
76
77
  <dd>
77
78
  <p>
78
- Browse or access the source code repository.</p>
79
+ Access public presentations about Ruby-VPI.</p>
79
80
  </dd>
80
81
 
81
82
  <dt>
82
83
  <span class="term">
83
- <a href="http://rubyforge.org/forum/?group_id=1339" target="_top">
84
- Forums</a>
84
+ <a href="http://ruby-vpi.rubyforge.org/blog" target="_top">
85
+ News</a>
85
86
  </span>
86
87
  </dt>
87
88
  <dd>
88
89
  <p>
89
- Ask for help, give feedback, or discuss.</p>
90
+ See what the developers are cooking up.</p>
90
91
  </dd>
91
92
 
92
93
  </dl>
@@ -113,6 +114,78 @@ We <em>strictly</em> follow the RubyGems project&#8217;s <a href="http://www.rub
113
114
  <p id="fn1"><sup>1</sup> C. Gross, &#8220;Explaining Open Source Version Numbers&#8221;, [Online document], 2005 Nov 28, [cited 2006 Aug 27], Available <span class="caps">HTTP</span>: <a href="http://ablog.apress.com/?p=738">http://ablog.apress.com/?p=738</a></p>
114
115
 
115
116
 
117
+ <h1>Version 11.1.0 (2006-11-08)</h1>
118
+
119
+
120
+ <h2>Summary</h2>
121
+
122
+
123
+ <p>This release fixes a bug in generated benches, improves the <a href="./ref/ruby/classes/Vpi/Handle.html">the <code>Vpi::Handle</code> class</a>, and improves performance by roughly 20%.</p>
124
+
125
+
126
+ <h2>Acknowledgment</h2>
127
+
128
+
129
+ <p>Thanks to Matt Fischler for finding the bug in generated benches (see below).</p>
130
+
131
+
132
+ <h2>Notice</h2>
133
+
134
+
135
+ <ul>
136
+ <li>A bug in generated Verilog and Ruby benches, which caused this error <pre>ruby: no such file to load -- ruby-vpi (LoadError)</pre> has been fixed.
137
+ <ul>
138
+ <li>Please regenerate your tests to apply this bug fix to your tests.</li>
139
+ </ul></li>
140
+ </ul>
141
+
142
+
143
+ <h2>Detail</h2>
144
+
145
+
146
+ <ul>
147
+ <li>The class <code>SWIG::TYPE_p_unsigned_int</code> has been aliased as <code>Vpi::Handle</code> for easier access.</li>
148
+ </ul>
149
+
150
+
151
+ <ul>
152
+ <li><code>Vpi::Handle#to_s</code> and <code>Vpi::Handle#inspect</code> now produce more informative output. For example, what used to appear as <pre>#&lt;SWIG::TYPE_p_unsigned_int:0x2aaab6574fa0&gt;</pre> now appears as <pre>#&lt;Vpi::Handle vpiModule fullName=counter_rspec_bench, size=-1, file=counter_rspec_bench.v, lineNo=2&gt;</pre> in this release.
153
+ <ul>
154
+ <li>You can also provide a list of <span class="caps">VPI</span> property/type names or integer constants to those methods to see additional information in the output.</li>
155
+ </ul></li>
156
+ </ul>
157
+
158
+
159
+ <ul>
160
+ <li><code>Vpi::Handle</code> now implements all methods from <code>Enumerable</code>, such as <code>map</code>, <code>each</code>, <code>select</code>, and so on. However, unlike their counterparts in <code>Enumerable</code>, these methods also accept a list of <span class="caps">VPI</span> property/type names or integer constants. Thus, you are now able to write <code>handle.select(:reg, :net) {|h| h.size &gt; 5}</code> to obtain a list of child handles to registers and nets whose capacity is greater than 5 bits.</li>
161
+ </ul>
162
+
163
+
164
+ <ul>
165
+ <li>The <code>Vpi::Handle#[]</code>, <code>Vpi::Handle#get_value</code>, and <code>Vpi::Handle#put_value</code> methods now accept names of <span class="caps">VPI</span> types/properties as well as their integer constants. Thus, you are now able to write <code>handle[:reg, :net]</code> to obtain a list of handles to all child registers and nets.</li>
166
+ </ul>
167
+
168
+
169
+ <ul>
170
+ <li><code>Vpi::Handle#method_missing</code> has been refactored to cache queries. There is now, approximately, 20% improvement in performance.</li>
171
+ </ul>
172
+
173
+
174
+ <ul>
175
+ <li><code>Vpi::Handle#method_missing</code> has been fixed to accept operations with multiple underscores. For example, before this release, you could not write <code>handle.find_all_reg {|r| r.name =~ /foo/}</code> because the &#8220;find_all_reg&#8221; method would be interpreted as the operation &#8220;find&#8221; and the <span class="caps">VPI</span> property &#8220;all_reg&#8221;.</li>
176
+ </ul>
177
+
178
+
179
+ <ul>
180
+ <li>The <code>IntegerGenerator</code> class, in the pipelined <span class="caps">ALU</span> example, has been fixed so that multiple instances do not interfere with the generation of each other&#8217;s prime integers.</li>
181
+ </ul>
182
+
183
+
184
+ <ul>
185
+ <li>Due to a bug in the <code>Rakefile</code>, the reference documentation was not included in the previous few releases. This has been fixed.</li>
186
+ </ul>
187
+
188
+
116
189
  <h1>Version 11.0.0 (2006-11-05)</h1>
117
190
 
118
191
 
@@ -233,7 +306,7 @@ end</pre> notation.
233
306
 
234
307
 
235
308
  <ul>
236
- <li>Revised the stylesheet to make disjoint sections readily distinguishable from eachother, through generous spacing and minor coloring.</li>
309
+ <li>Revised the stylesheet to make disjoint sections readily distinguishable from each other, through generous spacing and minor coloring.</li>
237
310
  </ul>
238
311
 
239
312