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
data/doc/rss.xml CHANGED
@@ -5,1923 +5,235 @@
5
5
  <link>http://ruby-vpi.rubyforge.org</link>
6
6
  <description>Ruby-VPI is a Ruby interface to IEEE 1364-2005 Verilog VPI and a platform for unit testing, rapid prototyping, and systems integration of Verilog modules through Ruby. It lets you create complex Verilog test benches easily and wholly in Ruby.</description>
7
7
  <item>
8
- <title>Version 16.0.1 released</title>
9
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.1</link>
10
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.1</guid>
11
- <description>&lt;h1 id=&quot;16.0.1&quot;&gt;Version 16.0.1 (2007-05-27)&lt;/h1&gt;
12
-
13
- &lt;p&gt;This release restores support for installation on Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;.&lt;/p&gt;
14
-
15
-
16
- &lt;h2&gt;Thanks&lt;/h2&gt;
17
-
18
-
19
- &lt;ul&gt;
20
- &lt;li&gt;Mark Thompson &lt;a href=&quot;http://rubyforge.org/tracker/index.php?func=detail&amp;#38;aid=11125&amp;#38;group_id=1339&amp;#38;atid=5281&quot;&gt;reported and solved&lt;/a&gt; the problem.&lt;/li&gt;
21
- &lt;/ul&gt;
22
-
23
-
24
- &lt;h2&gt;Repairs&lt;/h2&gt;
25
-
26
-
27
- &lt;ul&gt;
28
- &lt;li&gt;Shared-object files have a file extension of &lt;tt&gt;.so&lt;/tt&gt; in Linux and &lt;tt&gt;.bundle&lt;/tt&gt; on Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;. Previously, only the Linux file extension was supported.&lt;/li&gt;
29
- &lt;/ul&gt;</description>
30
- <pubDate>Sun, 27 May 2007 00:00:00 PDT</pubDate>
31
- </item>
32
- <item>
33
- <title>Version 16.0.0 released</title>
34
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.0</link>
35
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.0</guid>
36
- <description>&lt;h1 id=&quot;16.0.0&quot;&gt;Version 16.0.0 (2007-05-02)&lt;/h1&gt;
37
-
38
- &lt;p&gt;This release adds support for the &lt;a href=&quot;http://www.cadence.com/products/functional_ver/nc-verilog/&quot;&gt;Cadence NC-Sim / NC-Verilog&lt;/a&gt; simulator, improves the project website and documentation, simplifies interaction with &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt;, and comes with a more permissive license.&lt;/p&gt;
39
-
40
-
41
- &lt;h2&gt;Caution&lt;/h2&gt;
42
-
43
-
44
- &lt;ul&gt;
45
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Integer&lt;/span&gt;.ensure_min&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Integer&lt;/span&gt;.ensure_max&lt;/code&gt; methods have been removed from the &lt;tt&gt;ruby-vpi/integer.rb&lt;/tt&gt; library because Ruby already has idioms for these operations: &lt;pre&gt;
46
- &amp;gt;&amp;gt; 5.ensure_min 10
47
- =&amp;gt; 10
48
- &amp;gt;&amp;gt; [5, 10].max
49
- =&amp;gt; 10
50
-
51
- &amp;gt;&amp;gt; 5.ensure_max 10
52
- =&amp;gt; 5
53
- &amp;gt;&amp;gt; [5, 10].min
54
- =&amp;gt; 5
55
- &lt;/pre&gt;&lt;/li&gt;
56
- &lt;/ul&gt;
57
-
58
-
59
- &lt;ul&gt;
60
- &lt;li&gt;Ruby-VPI is now developed under a &lt;a href=&quot;readme.html#intro.license&quot;&gt;more permissive license&lt;/a&gt; that better reflects my ethical beliefs than &lt;a href=&quot;http://www.gnu.org/copyleft/gpl.html&quot;&gt;the previous license&lt;/a&gt;.&lt;/li&gt;
61
- &lt;/ul&gt;
62
-
63
-
64
- &lt;h2&gt;New features&lt;/h2&gt;
65
-
66
-
67
- &lt;ul&gt;
68
- &lt;li&gt;The &lt;a href=&quot;http://www.cadence.com/products/functional_ver/nc-verilog/&quot;&gt;Cadence NC-Sim / NC-Verilog&lt;/a&gt; (ncsim) simulator is now supported.&lt;/li&gt;
69
- &lt;/ul&gt;
70
-
71
-
72
- &lt;ul&gt;
73
- &lt;li&gt;&lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; structures (whose names begin with &amp;#8220;S_&amp;#8221;) now allow initialization of their members through their constructor, in the style of Ruby on Rails. For example, the expression &lt;code class=&quot;code&quot;&gt;time = &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_time&lt;/span&gt;.new &lt;span style=&quot;color:#A60&quot;&gt;:type&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VpiSuppressTime&lt;/span&gt;&lt;/code&gt; is equivalent to: &lt;pre class=&quot;code&quot;&gt;
74
- time = &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_time&lt;/span&gt;.new
75
- time.type = &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VpiSuppressTime&lt;/span&gt;
76
- &lt;/pre&gt;&lt;/li&gt;
77
- &lt;/ul&gt;
78
-
79
-
80
- &lt;ul&gt;
81
- &lt;li&gt;Added the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.cbValueChange&lt;/code&gt; method which simplifies the registration of a value-change callback for a particular &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; handle. For instance, the user manual&amp;#8217;s &lt;a href=&quot;manual.html#ex..callback&quot;&gt;example of setting up a value-change callback&lt;/a&gt; can now be written as follows: &lt;pre class=&quot;code&quot;&gt;
82
- &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Counter&lt;/span&gt;.count.cbValueChange &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;do&lt;/span&gt; |s_cb_data|
83
- puts &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;hello from callback! time=&lt;/span&gt;&lt;span style=&quot;background: #eee&quot;&gt;&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;#{&lt;/span&gt;s_cb_data.time.to_i&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt; count=&lt;/span&gt;&lt;span style=&quot;background: #eee&quot;&gt;&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;#{&lt;/span&gt;s_cb_data.obj.intVal&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
84
- &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;end&lt;/span&gt;
85
- &lt;/pre&gt;&lt;/li&gt;
86
- &lt;/ul&gt;
87
-
88
-
89
- &lt;h2&gt;Details&lt;/h2&gt;
90
-
91
-
92
- &lt;ul&gt;
93
- &lt;li&gt;Revised the project website according to the &lt;a href=&quot;http://producingoss.com&quot;&gt;Producing &lt;span class=&quot;caps&quot;&gt;OSS&lt;/span&gt;&lt;/a&gt; guidelines.&lt;/li&gt;
94
- &lt;/ul&gt;
95
-
96
-
97
- &lt;ul&gt;
98
- &lt;li&gt;Added instructions for checking out source code and generating documentation.&lt;/li&gt;
99
- &lt;/ul&gt;</description>
100
- <pubDate>Wed, 02 May 2007 00:00:00 PDT</pubDate>
101
- </item>
102
- <item>
103
- <title>Version 15.0.2 released</title>
104
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a15.0.2</link>
105
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a15.0.2</guid>
106
- <description>&lt;h1 id=&quot;15.0.2&quot;&gt;Version 15.0.2 (2007-01-22)&lt;/h1&gt;
107
-
108
- &lt;p&gt;This release fixes problems with linking of the C extension and installation of the gem.&lt;/p&gt;
109
-
110
-
111
- &lt;h2&gt;Details&lt;/h2&gt;
112
-
113
-
114
- &lt;ul&gt;
115
- &lt;li&gt;Added checks for &lt;span class=&quot;caps&quot;&gt;POSIX&lt;/span&gt; threads &amp;#38; Ruby libraries before creating makefile. Otherwise the &lt;tt&gt;.so&lt;/tt&gt; files were not being linked to those libraries on the &lt;span class=&quot;caps&quot;&gt;MASC&lt;/span&gt; machine!&lt;/li&gt;
116
- &lt;/ul&gt;
117
-
118
-
119
- &lt;ul&gt;
120
- &lt;li&gt;The &lt;strong&gt;make&lt;/strong&gt; program on the &lt;span class=&quot;caps&quot;&gt;MASC&lt;/span&gt; machine does not like an empty Makefile. It was causing gem installation to fail.&lt;/li&gt;
121
- &lt;/ul&gt;</description>
122
- <pubDate>Mon, 22 Jan 2007 00:00:00 PST</pubDate>
123
- </item>
124
- <item>
125
- <title>Version 15.0.1 released</title>
126
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a15.0.1</link>
127
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a15.0.1</guid>
128
- <description>&lt;h1 id=&quot;15.0.1&quot;&gt;Version 15.0.1 (2007-01-15)&lt;/h1&gt;
129
-
130
- &lt;p&gt;This release fixes another problem with compilation of the C extension and improves the user documentation&amp;#8217;s appearance.&lt;/p&gt;
131
-
132
-
133
- &lt;h2&gt;Thanks&lt;/h2&gt;
134
-
135
-
136
- &lt;ul&gt;
137
- &lt;li&gt;Derek Graham reported the problem with compilation of the C extension.&lt;/li&gt;
138
- &lt;/ul&gt;
139
-
140
-
141
- &lt;h2&gt;Details&lt;/h2&gt;
142
-
143
-
144
- &lt;ul&gt;
145
- &lt;li&gt;Restored the monkey patch, which was removed in release 14.0.0, for the &lt;span class=&quot;caps&quot;&gt;SWIG&lt;/span&gt; &lt;code class=&quot;code&quot;&gt;va_list&lt;/code&gt; problem.&lt;/li&gt;
146
- &lt;/ul&gt;
147
-
148
-
149
- &lt;ul&gt;
150
- &lt;li&gt;Made table of contents in-line with the content in user documentation.&lt;/li&gt;
151
- &lt;/ul&gt;
152
-
153
-
154
- &lt;ul&gt;
155
- &lt;li&gt;Added printer-friendly stylesheet for user documentation.&lt;/li&gt;
156
- &lt;/ul&gt;</description>
157
- <pubDate>Mon, 15 Jan 2007 00:00:00 PST</pubDate>
158
- </item>
159
- <item>
160
- <title>Version 15.0.0 released</title>
161
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a15.0.0</link>
162
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a15.0.0</guid>
163
- <description>&lt;h1 id=&quot;15.0.0&quot;&gt;Version 15.0.0 (2007-01-13)&lt;/h1&gt;
164
-
165
- &lt;p&gt;This release fixes a problem with compilation of the C extension, and makes clock generation code correctly affect Ruby prototypes.&lt;/p&gt;
166
-
167
-
168
- &lt;h2&gt;Thanks&lt;/h2&gt;
169
-
170
-
171
- &lt;ul&gt;
172
- &lt;li&gt;Derek Graham reported the problem with compilation of the C extension.&lt;/li&gt;
173
- &lt;/ul&gt;
174
-
175
-
176
- &lt;h2&gt;Caution&lt;/h2&gt;
177
-
178
-
179
- &lt;ul&gt;
180
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::advance_time&lt;/code&gt; method (instead of the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::simulate&lt;/code&gt; method) now invokes the design&amp;#8217;s &lt;code class=&quot;code&quot;&gt;simulate!&lt;/code&gt; method when prototyping is enabled.
181
-
182
- &lt;p&gt;This makes clock generation code (passed to the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVpi&lt;/span&gt;::init_bench&lt;/code&gt; method) affect Ruby prototypes, just as it affects a real Verilog design.&lt;/p&gt;
183
-
184
-
185
- &lt;p&gt;As a result, Ruby prototypes may need to check for edge-triggering through the new &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.posedge?&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.negedge?&lt;/code&gt; methods. For example, see the &lt;a href=&quot;manual.html#fig..counter_proto.rb&quot;&gt;new implementation of the Counter prototype&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
186
- &lt;/ul&gt;
187
-
188
-
189
- &lt;h3&gt;New features&lt;/h3&gt;
190
-
191
-
192
- &lt;ul&gt;
193
- &lt;li&gt;Added &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.posedge?&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.negedge?&lt;/code&gt; methods which check if a handle&amp;#8217;s logic value is currently at a positive or negative edge, respectively.&lt;/li&gt;
194
- &lt;/ul&gt;
195
-
196
-
197
- &lt;ul&gt;
198
- &lt;li&gt;Added &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_time&lt;/span&gt;.integer&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_time&lt;/span&gt;.integer=&lt;/code&gt; methods which access the &lt;code class=&quot;code&quot;&gt;high&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;low&lt;/code&gt; integer fields as a single 64-bit integer.&lt;/li&gt;
199
- &lt;/ul&gt;
200
-
201
-
202
- &lt;ul&gt;
203
- &lt;li&gt;Added utility methods for accessing the &lt;code class=&quot;code&quot;&gt;value&lt;/code&gt; field in the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_value&lt;/span&gt;&lt;/code&gt; structure.&lt;/li&gt;
204
- &lt;/ul&gt;
205
-
206
-
207
- &lt;h2&gt;Details&lt;/h2&gt;
208
-
209
-
210
- &lt;ul&gt;
211
- &lt;li&gt;Fixed problem with incorrect Ruby library flag in &lt;tt&gt;ext/extconf.rb&lt;/tt&gt;. It happens that the &lt;code class=&quot;code&quot;&gt;mkmf&lt;/code&gt; library determines the correct library flag all by itself!&lt;/li&gt;
212
- &lt;/ul&gt;
213
-
214
-
215
- &lt;ul&gt;
216
- &lt;li&gt;Added new &lt;a href=&quot;manual.html#usage.prototyping&quot;&gt;prototyping section&lt;/a&gt; to user manual.&lt;/li&gt;
217
- &lt;/ul&gt;
218
-
219
-
220
- &lt;ul&gt;
221
- &lt;li&gt;Fixed some broken URLs in user documentation.&lt;/li&gt;
222
- &lt;/ul&gt;</description>
223
- <pubDate>Sat, 13 Jan 2007 00:00:00 PST</pubDate>
224
- </item>
225
- <item>
226
- <title>Version 14.0.0 released</title>
227
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a14.0.0</link>
228
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a14.0.0</guid>
229
- <description>&lt;h1 id=&quot;14.0.0&quot;&gt;Version 14.0.0 (2006-12-30)&lt;/h1&gt;
230
-
231
- &lt;p&gt;This release adds support for simulation callbacks, renders Verilog benches &lt;em&gt;fully simplified&lt;/em&gt;, and revises the user manual to reflect major changes.&lt;/p&gt;
232
-
233
-
234
- &lt;h2&gt;Caution&lt;/h2&gt;
235
-
236
-
237
- &lt;ul&gt;
238
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::relay_verilog&lt;/code&gt; method has been replaced by &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::simulate&lt;/code&gt;.
239
-
240
- &lt;p&gt;Please update you tests accordingly, because invoking the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::relay_verilog&lt;/code&gt; method directly will cause your tests to freeze/hang.&lt;/p&gt;&lt;/li&gt;
241
- &lt;/ul&gt;
242
-
243
-
244
- &lt;ul&gt;
245
- &lt;li&gt;Verilog benches no longer contain any clock generation code. They are now mere skeletons, whose &lt;em&gt;only&lt;/em&gt; purpose is to instantiate the design under test.
246
-
247
- &lt;p&gt;The clock generation code is now contained in the Ruby bench.&lt;/p&gt;&lt;/li&gt;
248
- &lt;/ul&gt;
249
-
250
-
251
- &lt;h3&gt;New features&lt;/h3&gt;
252
-
253
-
254
- &lt;ul&gt;
255
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVpi&lt;/span&gt;::init_bench&lt;/code&gt; method now gives you &lt;em&gt;complete control&lt;/em&gt; over performing a clock/operation/whatever cycle for your design. This feature allows you to work with multi-clocked designs.&lt;/li&gt;
256
- &lt;/ul&gt;
257
-
258
-
259
- &lt;ul&gt;
260
- &lt;li&gt;Callbacks are now supported through the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::vpi_register_cb&lt;/code&gt; method. See &lt;a href=&quot;manual.html#usage.vpi.callbacks&quot;&gt;the callbacks section in the user manual&lt;/a&gt; for details.&lt;/li&gt;
261
- &lt;/ul&gt;
262
-
263
-
264
- &lt;ul&gt;
265
- &lt;li&gt;Added the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::advance_time&lt;/code&gt; method, which makes the Verilog simulator simulate a given number of time steps.&lt;/li&gt;
266
- &lt;/ul&gt;
267
-
268
-
269
- &lt;ul&gt;
270
- &lt;li&gt;Added the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::simulation_time&lt;/code&gt; method, which gives you the current simulation time as a 64-bit integer.&lt;/li&gt;
271
- &lt;/ul&gt;
272
-
273
-
274
- &lt;h2&gt;Details&lt;/h2&gt;
275
-
276
-
277
- &lt;ul&gt;
278
- &lt;li&gt;Removed the monkey patch for the &lt;span class=&quot;caps&quot;&gt;SWIG&lt;/span&gt; &lt;code class=&quot;code&quot;&gt;va_list&lt;/code&gt; problem&amp;#8212;it no longer occurs.&lt;/li&gt;
279
- &lt;/ul&gt;
280
-
281
-
282
- &lt;ul&gt;
283
- &lt;li&gt;Cleansed the appearance of the user documentation.
284
- &lt;ul&gt;
285
- &lt;li&gt;Added indices to section headings, just like LaTeX.&lt;/li&gt;
286
- &lt;li&gt;Admonition boxes no longer interfere with surrounding text, and they don&amp;#8217;t have big gap above them.&lt;/li&gt;
287
- &lt;li&gt;Navigation menu is now elastic (fluid layout).&lt;/li&gt;
288
- &lt;/ul&gt;&lt;/li&gt;
289
- &lt;/ul&gt;
290
-
291
-
292
- &lt;ul&gt;
293
- &lt;li&gt;Revised the user manual and added new content.
294
- &lt;ul&gt;
295
- &lt;li&gt;Moved &amp;#8220;VPI utility layer&amp;#8221; section from background chapter into usage chapter in user manual.&lt;/li&gt;
296
- &lt;li&gt;Added a nice introduction to entire manual with links to reference documentation.&lt;/li&gt;
297
- &lt;/ul&gt;&lt;/li&gt;
298
- &lt;/ul&gt;</description>
299
- <pubDate>Sat, 30 Dec 2006 00:00:00 PST</pubDate>
300
- </item>
301
- <item>
302
- <title>Version 13.0.0 released</title>
303
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a13.0.0</link>
304
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a13.0.0</guid>
305
- <description>&lt;h1 id=&quot;13.0.0&quot;&gt;Version 13.0.0 (2006-12-27)&lt;/h1&gt;
306
-
307
- &lt;p&gt;This release fixes a &lt;em&gt;major&lt;/em&gt; instability bug, simplifies generated Verilog benches, and purifies the &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; reference documentation.&lt;/p&gt;
308
-
309
-
310
- &lt;h2&gt;Caution&lt;/h2&gt;
311
-
312
-
313
- &lt;ul&gt;
314
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_init&lt;/span&gt;&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_relay&lt;/span&gt;&lt;/code&gt; system task/functions have been removed. Generated Verilog benches no longer use them.
315
- &lt;ul&gt;
316
- &lt;li&gt;To pass your own command-line options to Ruby, set the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RUBYOPT&lt;/span&gt;&lt;/code&gt; environment variable before running a test.&lt;/li&gt;
317
- &lt;/ul&gt;&lt;/li&gt;
318
- &lt;/ul&gt;
319
-
320
-
321
- &lt;h3&gt;New features&lt;/h3&gt;
322
-
323
-
324
- &lt;ul&gt;
325
- &lt;li&gt;You can now choose when &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::relay_verilog&lt;/code&gt; is triggered: upon positive/negative edge of the clock signal, or any other criteria. This is done by passing a block to the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVpi&lt;/span&gt;::init_bench&lt;/code&gt; method (see &lt;a href=&quot;../ref/ruby/classes/RubyVpi.html&quot;&gt;the &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; reference documentation&lt;/a&gt; for details).&lt;/li&gt;
326
- &lt;/ul&gt;
327
-
328
-
329
- &lt;h2&gt;Details&lt;/h2&gt;
330
-
331
-
332
- &lt;ul&gt;
333
- &lt;li&gt;Fixed a major instability bug that was randomly causing segmentation faults and pthread assertion failures.
334
-
335
- &lt;p&gt;The problem was that the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_init&lt;/span&gt;&lt;/code&gt; system task/function was mischeviously unlocking a pthread mutex. From then onward, all code assumed that the mutex was still locked&amp;#8212;but in reality, the mutex was already unlocked.&lt;/p&gt;&lt;/li&gt;
336
- &lt;/ul&gt;
337
-
338
-
339
- &lt;ul&gt;
340
- &lt;li&gt;Replaced the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_init&lt;/span&gt;&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_relay&lt;/span&gt;&lt;/code&gt; system task/functions with callbacks.&lt;/li&gt;
341
- &lt;/ul&gt;
342
-
343
-
344
- &lt;ul&gt;
345
- &lt;li&gt;Excluded internal stuff from the &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; reference documentation for Ruby.&lt;/li&gt;
346
- &lt;/ul&gt;
347
-
348
-
349
- &lt;ul&gt;
350
- &lt;li&gt;Removed system-dependent path &lt;tt&gt;/usr/bin/ruby&lt;/tt&gt; from the tools.&lt;/li&gt;
351
- &lt;/ul&gt;</description>
352
- <pubDate>Wed, 27 Dec 2006 00:00:00 PST</pubDate>
353
- </item>
354
- <item>
355
- <title>Version 12.1.0 released</title>
356
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a12.1.0</link>
357
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a12.1.0</guid>
358
- <description>&lt;h1 id=&quot;12.1.0&quot;&gt;Version 12.1.0 (2006-12-22)&lt;/h1&gt;
359
-
360
- &lt;p&gt;This release adds interactive debugging support, adds new sections to the user manual, and cleanses some internals.&lt;/p&gt;
361
-
362
-
363
- &lt;h2&gt;Caution&lt;/h2&gt;
364
-
365
-
366
- &lt;ul&gt;
367
- &lt;li&gt;The &lt;tt&gt;lib/ruby-vpi/rspec.rb&lt;/tt&gt; and &lt;tt&gt;lib/ruby-vpi/xx.rb&lt;/tt&gt; files have been removed because they are no longer necessary.&lt;/li&gt;
368
- &lt;/ul&gt;
369
-
370
-
371
- &lt;ul&gt;
372
- &lt;li&gt;rSpec 0.7.0 or newer is now required because the sample tests utilize the &lt;code class=&quot;code&quot;&gt;should ==&lt;/code&gt; syntax.&lt;/li&gt;
373
- &lt;/ul&gt;
374
-
375
-
376
- &lt;h3&gt;New features&lt;/h3&gt;
377
-
378
-
379
- &lt;ul&gt;
380
- &lt;li&gt;Test runners now support the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;DEBUG&lt;/span&gt;&lt;/code&gt; environment variable, which enables the interactive debugger (ruby-debug) in &lt;a href=&quot;http://www.datanoise.com/articles/2006/12/20/post-mortem-debugging&quot;&gt;post-mortem debugging mode&lt;/a&gt;.
381
- &lt;ul&gt;
382
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;debugger&lt;/code&gt; command can also be used when the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;DEBUG&lt;/span&gt;&lt;/code&gt; environment variable is not activated.&lt;/li&gt;
383
- &lt;/ul&gt;&lt;/li&gt;
384
- &lt;/ul&gt;
385
-
386
-
387
- &lt;ul&gt;
388
- &lt;li&gt;Status messages, which are shown during initialization of a Ruby bench, now appear in your simulator&amp;#8217;s log files.&lt;/li&gt;
389
- &lt;/ul&gt;
390
-
391
-
392
- &lt;h2&gt;Details&lt;/h2&gt;
393
-
394
-
395
- &lt;ul&gt;
396
- &lt;li&gt;ruby-debug is now a gem dependency for Ruby-VPI.&lt;/li&gt;
397
- &lt;/ul&gt;
398
-
399
-
400
- &lt;ul&gt;
401
- &lt;li&gt;Added documentation about &lt;a href=&quot;manual.html#usage.test-runner&quot;&gt;test runners&lt;/a&gt; and the &lt;a href=&quot;manual.html#usage.debugger&quot;&gt;interactive debugger&lt;/a&gt; in the user manual.&lt;/li&gt;
402
- &lt;/ul&gt;
403
-
404
-
405
- &lt;ul&gt;
406
- &lt;li&gt;Added a &lt;tt&gt;README&lt;/tt&gt; file with hint about where to find the user manual.&lt;/li&gt;
407
- &lt;/ul&gt;
408
-
409
-
410
- &lt;ul&gt;
411
- &lt;li&gt;Removed code that wasn&amp;#8217;t being used, according to code coverage analysis, from the pipelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; sample.&lt;/li&gt;
412
- &lt;/ul&gt;</description>
413
- <pubDate>Fri, 22 Dec 2006 00:00:00 PST</pubDate>
414
- </item>
415
- <item>
416
- <title>Version 12.0.2 released</title>
417
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a12.0.2</link>
418
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a12.0.2</guid>
419
- <description>&lt;h1 id=&quot;12.0.2&quot;&gt;Version 12.0.2 (2006-12-18)&lt;/h1&gt;
420
-
421
- &lt;p&gt;This release fixes a problem in the 12.0.1 gem, where the &lt;strong&gt;generate_test.rb&lt;/strong&gt; and &lt;strong&gt;header_to_ruby.rb&lt;/strong&gt; tools were not being installed properly.&lt;/p&gt;</description>
422
- <pubDate>Mon, 18 Dec 2006 00:00:00 PST</pubDate>
423
- </item>
424
- <item>
425
- <title>Version 12.0.1 released</title>
426
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a12.0.1</link>
427
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a12.0.1</guid>
428
- <description>&lt;h1 id=&quot;12.0.1&quot;&gt;Version 12.0.1 (2006-12-18)&lt;/h1&gt;
429
-
430
- &lt;p&gt;This release fixes a problem in code coverage analysis.&lt;/p&gt;
431
-
432
-
433
- &lt;h2&gt;Thanks&lt;/h2&gt;
434
-
435
-
436
- &lt;ul&gt;
437
- &lt;li&gt;Mauricio Fernandez helped me solve the problem with code coverage analysis.&lt;/li&gt;
438
- &lt;/ul&gt;
439
-
440
-
441
- &lt;h2&gt;Details&lt;/h2&gt;
442
-
443
-
444
- &lt;p&gt;Previously, code coverage reports were not providing any useful information because they were being generated &lt;em&gt;before&lt;/em&gt; the test had a chance to run. This problem has been fixed&amp;#8212;code coverage reports are now generated &lt;em&gt;after&lt;/em&gt; the test has finished running.&lt;/p&gt;
445
-
446
-
447
- &lt;p&gt;This problem occurred because I had forgotten that &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Kernel&lt;/span&gt;.at_exit&lt;/code&gt; invokes the blocks passed to it in &lt;em&gt;reverse&lt;/em&gt; order. So, the coverage report was being generated before Test::Unit had a chance to run (it also uses &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Kernel&lt;/span&gt;.at_exit&lt;/code&gt;).&lt;/p&gt;</description>
448
- <pubDate>Mon, 18 Dec 2006 00:00:00 PST</pubDate>
449
- </item>
450
- <item>
451
- <title>Version 12.0.0 released</title>
452
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a12.0.0</link>
453
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a12.0.0</guid>
454
- <description>&lt;h1 id=&quot;12.0.0&quot;&gt;Version 12.0.0 (2006-12-07)&lt;/h1&gt;
455
-
456
- &lt;p&gt;This release adds support for the &lt;a href=&quot;http://chneukirchen.org/blog/archive/2006/10/announcing-test-spec-0-2-a-bdd-interface-for-test-unit.html&quot;&gt;test/spec&lt;/a&gt; library, fixes some bugs, and improves the user manual and generated tests.&lt;/p&gt;
457
-
458
-
459
- &lt;h2&gt;Caution&lt;/h2&gt;
460
-
461
-
462
- &lt;ul&gt;
463
- &lt;li&gt;Icarus Verilog 0.8 has been demoted to a &lt;a href=&quot;manual.html#setup.reqs&quot;&gt;mostly acceptable&lt;/a&gt; status.&lt;/li&gt;
464
- &lt;/ul&gt;
465
-
466
-
467
- &lt;ul&gt;
468
- &lt;li&gt;Generated Verilog benches no longer supply the &lt;tt&gt;-w&lt;/tt&gt; option to the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_init&lt;/span&gt;&lt;/code&gt; task.&lt;/li&gt;
469
- &lt;/ul&gt;
470
-
471
-
472
- &lt;ul&gt;
473
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;ruby-vpi/runner_proxy&lt;/code&gt; library now invokes test runners
474
- &lt;ul&gt;
475
- &lt;li&gt;just before exiting. Thus, you can invoke tasks in the main &lt;tt&gt;Rakefile&lt;/tt&gt; before the test runners are invoked.&lt;/li&gt;
476
- &lt;li&gt;located within any directory that is a descendant of the current working directory.&lt;/li&gt;
477
- &lt;/ul&gt;&lt;/li&gt;
478
- &lt;/ul&gt;
479
-
480
-
481
- &lt;ul&gt;
482
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_ARGS&lt;/span&gt;&lt;/code&gt; parameter of generated runners has been renamed to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_ARGUMENTS&lt;/span&gt;&lt;/code&gt; for clarity.&lt;/li&gt;
483
- &lt;/ul&gt;
484
-
485
-
486
- &lt;ul&gt;
487
- &lt;li&gt;The automated test generator
488
- &lt;ul&gt;
489
- &lt;li&gt;no longer displays the &lt;strong&gt;backup&lt;/strong&gt; status indicator.&lt;/li&gt;
490
- &lt;li&gt;now supplies a third argument to the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;MERGER&lt;/span&gt;&lt;/code&gt; command.&lt;/li&gt;
491
- &lt;li&gt;no longer replaces existing files with newly generated content during the &lt;strong&gt;update&lt;/strong&gt; action. Instead, it now writes the newly generated output to a &lt;tt&gt;.new&lt;/tt&gt; file and then invokes the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;MERGER&lt;/span&gt;&lt;/code&gt; command.&lt;/li&gt;
492
- &lt;/ul&gt;&lt;/li&gt;
493
- &lt;/ul&gt;
494
-
495
-
496
- &lt;h2&gt;Details&lt;/h2&gt;
497
-
498
-
499
- &lt;ul&gt;
500
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; class has two new methods: &lt;code class=&quot;code&quot;&gt;x!&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;z!&lt;/code&gt;, which set the handle&amp;#8217;s logic value to &lt;em&gt;unknown&lt;/em&gt; and &lt;em&gt;high impedance&lt;/em&gt; respectively.&lt;/li&gt;
501
- &lt;/ul&gt;
502
-
503
-
504
- &lt;ul&gt;
505
- &lt;li&gt;The tests for the simple up-counter example were randomly failing because the specifications were not asserting the design&amp;#8217;s &lt;code class=&quot;code&quot;&gt;reset&lt;/code&gt; signal long enough. So the design was getting into weird states and behaving in a non-deterministic way. This problem has been fixed.&lt;/li&gt;
506
- &lt;/ul&gt;
507
-
508
-
509
- &lt;ul&gt;
510
- &lt;li&gt;The user manual has been revised and some minor issues have been fixed.&lt;/li&gt;
511
- &lt;/ul&gt;
512
-
513
-
514
- &lt;h3&gt;Test generation&lt;/h3&gt;
515
-
516
-
517
- &lt;ul&gt;
518
- &lt;li&gt;The automated test generator accepts new command-line options:
519
- &lt;ul&gt;
520
- &lt;li&gt;&lt;tt&gt;--test-unit&lt;/tt&gt;&lt;/li&gt;
521
- &lt;li&gt;&lt;tt&gt;--test-spec&lt;/tt&gt;&lt;/li&gt;
522
- &lt;li&gt;&lt;tt&gt;--tspec&lt;/tt&gt;&lt;/li&gt;
523
- &lt;/ul&gt;&lt;/li&gt;
524
- &lt;/ul&gt;
525
-
526
-
527
- &lt;ul&gt;
528
- &lt;li&gt;The automated test generator was crashing when parsing module parameters of an input file which did not have any module parameters. This has been fixed.&lt;/li&gt;
529
- &lt;/ul&gt;
530
-
531
-
532
- &lt;ul&gt;
533
- &lt;li&gt;Generated Verilog benches now contain simpler clock generation code.&lt;/li&gt;
534
- &lt;/ul&gt;
535
-
536
-
537
- &lt;ul&gt;
538
- &lt;li&gt;Generated runners now contain
539
- &lt;ul&gt;
540
- &lt;li&gt;a &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#A60&quot;&gt;:setup&lt;/span&gt;&lt;/code&gt; task which is invoked before the simulator runs. It can be used to make preprations, such as converting Verilog header files into Ruby, for the simulation.&lt;/li&gt;
541
- &lt;li&gt;better explanations to accomodate new users.&lt;/li&gt;
542
- &lt;/ul&gt;&lt;/li&gt;
543
- &lt;/ul&gt;
544
-
545
-
546
- &lt;ul&gt;
547
- &lt;li&gt;Specifications generated in the &lt;strong&gt;generic&lt;/strong&gt; format no longer contain a class that is instantiated in the generated Ruby bench.&lt;/li&gt;
548
- &lt;/ul&gt;</description>
549
- <pubDate>Thu, 07 Dec 2006 00:00:00 PST</pubDate>
550
- </item>
551
- <item>
552
- <title>Version 11.1.1 released</title>
553
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a11.1.1</link>
554
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a11.1.1</guid>
555
- <description>&lt;h1 id=&quot;11.1.1&quot;&gt;Version 11.1.1 (2006-11-15)&lt;/h1&gt;
556
-
557
- &lt;p&gt;This release fixes a bug in the automated test generator, unifies the user manual and the website into a single documentation system, and adds support for rSpec 0.7.2.&lt;/p&gt;
558
-
559
-
560
- &lt;h2&gt;Thanks&lt;/h2&gt;
561
-
562
-
563
- &lt;ul&gt;
564
- &lt;li&gt;John Burr found the bug in the automated test generator.&lt;/li&gt;
565
- &lt;/ul&gt;
566
-
567
-
568
- &lt;h2&gt;Caution&lt;/h2&gt;
569
-
570
-
571
- &lt;ul&gt;
572
- &lt;li&gt;The user manual is now available &lt;em&gt;only&lt;/em&gt; in &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; format. If you still wish to have a plain-text version, you can use a text-based browser, such as &lt;a href=&quot;http://lynx.browser.org/&quot;&gt;lynx&lt;/a&gt;, to perform the necessary conversion.&lt;/li&gt;
573
- &lt;/ul&gt;
574
-
575
-
576
- &lt;h2&gt;Details&lt;/h2&gt;
577
-
578
-
579
- &lt;ul&gt;
580
- &lt;li&gt;The automated test generator no longer crashes when parsing a Verilog module declaration that contains multiple module parameters.&lt;/li&gt;
581
- &lt;/ul&gt;
582
-
583
-
584
- &lt;ul&gt;
585
- &lt;li&gt;The user manual and the website are now written using a custom documentation system based on RedCloth and &lt;span class=&quot;caps&quot;&gt;ERB&lt;/span&gt; instead of DocBook-XML. This makes it easier to edit the user manual and reuse its content in other areas of the website.&lt;/li&gt;
586
- &lt;/ul&gt;</description>
587
- <pubDate>Wed, 15 Nov 2006 00:00:00 PST</pubDate>
588
- </item>
589
- <item>
590
- <title>Version 11.1.0 released</title>
591
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a11.1.0</link>
592
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a11.1.0</guid>
593
- <description>&lt;h1 id=&quot;11.1.0&quot;&gt;Version 11.1.0 (2006-11-08)&lt;/h1&gt;
594
-
595
- &lt;p&gt;This release fixes a bug in generated benches, improves the &lt;a href=&quot;../ref/ruby/classes/Vpi/Handle.html&quot;&gt;the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; class&lt;/a&gt;, and improves performance by roughly 20%.&lt;/p&gt;
596
-
597
-
598
- &lt;h2&gt;Thanks&lt;/h2&gt;
599
-
600
-
601
- &lt;ul&gt;
602
- &lt;li&gt;Matt Fischler found the bug in generated benches (see below).&lt;/li&gt;
603
- &lt;/ul&gt;
604
-
605
-
606
- &lt;h2&gt;Caution&lt;/h2&gt;
607
-
608
-
609
- &lt;ul&gt;
610
- &lt;li&gt;A bug in generated Verilog and Ruby benches, which caused the &lt;pre&gt;ruby: no such file to load -- ruby-vpi (LoadError)&lt;/pre&gt; error, has been fixed. Please regenerate your tests to apply this bug fix to your tests.&lt;/li&gt;
611
- &lt;/ul&gt;
612
-
613
-
614
- &lt;h2&gt;Details&lt;/h2&gt;
615
-
616
-
617
- &lt;ul&gt;
618
- &lt;li&gt;The class &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SWIG&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;TYPE_p_unsigned_int&lt;/span&gt;&lt;/code&gt; has been aliased as &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; for easier access.&lt;/li&gt;
619
- &lt;/ul&gt;
620
-
621
-
622
- &lt;ul&gt;
623
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.to_s&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.inspect&lt;/code&gt; now produce more informative output. For example, what used to appear as &lt;pre&gt;#&amp;lt;SWIG::TYPE_p_unsigned_int:0x2aaab6574fa0&amp;gt;&lt;/pre&gt; now appears as &lt;pre&gt;#&amp;lt;Vpi::Handle vpiModule fullName=counter_rspec_bench, size=-1, file=counter_rspec_bench.v, lineNo=2&amp;gt;&lt;/pre&gt; in this release.
624
- &lt;ul&gt;
625
- &lt;li&gt;You can also provide a list of &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; properties, as names or integer constants, to those methods to see additional information in the output.&lt;/li&gt;
626
- &lt;/ul&gt;&lt;/li&gt;
627
- &lt;/ul&gt;
628
-
629
-
630
- &lt;ul&gt;
631
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; now implements all methods from &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Enumerable&lt;/span&gt;&lt;/code&gt;, such as &lt;code class=&quot;code&quot;&gt;map&lt;/code&gt;, &lt;code class=&quot;code&quot;&gt;each&lt;/code&gt;, &lt;code class=&quot;code&quot;&gt;select&lt;/code&gt;, and so on. However, unlike their counterparts in &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Enumerable&lt;/span&gt;&lt;/code&gt;, these methods also accept a list of &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; properties, as names or integer constants. Thus, you are now able to write &lt;code class=&quot;code&quot;&gt;handle.select(&lt;span style=&quot;color:#A60&quot;&gt;:reg&lt;/span&gt;, &lt;span style=&quot;color:#A60&quot;&gt;:net&lt;/span&gt;) {|h| h.size &amp;gt; &lt;span style=&quot;color:#00D; font-weight:bold&quot;&gt;5&lt;/span&gt;}&lt;/code&gt; to obtain a list of child handles to registers and nets whose capacity is greater than 5 bits.&lt;/li&gt;
632
- &lt;/ul&gt;
633
-
634
-
635
- &lt;ul&gt;
636
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.[]&lt;/code&gt;, &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.get_value&lt;/code&gt;, and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.put_value&lt;/code&gt; methods now accept names of &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; properties as well as their integer constants. Thus, you are now able to write &lt;code class=&quot;code&quot;&gt;handle[&lt;span style=&quot;color:#A60&quot;&gt;:reg&lt;/span&gt;, &lt;span style=&quot;color:#A60&quot;&gt;:net&lt;/span&gt;]&lt;/code&gt; to obtain a list of handles to all child registers and nets.&lt;/li&gt;
637
- &lt;/ul&gt;
638
-
639
-
640
- &lt;ul&gt;
641
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.method_missing&lt;/code&gt; has been refactored to cache queries. There is now, approximately, 20% improvement in performance.&lt;/li&gt;
642
- &lt;/ul&gt;
643
-
644
-
645
- &lt;ul&gt;
646
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.method_missing&lt;/code&gt; has been fixed to accept operations with multiple underscores. For example, before this release, you could not write &lt;code class=&quot;code&quot;&gt;handle.find_all_reg {|r| r.name =~ &lt;span style=&quot;background-color:#fff0ff&quot;&gt;&lt;span style=&quot;color:#404&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#808&quot;&gt;foo&lt;/span&gt;&lt;span style=&quot;color:#404&quot;&gt;/&lt;/span&gt;&lt;/span&gt;}&lt;/code&gt; because the &amp;#8220;find_all_reg&amp;#8221; method would be interpreted as the operation &amp;#8220;find&amp;#8221; and the &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; property &amp;#8220;all_reg&amp;#8221;.&lt;/li&gt;
647
- &lt;/ul&gt;
648
-
649
-
650
- &lt;ul&gt;
651
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.method_missing&lt;/code&gt; no longer requires that the first letter of a method be lower case. For example, now you can now write &lt;code class=&quot;code&quot;&gt;handle.&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;IntVal&lt;/span&gt;&lt;/code&gt; in addition to &lt;code class=&quot;code&quot;&gt;handle.intVal&lt;/code&gt;.&lt;/li&gt;
652
- &lt;/ul&gt;
653
-
654
-
655
- &lt;ul&gt;
656
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;IntegerGenerator&lt;/span&gt;&lt;/code&gt; class, in the pipelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; example, has been fixed so that multiple instances do not interfere with the generation of each other&amp;#8217;s prime integers.&lt;/li&gt;
657
- &lt;/ul&gt;
658
-
659
-
660
- &lt;ul&gt;
661
- &lt;li&gt;Due to a bug in the &lt;tt&gt;Rakefile&lt;/tt&gt;, the reference documentation was not included in the previous few releases. This has been fixed.&lt;/li&gt;
662
- &lt;/ul&gt;</description>
663
- <pubDate>Wed, 08 Nov 2006 00:00:00 PST</pubDate>
664
- </item>
665
- <item>
666
- <title>Version 11.0.0 released</title>
667
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a11.0.0</link>
668
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a11.0.0</guid>
669
- <description>&lt;h1 id=&quot;11.0.0&quot;&gt;Version 11.0.0 (2006-11-05)&lt;/h1&gt;
670
-
671
- &lt;p&gt;This release shortens generated Ruby benches and uses the less confusing notation for defining &lt;a href=&quot;http://wiki.rubygarden.org/Ruby/page/show/SingletonTutorial&quot;&gt;singleton methods&lt;/a&gt; in generated designs and prototypes.&lt;/p&gt;
672
-
673
-
674
- &lt;h2&gt;Caution&lt;/h2&gt;
675
-
676
-
677
- &lt;ul&gt;
678
- &lt;li&gt;The arguments for the &lt;a href=&quot;../ref/ruby/classes/RubyVpi.html&quot;&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVPI&lt;/span&gt;.init_bench&lt;/code&gt; method&lt;/a&gt; have changed.&lt;/li&gt;
679
- &lt;/ul&gt;
680
-
681
-
682
- &lt;ul&gt;
683
- &lt;li&gt;&lt;strong&gt;generate_test.rb&lt;/strong&gt; no longer emits undocumented status indicators: &lt;em&gt;name&lt;/em&gt; and &lt;em&gt;format&lt;/em&gt;.&lt;/li&gt;
684
- &lt;/ul&gt;
685
-
686
-
687
- &lt;ul&gt;
688
- &lt;li&gt;The source code is no longer distributed as a &lt;strong&gt;zip&lt;/strong&gt; package, because it seems to be quite underutilized in comparison to the &lt;strong&gt;tgz&lt;/strong&gt; and &lt;strong&gt;gem&lt;/strong&gt; packages.&lt;/li&gt;
689
- &lt;/ul&gt;
690
-
691
-
692
- &lt;h2&gt;Details&lt;/h2&gt;
693
-
694
-
695
- &lt;ul&gt;
696
- &lt;li&gt;Generated Ruby benches have been shortened to just &lt;em&gt;one&lt;/em&gt; line of code!&lt;/li&gt;
697
- &lt;/ul&gt;
698
-
699
-
700
- &lt;ul&gt;
701
- &lt;li&gt;The less confusing notation of &lt;pre class=&quot;code&quot;&gt;&lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;def&lt;/span&gt; some_object.a_singleton_method
702
- do_stuff
703
- &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;end&lt;/span&gt;&lt;/pre&gt; is now used instead of the &lt;pre class=&quot;code&quot;&gt;&lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;class&lt;/span&gt; &amp;lt;&amp;lt; &lt;span style=&quot;color:#B06; font-weight:bold&quot;&gt;some_object&lt;/span&gt;
704
- &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color:#06B; font-weight:bold&quot;&gt;a_singleton_method&lt;/span&gt;
705
- do_stuff
706
- &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;end&lt;/span&gt;
707
- &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;end&lt;/span&gt;&lt;/pre&gt; notation.
708
- &lt;ul&gt;
709
- &lt;li&gt;The tutorial and examples have been updated accordingly.&lt;/li&gt;
710
- &lt;/ul&gt;&lt;/li&gt;
711
- &lt;/ul&gt;
712
-
713
-
714
- &lt;ul&gt;
715
- &lt;li&gt;The pipelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; example now has an updated &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;IntegerGenerator&lt;/span&gt;&lt;/code&gt; class.&lt;/li&gt;
716
- &lt;/ul&gt;</description>
717
- <pubDate>Sun, 05 Nov 2006 00:00:00 PST</pubDate>
718
- </item>
719
- <item>
720
- <title>Version 10.0.0 released</title>
721
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a10.0.0</link>
722
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a10.0.0</guid>
723
- <description>&lt;h1 id=&quot;10.0.0&quot;&gt;Version 10.0.0 (2006-11-05)&lt;/h1&gt;
724
-
725
- &lt;p&gt;This release adds the ability to access a handle&amp;#8217;s children and reduces the amount of code produced by the automated test generator.&lt;/p&gt;
726
-
727
-
728
- &lt;h2&gt;Thanks&lt;/h2&gt;
729
-
730
-
731
- &lt;ul&gt;
732
- &lt;li&gt;Matt Fischler found the problem of misdirected compilation errors in Verilog benches.&lt;/li&gt;
733
- &lt;/ul&gt;
734
-
735
-
736
- &lt;h2&gt;Caution&lt;/h2&gt;
737
-
738
-
739
- &lt;ul&gt;
740
- &lt;li&gt;The way in which Ruby-VPI and generated tests interact has changed: the design is now a &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; handle object and the &lt;tt&gt;design.rb&lt;/tt&gt; and &lt;tt&gt;proto.rb&lt;/tt&gt; files define &lt;a href=&quot;http://wiki.rubygarden.org/Ruby/page/show/SingletonTutorial&quot;&gt;singleton methods&lt;/a&gt; for that object.
741
- &lt;ul&gt;
742
- &lt;li&gt;I suggest that you regenerate your existing tests (just run &lt;strong&gt;generate_test.rb&lt;/strong&gt; again) whilst employing the service of a text merging tool (see the user manual).&lt;/li&gt;
743
- &lt;/ul&gt;&lt;/li&gt;
744
- &lt;/ul&gt;
745
-
746
-
747
- &lt;ul&gt;
748
- &lt;li&gt;You can now access a handle&amp;#8217;s children by simply calling methods on it. In the event that a child handle has the same name as a &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; property, the child is given priority. However, you can always access &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; properties explicitly via the &lt;code class=&quot;code&quot;&gt;get_value&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;put_value&lt;/code&gt; methods.&lt;/li&gt;
749
- &lt;/ul&gt;
750
-
751
-
752
- &lt;ul&gt;
753
- &lt;li&gt;&lt;strong&gt;generate_test.rb&lt;/strong&gt; no longer accepts the &lt;pre&gt;-s&lt;/pre&gt; and &lt;pre&gt;-u&lt;/pre&gt; options. Use their longer counterparts &lt;pre&gt;--rspec&lt;/pre&gt; and &lt;pre&gt;--xunit&lt;/pre&gt; instead.&lt;/li&gt;
754
- &lt;/ul&gt;
755
-
756
-
757
- &lt;h2&gt;Details&lt;/h2&gt;
758
-
759
-
760
- &lt;h3&gt;Automated test generator&lt;/h3&gt;
761
-
762
-
763
- &lt;ul&gt;
764
- &lt;li&gt;Generated Verilog benches no longer divert compilation errors from Verilog design files. That is, if the Verilog simulator finds compilation errors in a Verilog design file, it will report that the Verilog design file is at fault (instead of reporting that the generated Verilog bench is at fault).&lt;/li&gt;
765
- &lt;/ul&gt;
766
-
767
-
768
- &lt;ul&gt;
769
- &lt;li&gt;The user is now notified when a backup of an existing file is made.&lt;/li&gt;
770
- &lt;/ul&gt;
771
-
772
-
773
- &lt;ul&gt;
774
- &lt;li&gt;Generated tests have been greatly simplified to reduce the amount of work for the user.
775
- &lt;ul&gt;
776
- &lt;li&gt;The design is now just a handle to the module in the Verilog bench.&lt;/li&gt;
777
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;include &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#33B&quot;&gt;@design&lt;/span&gt;&lt;/code&gt; are no longer generated.&lt;/li&gt;
778
- &lt;li&gt;The tutorial and examples have been updated accordingly.&lt;/li&gt;
779
- &lt;/ul&gt;&lt;/li&gt;
780
- &lt;/ul&gt;
781
-
782
-
783
- &lt;h3&gt;User manual&lt;/h3&gt;
784
-
785
-
786
- &lt;ul&gt;
787
- &lt;li&gt;Revised the stylesheet to make disjoint sections readily distinguishable from each other, through generous spacing and minor coloring.&lt;/li&gt;
788
- &lt;/ul&gt;
789
-
790
-
791
- &lt;ul&gt;
792
- &lt;li&gt;Added tips about &lt;tt&gt;ruby-vpi/runner_proxy&lt;/tt&gt;, &lt;pre&gt;rake -T&lt;/pre&gt;, and using &lt;strong&gt;kdiff3&lt;/strong&gt; with &lt;strong&gt;generate_test.rb&lt;/strong&gt;.&lt;/li&gt;
793
- &lt;/ul&gt;
794
-
795
-
796
- &lt;ul&gt;
797
- &lt;li&gt;Moved installation information into a new &amp;#8220;setup&amp;#8221; chapter.&lt;/li&gt;
798
- &lt;/ul&gt;</description>
799
- <pubDate>Sun, 05 Nov 2006 00:00:00 PST</pubDate>
800
- </item>
801
- <item>
802
- <title>Version 9.0.0 released</title>
803
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a9.0.0</link>
804
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a9.0.0</guid>
805
- <description>&lt;h1 id=&quot;9.0.0&quot;&gt;Version 9.0.0 (2006-10-28)&lt;/h1&gt;
806
-
807
- &lt;p&gt;This release improves the automated test generator and adds new content to the user manual.&lt;/p&gt;
808
-
809
-
810
- &lt;h2&gt;Thanks&lt;/h2&gt;
811
-
812
-
813
- &lt;ul&gt;
814
- &lt;li&gt;Matt Fischler helped test and debug the installation of Ruby-VPI on Windows.&lt;/li&gt;
815
- &lt;/ul&gt;
816
-
817
-
818
- &lt;h2&gt;Caution&lt;/h2&gt;
819
-
820
-
821
- &lt;ul&gt;
822
- &lt;li&gt;The command-line options for &lt;strong&gt;generate_test.rb&lt;/strong&gt; have changed. Run the command &lt;pre&gt;generate_test.rb --help&lt;/pre&gt; for details.&lt;/li&gt;
823
- &lt;/ul&gt;
824
-
825
-
826
- &lt;h2&gt;Details&lt;/h2&gt;
827
-
828
-
829
- &lt;ul&gt;
830
- &lt;li&gt;Test runners now attempt to resolve paths in &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_SOURCES&lt;/span&gt;&lt;/code&gt; by searching for them within the directories specified in &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_INCLUDES&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
831
- &lt;/ul&gt;
832
-
833
-
834
- &lt;ul&gt;
835
- &lt;li&gt;Synopsys &lt;span class=&quot;caps&quot;&gt;VCS&lt;/span&gt; is now used in a better way (via the &lt;pre&gt;-load&lt;/pre&gt; option).
836
- &lt;ul&gt;
837
- &lt;li&gt;The old &lt;span class=&quot;caps&quot;&gt;PLI&lt;/span&gt; table file (&lt;tt&gt;synopsys_vcs.tab&lt;/tt&gt;) has been removed.&lt;/li&gt;
838
- &lt;li&gt;The C extension has been revised accordingly.&lt;/li&gt;
839
- &lt;/ul&gt;&lt;/li&gt;
840
- &lt;/ul&gt;
841
-
842
-
843
- &lt;ul&gt;
844
- &lt;li&gt;The C extension now compiles without errors in Cygwin.&lt;/li&gt;
845
- &lt;/ul&gt;
846
-
847
-
848
- &lt;ul&gt;
849
- &lt;li&gt;The automated test generator now:
850
- &lt;ul&gt;
851
- &lt;li&gt;Only creates output files when necessary.&lt;/li&gt;
852
- &lt;li&gt;Updates existing output files using &lt;a href=&quot;manual.html#setup.recom&quot;&gt;text merging tools&lt;/a&gt; if possible. (Refer to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;MERGER&lt;/span&gt;&lt;/code&gt; in the help information of &lt;strong&gt;generate_test.rb&lt;/strong&gt;.)&lt;/li&gt;
853
- &lt;li&gt;Emits progress information similar to Ruby on Rails.&lt;/li&gt;
854
- &lt;/ul&gt;&lt;/li&gt;
855
- &lt;/ul&gt;
856
-
857
-
858
- &lt;ul&gt;
859
- &lt;li&gt;The user manual now:
860
- &lt;ul&gt;
861
- &lt;li&gt;Includes instructions for installing on Windows (via Cygwin).&lt;/li&gt;
862
- &lt;li&gt;Has a recommended software section, with links to text merging tools.&lt;/li&gt;
863
- &lt;li&gt;Uses the term &lt;a href=&quot;http://en.wikipedia.org/wiki/XUnit&quot;&gt;xUnit&lt;/a&gt; instead of &amp;#8220;unit test&amp;#8221;.&lt;/li&gt;
864
- &lt;li&gt;Correctly spells &amp;#8220;rSpec&amp;#8221;.&lt;/li&gt;
865
- &lt;/ul&gt;&lt;/li&gt;
866
- &lt;/ul&gt;</description>
867
- <pubDate>Sat, 28 Oct 2006 00:00:00 PDT</pubDate>
868
- </item>
869
- <item>
870
- <title>Version 8.2.0 released</title>
871
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a8.2.0</link>
872
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a8.2.0</guid>
873
- <description>&lt;h1 id=&quot;8.2.0&quot;&gt;Version 8.2.0 (2006-10-24)&lt;/h1&gt;
874
-
875
- &lt;p&gt;This release simplifies configuration of generated tests.&lt;/p&gt;
876
-
877
-
878
- &lt;h2&gt;Thanks&lt;/h2&gt;
879
-
880
-
881
- &lt;ul&gt;
882
- &lt;li&gt;&lt;a href=&quot;http://www.soe.ucsc.edu/classes/cmpe126/Fall06/&quot;&gt;Students in the &lt;span class=&quot;caps&quot;&gt;CMPE&lt;/span&gt;-126 class&lt;/a&gt; for their comments and criticisms.&lt;/li&gt;
883
- &lt;/ul&gt;
884
-
885
-
886
- &lt;h2&gt;Caution&lt;/h2&gt;
887
-
888
-
889
- &lt;ul&gt;
890
- &lt;li&gt;Generated runners now have a &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_INCLUDES&lt;/span&gt;&lt;/code&gt; array, whose entries specify places where Verilog source files, needed by the Verilog design, reside.&lt;/li&gt;
891
- &lt;/ul&gt;
892
-
893
-
894
- &lt;h2&gt;Details&lt;/h2&gt;
895
-
896
-
897
- &lt;ul&gt;
898
- &lt;li&gt;Generated Verilog benches now inherit all &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;background-color:#f0fff0&quot;&gt;&lt;span style=&quot;color:#161&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#2B2&quot;&gt;include&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;background-color:#f0fff0&quot;&gt;&lt;span style=&quot;color:#161&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#2B2&quot;&gt;define&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; directives from the Verilog design in a simpler manner.&lt;/li&gt;
899
- &lt;li&gt;A generated test no longer requires its Verilog design to reside in the same directory.&lt;/li&gt;
900
- &lt;li&gt;The sample tests have been updated accordingly.&lt;/li&gt;
901
- &lt;/ul&gt;</description>
902
- <pubDate>Tue, 24 Oct 2006 00:00:00 PDT</pubDate>
903
- </item>
904
- <item>
905
- <title>Version 8.1.0 released</title>
906
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a8.1.0</link>
907
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a8.1.0</guid>
908
- <description>&lt;h1 id=&quot;8.1.0&quot;&gt;Version 8.1.0 (2006-10-21)&lt;/h1&gt;
909
-
910
- &lt;p&gt;This release adds an integer library and renames the vpi_util library.&lt;/p&gt;
911
-
912
-
913
- &lt;h2&gt;Caution&lt;/h2&gt;
914
-
915
-
916
- &lt;ul&gt;
917
- &lt;li&gt;The &lt;strong&gt;vpi_util&lt;/strong&gt; library has been renamed to &lt;strong&gt;vpi&lt;/strong&gt;. This change should not affect your code unless you explicitly imported this library via &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;ruby-vpi/vpi_util&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;. In which case, you should update your code to use &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;ruby-vpi/vpi&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; accordingly.&lt;/li&gt;
918
- &lt;/ul&gt;
919
-
920
-
921
- &lt;h2&gt;Details&lt;/h2&gt;
922
-
923
-
924
- &lt;ul&gt;
925
- &lt;li&gt;An integer library has been added to simplify common tasks related to hardware and the binary number system. You can import this library for use via &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;ruby-vpi/integer&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
926
- &lt;/ul&gt;</description>
927
- <pubDate>Sat, 21 Oct 2006 00:00:00 PDT</pubDate>
928
- </item>
929
- <item>
930
- <title>Version 8.0.0 released</title>
931
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a8.0.0</link>
932
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a8.0.0</guid>
933
- <description>&lt;h1 id=&quot;8.0.0&quot;&gt;Version 8.0.0 (2006-10-13)&lt;/h1&gt;
934
-
935
- &lt;p&gt;This release renames some identifiers for consistency, updates the documentation, and improves integration with RubyGems.&lt;/p&gt;
936
-
937
-
938
- &lt;h2&gt;Caution&lt;/h2&gt;
939
-
940
-
941
- &lt;ul&gt;
942
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVPI&lt;/span&gt;&lt;/code&gt; module has been renamed to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVpi&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
943
- &lt;/ul&gt;
944
-
945
-
946
- &lt;ul&gt;
947
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;PROTO&lt;/span&gt;&lt;/code&gt; environment variable has been renamed to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;PROTOTYPE&lt;/span&gt;&lt;/code&gt;.
948
- &lt;ul&gt;
949
- &lt;li&gt;In addition to using &lt;strong&gt;unset&lt;/strong&gt;, you can now disable simulation of the prototype by assigning an empty value to this variable.&lt;/li&gt;
950
- &lt;/ul&gt;&lt;/li&gt;
951
- &lt;/ul&gt;
952
-
953
-
954
- &lt;h2&gt;Details&lt;/h2&gt;
955
-
956
-
957
- &lt;ul&gt;
958
- &lt;li&gt;We now use &lt;a href=&quot;http://darcs.net&quot;&gt;Darcs&lt;/a&gt; for revision control, instead of Subversion. The source repository can now be accessed at &lt;a href=&quot;http://ruby-vpi.rubyforge.org/src/ruby-vpi&quot;&gt;http://ruby-vpi.rubyforge.org/src/ruby-vpi&lt;/a&gt;.&lt;/li&gt;
959
- &lt;/ul&gt;
960
-
961
-
962
- &lt;ul&gt;
963
- &lt;li&gt;The source code is now distributed in tar.gz and zip form, in addition to gem.&lt;/li&gt;
964
- &lt;/ul&gt;
965
-
966
-
967
- &lt;ul&gt;
968
- &lt;li&gt;Some identifiers have been renamed for better consistency.&lt;/li&gt;
969
- &lt;/ul&gt;
970
-
971
-
972
- &lt;ul&gt;
973
- &lt;li&gt;The user manual now resides directly within the &lt;tt&gt;doc/&lt;/tt&gt; directory.
974
- &lt;ul&gt;
975
- &lt;li&gt;The integration of documentation in &lt;strong&gt;gem_server&lt;/strong&gt; has been improved.&lt;/li&gt;
976
- &lt;/ul&gt;&lt;/li&gt;
977
- &lt;/ul&gt;
978
-
979
-
980
- &lt;ul&gt;
981
- &lt;li&gt;The glossary and tutorial in the user manual have been revised.&lt;/li&gt;
982
- &lt;/ul&gt;</description>
983
- <pubDate>Fri, 13 Oct 2006 00:00:00 PDT</pubDate>
984
- </item>
985
- <item>
986
- <title>Version 7.3.0 released</title>
987
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a7.3.0</link>
988
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a7.3.0</guid>
989
- <description>&lt;h1 id=&quot;7.3.0&quot;&gt;Version 7.3.0 (2006-09-30)&lt;/h1&gt;
990
-
991
- &lt;p&gt;This release fixes a bug in generated Verilog benches, includes parsed constants in generated tests, and adds new methods to handles.&lt;/p&gt;
992
-
993
-
994
- &lt;h2&gt;Caution&lt;/h2&gt;
995
-
996
-
997
- &lt;ul&gt;
998
- &lt;li&gt;Handles now have two new methods:
999
- &lt;ul&gt;
1000
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;handle.x?&lt;/code&gt; checks if the logic value is &amp;#8220;don&amp;#8217;t care&amp;#8221; &lt;/li&gt;
1001
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;handle.z?&lt;/code&gt; checks if the logic value is high impedance&lt;/li&gt;
1002
- &lt;/ul&gt;&lt;/li&gt;
1003
- &lt;/ul&gt;
1004
-
1005
-
1006
- &lt;h2&gt;Details&lt;/h2&gt;
1007
-
1008
-
1009
- &lt;ul&gt;
1010
- &lt;li&gt;Module instantiation code in generated Verilog benches has been fixed. Whitespace between the module type and instance variable was missing.&lt;/li&gt;
1011
- &lt;/ul&gt;
1012
-
1013
-
1014
- &lt;ul&gt;
1015
- &lt;li&gt;The test generator tool now provides parsed Verilog constants and include-directives in generated Verilog benches; and parsed Verilog constants in generated Ruby designs.
1016
- &lt;ul&gt;
1017
- &lt;li&gt;The pipelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; example has been revised accordingly.&lt;/li&gt;
1018
- &lt;/ul&gt;&lt;/li&gt;
1019
- &lt;/ul&gt;
1020
-
1021
-
1022
- &lt;ul&gt;
1023
- &lt;li&gt;A library for parsing Verilog source code has been added as &lt;tt&gt;lib/ruby-vpi/verilog_parser.rb&lt;/tt&gt;.&lt;/li&gt;
1024
- &lt;/ul&gt;</description>
1025
- <pubDate>Sat, 30 Sep 2006 00:00:00 PDT</pubDate>
1026
- </item>
1027
- <item>
1028
- <title>Version 7.2.0 released</title>
1029
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a7.2.0</link>
1030
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a7.2.0</guid>
1031
- <description>&lt;h1 id=&quot;7.2.0&quot;&gt;Version 7.2.0 (2006-09-15)&lt;/h1&gt;
1032
-
1033
- &lt;p&gt;This release adds initial support for code coverage analysis via the &lt;a href=&quot;http://eigenclass.org/hiki.rb?rcov&quot;&gt;rcov library&lt;/a&gt;.&lt;/p&gt;
1034
-
1035
-
1036
- &lt;h2&gt;Thanks&lt;/h2&gt;
1037
-
1038
-
1039
- &lt;ul&gt;
1040
- &lt;li&gt;Mauricio Fernandez helped me use rcov without its runner.&lt;/li&gt;
1041
- &lt;/ul&gt;
1042
-
1043
-
1044
- &lt;h2&gt;Details&lt;/h2&gt;
1045
-
1046
-
1047
- &lt;ul&gt;
1048
- &lt;li&gt;Added initial support (full capabilites of the rcov library, such as its various analysis modes, are not yet utilized) for code coverage analysis, which can be enabled by setting the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;COVERAGE&lt;/span&gt;&lt;/code&gt; environment variable to a non-empty value before running a test.
1049
- &lt;ul&gt;
1050
- &lt;li&gt;For example, you can run a test with the &lt;span class=&quot;caps&quot;&gt;GPL&lt;/span&gt; Cver simulator while enabling the generation of code coverage reports as follows: &lt;pre&gt;export COVERAGE=1; rake cver&lt;/pre&gt;&lt;/li&gt;
1051
- &lt;/ul&gt;&lt;/li&gt;
1052
- &lt;/ul&gt;
1053
-
1054
-
1055
- &lt;ul&gt;
1056
- &lt;li&gt;Coverage reports are generated in text and &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; formats.&lt;/li&gt;
1057
- &lt;/ul&gt;</description>
1058
- <pubDate>Fri, 15 Sep 2006 00:00:00 PDT</pubDate>
1059
- </item>
1060
- <item>
1061
- <title>Version 7.1.0 released</title>
1062
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a7.1.0</link>
1063
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a7.1.0</guid>
1064
- <description>&lt;h1 id=&quot;7.1.0&quot;&gt;Version 7.1.0 (2006-08-29)&lt;/h1&gt;
1065
-
1066
- &lt;p&gt;This release simplifies running of multiple tests, restores compatibility with Synopsys &lt;span class=&quot;caps&quot;&gt;VCS&lt;/span&gt;, and better integrates with RubyGems.&lt;/p&gt;
1067
-
1068
-
1069
- &lt;h2&gt;Details&lt;/h2&gt;
1070
-
1071
-
1072
- &lt;ul&gt;
1073
- &lt;li&gt;Added &lt;tt&gt;lib/ruby-vpi/runner_proxy.rb&lt;/tt&gt; library which, when embedded into a Rakefile, runs all generated tests in the working directory with any specified arguments. For example, have a look at the &lt;tt&gt;samp/counter/Rakefile&lt;/tt&gt; file.&lt;/li&gt;
1074
- &lt;/ul&gt;
1075
-
1076
-
1077
- &lt;ul&gt;
1078
- &lt;li&gt;Fixed a bug that prevented one from running tests with Synopsys &lt;span class=&quot;caps&quot;&gt;VCS&lt;/span&gt;.&lt;/li&gt;
1079
- &lt;/ul&gt;
1080
-
1081
-
1082
- &lt;ul&gt;
1083
- &lt;li&gt;Ruby-VPI documentation is now available through RubyGems&amp;#8217; &lt;a href=&quot;http://docs.rubygems.org/read/chapter/2#page10&quot;&gt;&lt;strong&gt;gem_server&lt;/strong&gt; web interface&lt;/a&gt;.&lt;/li&gt;
1084
- &lt;/ul&gt;
1085
-
1086
-
1087
- &lt;ul&gt;
1088
- &lt;li&gt;The user manual now discusses how to determine the location of a Ruby-VPI installation.&lt;/li&gt;
1089
- &lt;/ul&gt;
1090
-
1091
-
1092
- &lt;ul&gt;
1093
- &lt;li&gt;The &lt;tt&gt;tpl/&lt;/tt&gt; directory has been removed.&lt;/li&gt;
1094
- &lt;/ul&gt;</description>
1095
- <pubDate>Tue, 29 Aug 2006 00:00:00 PDT</pubDate>
1096
- </item>
1097
- <item>
1098
- <title>Version 7.0.0 released</title>
1099
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a7.0.0</link>
1100
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a7.0.0</guid>
1101
- <description>&lt;h1 id=&quot;7.0.0&quot;&gt;Version 7.0.0 (2006-08-29)&lt;/h1&gt;
1102
-
1103
- &lt;p&gt;This release distributes Ruby-VPI as a gem, improves portability of generated tests, and fixes a bug.&lt;/p&gt;
1104
-
1105
-
1106
- &lt;h2&gt;Caution&lt;/h2&gt;
1107
-
1108
-
1109
- &lt;ul&gt;
1110
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;put_value()&lt;/code&gt; now accomodates register value overflows when verifying the value it has written.&lt;/li&gt;
1111
- &lt;/ul&gt;
1112
-
1113
-
1114
- &lt;ul&gt;
1115
- &lt;li&gt;The test generator&amp;#8217;s templates and the examples have been updated as follows:
1116
- &lt;ul&gt;
1117
- &lt;li&gt;Test runners no longer have to specify the path to Ruby-VPI installation directory. Instead, they simply &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;ruby-vpi/runner&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;. Thus, you can run your tests on any machine with Ruby-VPI without having to know where it is installed.&lt;/li&gt;
1118
- &lt;li&gt;Ruby benches now invoke &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVPI&lt;/span&gt;.init_bench&lt;/code&gt; instead of &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;bench&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;; setup_bench&lt;/code&gt; to become initialized.&lt;/li&gt;
1119
- &lt;/ul&gt;&lt;/li&gt;
1120
- &lt;/ul&gt;
1121
-
1122
-
1123
- &lt;ul&gt;
1124
- &lt;li&gt;All Ruby libraries in the &lt;tt&gt;lib/&lt;/tt&gt; directory have been moved into &lt;tt&gt;lib/ruby-vpi/&lt;/tt&gt; to prevent load-path clashes with other gems. You should access these libraries by prefixing their path with &amp;#8220;ruby-vpi&amp;#8221;. For example, &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;vpi_util&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; should now be written as &lt;code class=&quot;code&quot;&gt;require &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;ruby-vpi/vpi_util&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1125
- &lt;/ul&gt;
1126
-
1127
-
1128
- &lt;ul&gt;
1129
- &lt;li&gt;The &lt;tt&gt;src/&lt;/tt&gt; directory has been renamed to &lt;tt&gt;ext/&lt;/tt&gt; to follow RubyGems convention.&lt;/li&gt;
1130
- &lt;/ul&gt;
1131
-
1132
-
1133
- &lt;h2&gt;Details&lt;/h2&gt;
1134
-
1135
-
1136
- &lt;ul&gt;
1137
- &lt;li&gt;Ruby-VPI is now distributed only as a &lt;a href=&quot;http://www.rubygems.org&quot;&gt;source gem&lt;/a&gt;. You can decompress the gem without installing it onto your system by running the command &lt;pre&gt;gem install -i output_directory ruby-vpi-7.0.0.gem&lt;/pre&gt;. In addition, you can still obtain the source code directly from the Subversion repository.&lt;/li&gt;
1138
- &lt;/ul&gt;
1139
-
1140
-
1141
- &lt;ul&gt;
1142
- &lt;li&gt;The tools in &lt;tt&gt;bin/&lt;/tt&gt; become available in your system&amp;#8217;s &lt;tt&gt;bin/&lt;/tt&gt; directory when the gem is installed.
1143
- &lt;ul&gt;
1144
- &lt;li&gt;Usage and help information has been added to the &lt;strong&gt;header_to_ruby.rb&lt;/strong&gt; tool.&lt;/li&gt;
1145
- &lt;/ul&gt;&lt;/li&gt;
1146
- &lt;/ul&gt;
1147
-
1148
-
1149
- &lt;ul&gt;
1150
- &lt;li&gt;Incorrect spelling of &lt;span class=&quot;caps&quot;&gt;GPL&lt;/span&gt; Cver (v should be uncapitalized) has been fixed.&lt;/li&gt;
1151
- &lt;/ul&gt;
1152
-
1153
-
1154
- &lt;ul&gt;
1155
- &lt;li&gt;Incorrect link to &lt;span class=&quot;caps&quot;&gt;GPL&lt;/span&gt; Cver website has been fixed.&lt;/li&gt;
1156
- &lt;/ul&gt;
1157
-
1158
-
1159
- &lt;ul&gt;
1160
- &lt;li&gt;The user manual has been updated according to all of the above changes.&lt;/li&gt;
1161
- &lt;/ul&gt;</description>
1162
- <pubDate>Tue, 29 Aug 2006 00:00:00 PDT</pubDate>
1163
- </item>
1164
- <item>
1165
- <title>Version 6.3.0 released</title>
1166
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a6.3.0</link>
1167
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a6.3.0</guid>
1168
- <description>&lt;h1 id=&quot;6.3.0&quot;&gt;Version 6.3.0 (2006-08-27)&lt;/h1&gt;
1169
-
1170
- &lt;p&gt;This release adds support for the &lt;span class=&quot;caps&quot;&gt;GPL&lt;/span&gt; Cver simulator, provides both binary and source packages, and explicitly defines the version numbering system.&lt;/p&gt;
1171
-
1172
-
1173
- &lt;h2&gt;Caution&lt;/h2&gt;
1174
-
1175
-
1176
- &lt;ul&gt;
1177
- &lt;li&gt;Ruby-VPI now only needs to be built once.
1178
- &lt;ul&gt;
1179
- &lt;li&gt;You can run tests with different Verilog simulators without having to re-compile Ruby-VPI.&lt;/li&gt;
1180
- &lt;/ul&gt;&lt;/li&gt;
1181
- &lt;/ul&gt;
1182
-
1183
-
1184
- &lt;h2&gt;Details&lt;/h2&gt;
1185
-
1186
-
1187
- &lt;ul&gt;
1188
- &lt;li&gt;The &lt;span class=&quot;caps&quot;&gt;GPL&lt;/span&gt; Cver simulator is now supported.&lt;/li&gt;
1189
- &lt;/ul&gt;
1190
-
1191
-
1192
- &lt;ul&gt;
1193
- &lt;li&gt;Release packages are now available in both source and binary form.&lt;/li&gt;
1194
- &lt;/ul&gt;
1195
-
1196
-
1197
- &lt;ul&gt;
1198
- &lt;li&gt;The RSpec based specifications for the counter example now use the &lt;code class=&quot;code&quot;&gt;should_equal&lt;/code&gt; instead of the &lt;code class=&quot;code&quot;&gt;should_be&lt;/code&gt; assertion, because the latter ensures strict equivalence. For instance, it will fail when a Fixnum is compared to a Bignum.&lt;/li&gt;
1199
- &lt;/ul&gt;
1200
-
1201
-
1202
- &lt;ul&gt;
1203
- &lt;li&gt;We now follow the RubyGems project&amp;#8217;s &lt;a href=&quot;http://www.rubygems.org/read/chapter/7&quot;&gt;rational versioning policy&lt;/a&gt;. The version numbers of previous releases have been revised accordingly:
1204
- &lt;table&gt;
1205
- &lt;tr&gt;
1206
- &lt;th&gt;Release date &lt;/th&gt;
1207
- &lt;th&gt;Original version number &lt;/th&gt;
1208
- &lt;th&gt;New version number &lt;/th&gt;
1209
- &lt;/tr&gt;
1210
- &lt;tr&gt;
1211
- &lt;td&gt; 1999-10-31 &lt;/td&gt;
1212
- &lt;td&gt; 0.0 &lt;/td&gt;
1213
- &lt;td&gt; 0.0.0 &lt;/td&gt;
1214
- &lt;/tr&gt;
1215
- &lt;tr&gt;
1216
- &lt;td&gt; 2006-02-26 &lt;/td&gt;
1217
- &lt;td&gt; 0.1 &lt;/td&gt;
1218
- &lt;td&gt; 1.0.0 &lt;/td&gt;
1219
- &lt;/tr&gt;
1220
- &lt;tr&gt;
1221
- &lt;td&gt; 2006-04-17 &lt;/td&gt;
1222
- &lt;td&gt; 0.2 &lt;/td&gt;
1223
- &lt;td&gt; 2.0.0 &lt;/td&gt;
1224
- &lt;/tr&gt;
1225
- &lt;tr&gt;
1226
- &lt;td&gt; 2006-04-23 &lt;/td&gt;
1227
- &lt;td&gt; 0.3 &lt;/td&gt;
1228
- &lt;td&gt; 3.0.0 &lt;/td&gt;
1229
- &lt;/tr&gt;
1230
- &lt;tr&gt;
1231
- &lt;td&gt; 2006-04-28 &lt;/td&gt;
1232
- &lt;td&gt; 0.4 &lt;/td&gt;
1233
- &lt;td&gt; 3.1.0 &lt;/td&gt;
1234
- &lt;/tr&gt;
1235
- &lt;tr&gt;
1236
- &lt;td&gt; 2006-05-13 &lt;/td&gt;
1237
- &lt;td&gt; 0.5 &lt;/td&gt;
1238
- &lt;td&gt; 3.2.0 &lt;/td&gt;
1239
- &lt;/tr&gt;
1240
- &lt;tr&gt;
1241
- &lt;td&gt; 2006-05-25 &lt;/td&gt;
1242
- &lt;td&gt; 0.6 &lt;/td&gt;
1243
- &lt;td&gt; 4.0.0 &lt;/td&gt;
1244
- &lt;/tr&gt;
1245
- &lt;tr&gt;
1246
- &lt;td&gt; 2006-07-22 &lt;/td&gt;
1247
- &lt;td&gt; 0.7 &lt;/td&gt;
1248
- &lt;td&gt; 5.0.0 &lt;/td&gt;
1249
- &lt;/tr&gt;
1250
- &lt;tr&gt;
1251
- &lt;td&gt; 2006-07-29 &lt;/td&gt;
1252
- &lt;td&gt; 0.8 &lt;/td&gt;
1253
- &lt;td&gt; 5.1.0 &lt;/td&gt;
1254
- &lt;/tr&gt;
1255
- &lt;tr&gt;
1256
- &lt;td&gt; 2006-08-04 &lt;/td&gt;
1257
- &lt;td&gt; 0.8.1 &lt;/td&gt;
1258
- &lt;td&gt; 5.1.1 &lt;/td&gt;
1259
- &lt;/tr&gt;
1260
- &lt;tr&gt;
1261
- &lt;td&gt; 2006-08-07 &lt;/td&gt;
1262
- &lt;td&gt; 0.9 &lt;/td&gt;
1263
- &lt;td&gt; 6.0.0 &lt;/td&gt;
1264
- &lt;/tr&gt;
1265
- &lt;tr&gt;
1266
- &lt;td&gt; 2006-08-09 &lt;/td&gt;
1267
- &lt;td&gt; 0.9.1 &lt;/td&gt;
1268
- &lt;td&gt; 6.1.0 &lt;/td&gt;
1269
- &lt;/tr&gt;
1270
- &lt;tr&gt;
1271
- &lt;td&gt; 2006-08-26 &lt;/td&gt;
1272
- &lt;td&gt; 0.9.2 &lt;/td&gt;
1273
- &lt;td&gt; 6.2.0 &lt;/td&gt;
1274
- &lt;/tr&gt;
1275
- &lt;/table&gt;&lt;/li&gt;
1276
- &lt;/ul&gt;</description>
1277
- <pubDate>Sun, 27 Aug 2006 00:00:00 PDT</pubDate>
1278
- </item>
1279
- <item>
1280
- <title>Version 6.2.0 released</title>
1281
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a6.2.0</link>
1282
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a6.2.0</guid>
1283
- <description>&lt;h1 id=&quot;6.2.0&quot;&gt;Version 6.2.0 (2006-08-26)&lt;/h1&gt;
1284
-
1285
- &lt;p&gt;This release beautifies generated tests, adds checks to find signal width bugs, and includes a new tool.&lt;/p&gt;
1286
-
1287
-
1288
- &lt;h2&gt;Caution&lt;/h2&gt;
1289
-
1290
-
1291
- &lt;ul&gt;
1292
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;put_value()&lt;/code&gt; now returns the value it puts. Therefore, it is easier to chain together a series of assignments: &lt;code class=&quot;code&quot;&gt;foo.intVal = bar.intVal = baz.intVal = &lt;span style=&quot;color:#00D; font-weight:bold&quot;&gt;10&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
1293
- &lt;/ul&gt;
1294
-
1295
-
1296
- &lt;ul&gt;
1297
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;put_value()&lt;/code&gt; now verifies that the value it puts was written correctly. This helps to find bugs regarding invalid assumptions about the number of bits supported by a signal.&lt;/li&gt;
1298
- &lt;/ul&gt;
1299
-
1300
-
1301
- &lt;h2&gt;Details&lt;/h2&gt;
1302
-
1303
-
1304
- &lt;ul&gt;
1305
- &lt;li&gt;The test generator now uses &lt;span class=&quot;caps&quot;&gt;ERB&lt;/span&gt; templates which ensures nice indentation of generated output.&lt;/li&gt;
1306
- &lt;/ul&gt;
1307
-
1308
-
1309
- &lt;ul&gt;
1310
- &lt;li&gt;The test generator now decouples Ruby-VPI paths from Verilog benches via the &lt;span class=&quot;caps&quot;&gt;RUBYLIB&lt;/span&gt; environment variable.&lt;/li&gt;
1311
- &lt;/ul&gt;
1312
-
1313
-
1314
- &lt;ul&gt;
1315
- &lt;li&gt;A tool which converts Verilog headers into Ruby has been added.&lt;/li&gt;
1316
- &lt;/ul&gt;
1317
-
1318
-
1319
- &lt;ul&gt;
1320
- &lt;li&gt;The source code is now indented with two spaces instead of one tab character.&lt;/li&gt;
1321
- &lt;/ul&gt;</description>
1322
- <pubDate>Sat, 26 Aug 2006 00:00:00 PDT</pubDate>
1323
- </item>
1324
- <item>
1325
- <title>Version 6.1.0 released</title>
1326
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a6.1.0</link>
1327
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a6.1.0</guid>
1328
- <description>&lt;h1 id=&quot;6.1.0&quot;&gt;Version 6.1.0 (2006-08-09)&lt;/h1&gt;
1329
-
1330
- &lt;p&gt;This release simplifies generated tests and fixes a bug.&lt;/p&gt;
1331
-
1332
-
1333
- &lt;h2&gt;Details&lt;/h2&gt;
1334
-
1335
-
1336
- &lt;ul&gt;
1337
- &lt;li&gt;The test generator now produces simpler Ruby benches and specifications.
1338
- &lt;ul&gt;
1339
- &lt;li&gt;A template used by generated specifications has been added.&lt;/li&gt;
1340
- &lt;li&gt;The counter example and tutorial have also been simplified accordingly.&lt;/li&gt;
1341
- &lt;/ul&gt;&lt;/li&gt;
1342
- &lt;/ul&gt;
1343
-
1344
-
1345
- &lt;ul&gt;
1346
- &lt;li&gt;Boolean &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; property values are now correctly converted into Ruby truth values.&lt;/li&gt;
1347
- &lt;/ul&gt;</description>
1348
- <pubDate>Wed, 09 Aug 2006 00:00:00 PDT</pubDate>
1349
- </item>
1350
- <item>
1351
- <title>Version 6.0.0 released</title>
1352
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a6.0.0</link>
1353
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a6.0.0</guid>
1354
- <description>&lt;h1 id=&quot;6.0.0&quot;&gt;Version 6.0.0 (2006-08-07)&lt;/h1&gt;
1355
-
1356
- &lt;p&gt;This release adds support and documentation for rapid prototyping of Verilog designs in Ruby.&lt;/p&gt;
1357
-
1358
-
1359
- &lt;h2&gt;Caution&lt;/h2&gt;
1360
-
1361
-
1362
- &lt;ul&gt;
1363
- &lt;li&gt;The directory structure has been reorganized as follows:
1364
- &lt;ul&gt;
1365
- &lt;li&gt;&lt;tt&gt;ext&lt;/tt&gt; &amp;rarr; &lt;tt&gt;src&lt;/tt&gt;&lt;/li&gt;
1366
- &lt;li&gt;&lt;tt&gt;tools&lt;/tt&gt; &amp;rarr; &lt;tt&gt;bin&lt;/tt&gt;&lt;/li&gt;
1367
- &lt;li&gt;&lt;tt&gt;examples&lt;/tt&gt; &amp;rarr; &lt;tt&gt;samp&lt;/tt&gt;&lt;/li&gt;
1368
- &lt;/ul&gt;&lt;/li&gt;
1369
- &lt;/ul&gt;
8
+ <title>Version 17.0.0 released</title>
9
+ <link>http://ruby-vpi.rubyforge.org/doc/history.html#a17.0.0</link>
10
+ <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a17.0.0</guid>
11
+ <description>&lt;h1 id=&quot;17.0.0&quot;&gt;Version 17.0.0 (2007-07-22)&lt;/h1&gt;
1370
12
 
1371
-
1372
- &lt;ul&gt;
1373
- &lt;li&gt;All template files have been moved into the &lt;tt&gt;tpl&lt;/tt&gt; directory.&lt;/li&gt;
1374
- &lt;/ul&gt;
1375
-
1376
-
1377
- &lt;h2&gt;Details&lt;/h2&gt;
1378
-
1379
-
1380
- &lt;ul&gt;
1381
- &lt;li&gt;Support for prototyping designs in Ruby, before they are implemented in Verilog, has been added.
1382
- &lt;ul&gt;
1383
- &lt;li&gt;The &lt;em&gt;same&lt;/em&gt; specification can be used to verify both prototype &lt;em&gt;and&lt;/em&gt; design! :-)&lt;/li&gt;
1384
- &lt;li&gt;The tutorial in the user manual has been updated to discuss prototyping.
1385
- &lt;ul&gt;
1386
- &lt;li&gt;Prototypes have been added to the counter example.&lt;/li&gt;
1387
- &lt;/ul&gt;&lt;/li&gt;
1388
- &lt;/ul&gt;&lt;/li&gt;
1389
- &lt;/ul&gt;
1390
-
1391
-
1392
- &lt;ul&gt;
1393
- &lt;li&gt;The user manual has been revised for consistency.&lt;/li&gt;
1394
- &lt;/ul&gt;</description>
1395
- <pubDate>Mon, 07 Aug 2006 00:00:00 PDT</pubDate>
1396
- </item>
1397
- <item>
1398
- <title>Version 5.1.1 released</title>
1399
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a5.1.1</link>
1400
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a5.1.1</guid>
1401
- <description>&lt;h1 id=&quot;5.1.1&quot;&gt;Version 5.1.1 (2006-08-04)&lt;/h1&gt;
1402
-
1403
- &lt;p&gt;This release fixes unreadable syntax coloring in the user manual.&lt;/p&gt;
1404
-
1405
-
1406
- &lt;h2&gt;Thanks&lt;/h2&gt;
1407
-
1408
-
1409
- &lt;ul&gt;
1410
- &lt;li&gt;Todd Nagengast and Matt Fischler notified me about unreadable text in the user manual.&lt;/li&gt;
1411
- &lt;/ul&gt;
1412
-
1413
-
1414
- &lt;h2&gt;Details&lt;/h2&gt;
1415
-
1416
-
1417
- &lt;ul&gt;
1418
- &lt;li&gt;Source code comments in the user manual are now readable.&lt;/li&gt;
1419
- &lt;/ul&gt;
1420
-
1421
-
1422
- &lt;ul&gt;
1423
- &lt;li&gt;The &lt;tt&gt;README&lt;/tt&gt; and &lt;tt&gt;HISTORY&lt;/tt&gt; files have been converted to &lt;a href=&quot;http://www.textism.com/tools/textile/&quot;&gt;textile&lt;/a&gt; format.&lt;/li&gt;
1424
- &lt;/ul&gt;</description>
1425
- <pubDate>Fri, 04 Aug 2006 00:00:00 PDT</pubDate>
1426
- </item>
1427
- <item>
1428
- <title>Version 5.1.0 released</title>
1429
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a5.1.0</link>
1430
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a5.1.0</guid>
1431
- <description>&lt;h1 id=&quot;5.1.0&quot;&gt;Version 5.1.0 (2006-07-29)&lt;/h1&gt;
1432
-
1433
- &lt;p&gt;This release adds a tutorial to the user manual, and improves the tools and examples.&lt;/p&gt;
1434
-
1435
-
1436
- &lt;h2&gt;Thanks&lt;/h2&gt;
1437
-
1438
-
1439
- &lt;ul&gt;
1440
- &lt;li&gt;Phil Tomson corrected the &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; of the &lt;span class=&quot;caps&quot;&gt;RHDL&lt;/span&gt; website in the user manual.&lt;/li&gt;
1441
- &lt;/ul&gt;
1442
-
1443
-
1444
- &lt;h2&gt;Details&lt;/h2&gt;
1445
-
1446
-
1447
- &lt;h3&gt;User manual&lt;/h3&gt;
1448
-
1449
-
1450
- &lt;ul&gt;
1451
- &lt;li&gt;A tutorial, based on the counter example, has been added to the user manual.&lt;/li&gt;
1452
- &lt;/ul&gt;
1453
-
1454
-
1455
- &lt;ul&gt;
1456
- &lt;li&gt;The user manual&amp;#8217;s appearance has been dramatically improved with syntax coloring for source code, and &lt;a href=&quot;http://tango.freedesktop.org&quot;&gt;graphics for admonitions and navigation&lt;/a&gt;.&lt;/li&gt;
1457
- &lt;/ul&gt;
1458
-
1459
-
1460
- &lt;h3&gt;Examples&lt;/h3&gt;
1461
-
1462
-
1463
- &lt;ul&gt;
1464
- &lt;li&gt;A specification, expressed in unit test format, has been added to the counter example.&lt;/li&gt;
1465
- &lt;/ul&gt;
1466
-
1467
-
1468
- &lt;ul&gt;
1469
- &lt;li&gt;The &lt;pre&gt;--name&lt;/pre&gt; and &lt;pre&gt;-n&lt;/pre&gt; options, which lets you specify an identifier for a generated test, have been added to the &lt;strong&gt;generate_test.rb&lt;/strong&gt; tool.&lt;/li&gt;
1470
- &lt;/ul&gt;
1471
-
1472
-
1473
- &lt;ul&gt;
1474
- &lt;li&gt;Running &lt;pre&gt;rake clobber&lt;/pre&gt; in an example directory no longer destroys documentation in the Ruby-VPI directory.&lt;/li&gt;
1475
- &lt;/ul&gt;
1476
-
1477
-
1478
- &lt;ul&gt;
1479
- &lt;li&gt;The examples&amp;#8217; Rakefiles now invoke all tests present in the directory via the &lt;tt&gt;launcher_template.rake&lt;/tt&gt; template.&lt;/li&gt;
1480
- &lt;/ul&gt;
1481
-
1482
-
1483
- &lt;ul&gt;
1484
- &lt;li&gt;The Rake template for test runners (generated by &lt;tt&gt;tools/generate_test.rb&lt;/tt&gt;) has moved from &lt;tt&gt;examples/template.rake&lt;/tt&gt; to &lt;tt&gt;examples/runner_template.rake&lt;/tt&gt;.&lt;/li&gt;
1485
- &lt;/ul&gt;
1486
-
1487
-
1488
- &lt;h3&gt;&lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; utility layer&lt;/h3&gt;
1489
-
1490
-
1491
- &lt;ul&gt;
1492
- &lt;li&gt;The value of a handle&amp;#8217;s boolean &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; property is treated as &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#038; font-weight:bold&quot;&gt;false&lt;/span&gt;&lt;/code&gt; if it is zero, because zero is &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#038; font-weight:bold&quot;&gt;false&lt;/span&gt;&lt;/code&gt; in the C language.&lt;/li&gt;
1493
- &lt;/ul&gt;</description>
1494
- <pubDate>Sat, 29 Jul 2006 00:00:00 PDT</pubDate>
1495
- </item>
1496
- <item>
1497
- <title>Version 5.0.0 released</title>
1498
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a5.0.0</link>
1499
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a5.0.0</guid>
1500
- <description>&lt;h1 id=&quot;5.0.0&quot;&gt;Version 5.0.0 (2006-07-22)&lt;/h1&gt;
1501
-
1502
- &lt;p&gt;This release enhances the &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; utility layer and adds new content to the user manual.&lt;/p&gt;
1503
-
1504
-
1505
- &lt;h2&gt;Thanks&lt;/h2&gt;
1506
-
1507
-
1508
- &lt;ul&gt;
1509
- &lt;li&gt;Jan Decaluwe corrected the description of MyHDL in the user manual.&lt;/li&gt;
1510
- &lt;/ul&gt;
13
+ &lt;p&gt;This release makes the Ruby-VPI testing framework more lightweight by reducing the number of files and parameters involved.&lt;/p&gt;
1511
14
 
1512
15
 
1513
16
  &lt;h2&gt;Caution&lt;/h2&gt;
1514
17
 
1515
18
 
1516
19
  &lt;ul&gt;
1517
- &lt;li&gt;&lt;span class=&quot;caps&quot;&gt;SWIG&lt;/span&gt; is no longer required for users because its output is included in the release package.&lt;/li&gt;
1518
- &lt;/ul&gt;
1519
-
1520
-
1521
- &lt;ul&gt;
1522
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;handle.value&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;handle.value=&lt;/code&gt; methods have been removed.&lt;/li&gt;
20
+ &lt;li&gt;The &lt;strong&gt;generate_test.rb&lt;/strong&gt; and &lt;strong&gt;convert.rb&lt;/strong&gt; executables have been replaced by a single &lt;strong&gt;ruby-vpi&lt;/strong&gt; executable to avoid name conflicts with other software. They are now accessed using the &lt;pre&gt;ruby-vpi generate&lt;/pre&gt; and &lt;pre&gt;ruby-vpi convert&lt;/pre&gt; commands respectively.&lt;/li&gt;
1523
21
  &lt;/ul&gt;
1524
22
 
1525
23
 
1526
- &lt;h2&gt;Details&lt;/h2&gt;
1527
-
1528
-
1529
24
  &lt;ul&gt;
1530
- &lt;li&gt;The &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; utility layer provides access to &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; properties of handles in a &lt;a href=&quot;manual.html#background.org.vpi&quot;&gt;simpler, more powerful way&lt;/a&gt;.&lt;/li&gt;
25
+ &lt;li&gt;The &lt;tt&gt;--name&lt;/tt&gt; parameter has been removed from the automated test generator. Similarly, you can no longer insert an arbitrary name in a test&amp;#8217;s file names (see the &lt;a href=&quot;manual.html#Do_not_rename_generated_files&quot;&gt;user manual&lt;/a&gt; for details).&lt;/li&gt;
1531
26
  &lt;/ul&gt;
1532
27
 
1533
28
 
1534
29
  &lt;ul&gt;
1535
- &lt;li&gt;All &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; properties, except delay values, are now accessible from a handle.&lt;/li&gt;
30
+ &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;DEBUG&lt;/span&gt;&lt;/code&gt; environment variable, which controls wether the test runner starts the interactive debugger, has been renamed to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;DEBUGGER&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1536
31
  &lt;/ul&gt;
1537
32
 
1538
33
 
1539
34
  &lt;ul&gt;
1540
- &lt;li&gt;The user manual has been revised and new content in the organization and usage sections has been added.&lt;/li&gt;
35
+ &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_TARGET&lt;/span&gt;&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_INCLUDES&lt;/span&gt;&lt;/code&gt; parameters have been eliminated from test runners. The former is detected automatically. As for the latter, you can specify paths to directories in the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SIMULATOR_SOURCES&lt;/span&gt;&lt;/code&gt; parameter instead.&lt;/li&gt;
1541
36
  &lt;/ul&gt;
1542
37
 
1543
38
 
1544
39
  &lt;ul&gt;
1545
- &lt;li&gt;This release was tested and developed using:
1546
- &lt;ul&gt;
1547
- &lt;li&gt;Ruby 1.8.4 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1548
- &lt;li&gt;Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1549
- &lt;/ul&gt;&lt;/li&gt;
1550
- &lt;/ul&gt;</description>
1551
- <pubDate>Sat, 22 Jul 2006 00:00:00 PDT</pubDate>
1552
- </item>
1553
- <item>
1554
- <title>Version 4.0.0 released</title>
1555
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a4.0.0</link>
1556
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a4.0.0</guid>
1557
- <description>&lt;h1 id=&quot;4.0.0&quot;&gt;Version 4.0.0 (2006-05-25)&lt;/h1&gt;
1558
-
1559
- &lt;p&gt;This release adds a comprehensive user manual, upgrades from make to &lt;a href=&quot;http://rake.rubyforge.org&quot;&gt;Rake&lt;/a&gt;, and improves the test generation tool.&lt;/p&gt;
1560
-
1561
-
1562
- &lt;h2&gt;Thanks&lt;/h2&gt;
1563
-
1564
-
1565
- &lt;ul&gt;
1566
- &lt;li&gt;Jose Renau solved the problem of strange delays that occurred whenever a design was reset.&lt;/li&gt;
40
+ &lt;li&gt;The &lt;tt&gt;bench.rb&lt;/tt&gt; and &lt;tt&gt;bench.v&lt;/tt&gt; files of a generated test are (1) no longer generated by the test generator and (2) are now ignored. You must move the functionality provided by these files into &lt;tt&gt;design.rb&lt;/tt&gt; and your Verilog module&amp;#8217;s source file respectively.&lt;/li&gt;
1567
41
  &lt;/ul&gt;
1568
42
 
1569
43
 
1570
- &lt;h2&gt;Caution&lt;/h2&gt;
1571
-
1572
-
1573
44
  &lt;ul&gt;
1574
- &lt;li&gt;Rake has replaced the role of &lt;strong&gt;make&lt;/strong&gt;. All makefiles have been converted accordingly.&lt;/li&gt;
45
+ &lt;li&gt;The &lt;tt&gt;design.rb&lt;/tt&gt; and &lt;tt&gt;proto.rb&lt;/tt&gt; files are now loaded into a separate namespace (Ruby module). For example, if the Verilog module under test has the name &amp;#8220;counter&amp;#8221; and the &lt;tt&gt;design.rb&lt;/tt&gt; file defines a class named &amp;#8220;Foo&amp;#8221;, then that class will be accessible as &amp;#8220;Counter::Foo&amp;#8221;.&lt;/li&gt;
1575
46
  &lt;/ul&gt;
1576
47
 
1577
48
 
1578
49
  &lt;ul&gt;
1579
- &lt;li&gt;The test generation tool now generates multiple files (runner, bench, design, spec) and makes backups of existing files. See its help information for details.&lt;/li&gt;
50
+ &lt;li&gt;The global &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::simulate&lt;/code&gt; method has been replaced by the &lt;code class=&quot;code&quot;&gt;cycle!&lt;/code&gt; method in the &lt;tt&gt;design.rb&lt;/tt&gt; file.&lt;/li&gt;
1580
51
  &lt;/ul&gt;
1581
52
 
1582
53
 
1583
- &lt;h2&gt;Details&lt;/h2&gt;
1584
-
1585
-
1586
54
  &lt;ul&gt;
1587
- &lt;li&gt;A comprehensive user manual, written in DocBook-XML, has been added.&lt;/li&gt;
55
+ &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;simulate!&lt;/code&gt; method in the &lt;tt&gt;proto.rb&lt;/tt&gt; file has been renamed to &lt;code class=&quot;code&quot;&gt;feign!&lt;/code&gt; for accuracy.&lt;/li&gt;
1588
56
  &lt;/ul&gt;
1589
57
 
1590
58
 
1591
59
  &lt;ul&gt;
1592
- &lt;li&gt;Support for RSpec 0.5.4 has been added.
1593
- &lt;ul&gt;
1594
- &lt;li&gt;The counter example now makes use of RSpec.&lt;/li&gt;
1595
- &lt;/ul&gt;&lt;/li&gt;
60
+ &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVpi&lt;/span&gt;&lt;/code&gt; module has been renamed to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;RubyVPI&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1596
61
  &lt;/ul&gt;
1597
62
 
1598
63
 
1599
64
  &lt;ul&gt;
1600
- &lt;li&gt;This release was tested and developed using:
1601
- &lt;ul&gt;
1602
- &lt;li&gt;Ruby 1.8.4 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1603
- &lt;li&gt;Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1604
- &lt;/ul&gt;&lt;/li&gt;
1605
- &lt;/ul&gt;</description>
1606
- <pubDate>Thu, 25 May 2006 00:00:00 PDT</pubDate>
1607
- </item>
1608
- <item>
1609
- <title>Version 3.2.0 released</title>
1610
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a3.2.0</link>
1611
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a3.2.0</guid>
1612
- <description>&lt;h1 id=&quot;3.2.0&quot;&gt;Version 3.2.0 (2006-05-13)&lt;/h1&gt;
1613
-
1614
- &lt;p&gt;This release adds a tool which generates test benches, and adds support for &lt;a href=&quot;http://behaviour-driven.org&quot;&gt;Behavior Driven Development&lt;/a&gt; via the &lt;a href=&quot;http://rspec.rubyforge.org&quot;&gt;RSpec&lt;/a&gt; library.&lt;/p&gt;
1615
-
1616
-
1617
- &lt;h2&gt;Thanks&lt;/h2&gt;
1618
-
1619
-
1620
- &lt;ul&gt;
1621
- &lt;li&gt;Scott L Holmes helped me &lt;a href=&quot;http://article.gmane.org/gmane.comp.lang.ruby.general/150087&quot;&gt;use the RSpec library without its runner&lt;/a&gt; program.&lt;/li&gt;
65
+ &lt;li&gt;RSpec &amp;gt;= 1.0.0 is now required by Ruby-VPI.&lt;/li&gt;
1622
66
  &lt;/ul&gt;
1623
67
 
1624
68
 
1625
- &lt;h2&gt;Details&lt;/h2&gt;
1626
-
1627
-
1628
69
  &lt;ul&gt;
1629
- &lt;li&gt;A tool, which generates most of a Ruby-VPI test bench from a Verilog 2001 module declaration, has been added.&lt;/li&gt;
70
+ &lt;li&gt;The &lt;a href=&quot;readme.html#intro.license&quot;&gt;project license&lt;/a&gt; has been further simplified.&lt;/li&gt;
1630
71
  &lt;/ul&gt;
1631
72
 
1632
73
 
1633
- &lt;ul&gt;
1634
- &lt;li&gt;Ability to use RSpec in a test bench has been added.&lt;/li&gt;
1635
- &lt;/ul&gt;
74
+ &lt;h2&gt;Repairs&lt;/h2&gt;
1636
75
 
1637
76
 
1638
77
  &lt;ul&gt;
1639
- &lt;li&gt;Ability to specify arbitrary command-line arguments to Verilog simulators has been added in the examples&amp;#8217; makefile template.&lt;/li&gt;
78
+ &lt;li&gt;Restored support for Enumerable methods in &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1640
79
  &lt;/ul&gt;
1641
80
 
1642
81
 
1643
82
  &lt;ul&gt;
1644
- &lt;li&gt;This release was tested and developed using:
1645
- &lt;ul&gt;
1646
- &lt;li&gt;Ruby 1.8.4 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1647
- &lt;li&gt;Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1648
- &lt;/ul&gt;&lt;/li&gt;
1649
- &lt;/ul&gt;</description>
1650
- <pubDate>Sat, 13 May 2006 00:00:00 PDT</pubDate>
1651
- </item>
1652
- <item>
1653
- <title>Version 3.1.0 released</title>
1654
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a3.1.0</link>
1655
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a3.1.0</guid>
1656
- <description>&lt;h1 id=&quot;3.1.0&quot;&gt;Version 3.1.0 (2006-04-28)&lt;/h1&gt;
1657
-
1658
- &lt;p&gt;This release adds simple ways of reading and writing values to &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; handles, adds documentation for the &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; utility layer, and fixes the pipelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; example.&lt;/p&gt;
1659
-
1660
-
1661
- &lt;h2&gt;Caution&lt;/h2&gt;
1662
-
1663
-
1664
- &lt;ul&gt;
1665
- &lt;li&gt;The &lt;strong&gt;msim&lt;/strong&gt; Makefile target for Mentor Modelsim has been renamed back to &lt;strong&gt;vsim&lt;/strong&gt;.&lt;/li&gt;
83
+ &lt;li&gt;The specification now begins to execute at simulation time 0. Previously it began at simulation time 1.&lt;/li&gt;
1666
84
  &lt;/ul&gt;
1667
85
 
1668
86
 
1669
- &lt;h2&gt;Details&lt;/h2&gt;
1670
-
1671
-
1672
- &lt;ul&gt;
1673
- &lt;li&gt;Simple, consistent ways of reading and writing values to handles have been added to the &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; utility layer. These ways are described in the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SWIG&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;TYPE_p_unsigned_int&lt;/span&gt;&lt;/code&gt; class&amp;#8217; documentation.&lt;/li&gt;
1674
- &lt;/ul&gt;
87
+ &lt;h2&gt;Improvements&lt;/h2&gt;
1675
88
 
1676
89
 
1677
90
  &lt;ul&gt;
1678
- &lt;li&gt;The makefiles now use the &lt;strong&gt;rbconfig&lt;/strong&gt; library to determine the default compiler and linker flags for Ruby.&lt;/li&gt;
1679
- &lt;/ul&gt;
1680
-
91
+ &lt;li&gt;The &lt;tt&gt;bench.rb&lt;/tt&gt; and &lt;tt&gt;bench.v&lt;/tt&gt; files of a generated test have been eliminated!
1681
92
 
1682
- &lt;ul&gt;
1683
- &lt;li&gt;A race condition in the pipelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; example has been fixed. This example should now run successfully in all Verilog simulators.&lt;/li&gt;
1684
- &lt;/ul&gt;
93
+ &lt;p&gt;One important benefit is that the Ruby interface to the Verilog module under test is now a direct reference, whereas previously it was an &lt;em&gt;indirect&lt;/em&gt; reference (it pointed to the Verilog module defined in &lt;tt&gt;bench.v&lt;/tt&gt;, which in turn wrapped around the actual Verilog module under test).&lt;/p&gt;
1685
94
 
1686
95
 
1687
- &lt;ul&gt;
1688
- &lt;li&gt;The project wiki has been abandoned in favor of RDoc.&lt;/li&gt;
96
+ &lt;p&gt;As a result, you can now access the internals of the Verilog module under test by simply calling methods on the Ruby interface, as you would naturally expect to be the case.&lt;/p&gt;&lt;/li&gt;
1689
97
  &lt;/ul&gt;
1690
98
 
1691
99
 
1692
100
  &lt;ul&gt;
1693
- &lt;li&gt;The project website is now generated by RDoc.&lt;/li&gt;
101
+ &lt;li&gt;The &amp;#8220;a&amp;#8221; accessor, which returns an &lt;em&gt;array&lt;/em&gt; of child handles, has been added to &lt;a href=&quot;manual.html#tbl:accessors&quot;&gt;the method naming format&lt;/a&gt; for accessing child handles.&lt;/li&gt;
1694
102
  &lt;/ul&gt;
1695
103
 
1696
104
 
1697
105
  &lt;ul&gt;
1698
- &lt;li&gt;This release was tested and developed using:
1699
- &lt;ul&gt;
1700
- &lt;li&gt;Ruby 1.8.4 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1701
- &lt;li&gt;Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1702
- &lt;/ul&gt;&lt;/li&gt;
1703
- &lt;/ul&gt;</description>
1704
- <pubDate>Fri, 28 Apr 2006 00:00:00 PDT</pubDate>
1705
- </item>
1706
- <item>
1707
- <title>Version 3.0.0 released</title>
1708
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a3.0.0</link>
1709
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a3.0.0</guid>
1710
- <description>&lt;h1 id=&quot;3.0.0&quot;&gt;Version 3.0.0 (2006-04-23)&lt;/h1&gt;
1711
-
1712
- &lt;p&gt;This release adds support for the &lt;em&gt;entire&lt;/em&gt; &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/standardstoc.jsp?isnumber=33945&quot;&gt;&lt;span class=&quot;caps&quot;&gt;IEEE&lt;/span&gt; Std. 1364-2005&lt;/a&gt; VPI interface, and updates the examples into unit tests.&lt;/p&gt;
1713
-
1714
-
1715
- &lt;h2&gt;Thanks&lt;/h2&gt;
1716
-
1717
-
1718
- &lt;ul&gt;
1719
- &lt;li&gt;The &lt;a href=&quot;http://www.swig.org/guilty.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SWIG&lt;/span&gt; developers&lt;/a&gt; made this project &lt;em&gt;much&lt;/em&gt; easier! ;-)&lt;/li&gt;
106
+ &lt;li&gt;All parameter objects in the Verilog module under test are automatically made available as constants. For example, if the Verilog module under test has the name &lt;code class=&quot;code&quot;&gt;counter&lt;/code&gt; and has a parameter object named &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;WIDTH&lt;/span&gt;&lt;/code&gt;, then you can access the integer value of that parameter using &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Counter&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;WIDTH&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1720
107
  &lt;/ul&gt;
1721
108
 
1722
109
 
1723
- &lt;h2&gt;Caution&lt;/h2&gt;
1724
-
1725
-
1726
110
  &lt;ul&gt;
1727
- &lt;li&gt;The &lt;strong&gt;vsim&lt;/strong&gt; Makefile target for Mentor Modelsim has been renamed to &lt;strong&gt;msim&lt;/strong&gt;.&lt;/li&gt;
111
+ &lt;li&gt;The automated test generator now tries to automatically detect the clock and reset signal from Verilog module declarations.&lt;/li&gt;
1728
112
  &lt;/ul&gt;
1729
113
 
1730
114
 
1731
- &lt;h2&gt;Details&lt;/h2&gt;
1732
-
1733
-
1734
115
  &lt;ul&gt;
1735
- &lt;li&gt;The Ruby interface to &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; is now generated by &lt;a href=&quot;http://www.swig.org&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SWIG&lt;/span&gt;&lt;/a&gt;.
1736
- &lt;ul&gt;
1737
- &lt;li&gt;The main &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;&lt;/code&gt; module has been renamed to &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1738
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; class has been removed.&lt;/li&gt;
1739
- &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::stop&lt;/code&gt;, &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::finish&lt;/code&gt;, and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::reset&lt;/code&gt; methods have been removed.&lt;/li&gt;
1740
- &lt;/ul&gt;&lt;/li&gt;
116
+ &lt;li&gt;The automated test generator now supports Verilog 95 style module declarations.&lt;/li&gt;
1741
117
  &lt;/ul&gt;
1742
118
 
1743
119
 
1744
120
  &lt;ul&gt;
1745
- &lt;li&gt;The &lt;a href=&quot;http://www.boydtechinc.com/ptf/archive/ptf_2005/0737.html&quot;&gt;&lt;em&gt;final ballot&lt;/em&gt; version&lt;/a&gt; of the &lt;tt&gt;vpi_user.h&lt;/tt&gt; header file is now packaged along with and used by Ruby-VPI.&lt;/li&gt;
121
+ &lt;li&gt;Exceptions are now raised when you try to write to a read-only VPI property, such as &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VpiName&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;
1746
122
  &lt;/ul&gt;
1747
123
 
1748
124
 
1749
125
  &lt;ul&gt;
1750
- &lt;li&gt;The &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; module, its sub-classes, and its functionality have been replaced by the &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; utility layer (see &lt;tt&gt;src/vpi_util.rb&lt;/tt&gt;).&lt;/li&gt;
126
+ &lt;li&gt;Added &lt;code class=&quot;code&quot;&gt;high?&lt;/code&gt;, &lt;code class=&quot;code&quot;&gt;high!&lt;/code&gt;, &lt;code class=&quot;code&quot;&gt;low?&lt;/code&gt;, and &lt;code class=&quot;code&quot;&gt;low!&lt;/code&gt; methods to the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; class.&lt;/li&gt;
1751
127
  &lt;/ul&gt;
1752
128
 
1753
129
 
1754
130
  &lt;ul&gt;
1755
- &lt;li&gt;The examples now make use of the &lt;strong&gt;test/unit&lt;/strong&gt; unit testing framework.&lt;/li&gt;
131
+ &lt;li&gt;Revised the user manual by removing unnecessary sections and adding newer material from my master&amp;#8217;s thesis.&lt;/li&gt;
1756
132
  &lt;/ul&gt;
1757
133
 
1758
134
 
1759
- &lt;ul&gt;
1760
- &lt;li&gt;The makefiles for the examples have been simplified through the use of a common template.&lt;/li&gt;
1761
- &lt;/ul&gt;
135
+ &lt;h2&gt;Contributions&lt;/h2&gt;
1762
136
 
1763
137
 
1764
138
  &lt;ul&gt;
1765
- &lt;li&gt;This release was tested and developed using:
1766
- &lt;ul&gt;
1767
- &lt;li&gt;Ruby 1.8.4 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1768
- &lt;li&gt;Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1769
- &lt;/ul&gt;&lt;/li&gt;
139
+ &lt;li&gt;Added Jacinto Shy II&amp;#8217;s &lt;a href=&quot;http://jacintoshy.blogspot.com/2007/05/hacking-verilog-with-ruby-part-2.html&quot;&gt;register file example&lt;/a&gt; to Ruby-VPI. It can be found in &lt;tt&gt;samp/register_file/&lt;/tt&gt;.&lt;/li&gt;
1770
140
  &lt;/ul&gt;</description>
1771
- <pubDate>Sun, 23 Apr 2006 00:00:00 PDT</pubDate>
141
+ <pubDate>Sun, 22 Jul 2007 00:00:00 PDT</pubDate>
1772
142
  </item>
1773
143
  <item>
1774
- <title>Version 2.0.0 released</title>
1775
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a2.0.0</link>
1776
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a2.0.0</guid>
1777
- <description>&lt;h1 id=&quot;2.0.0&quot;&gt;Version 2.0.0 (2006-04-17)&lt;/h1&gt;
144
+ <title>Version 16.0.1 released</title>
145
+ <link>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.1</link>
146
+ <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.1</guid>
147
+ <description>&lt;h1 id=&quot;16.0.1&quot;&gt;Version 16.0.1 (2007-05-27)&lt;/h1&gt;
1778
148
 
1779
- &lt;p&gt;This release fixes major bugs, adds support for Mentor Modelsim, and removes the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_task&lt;/span&gt;&lt;/code&gt; callback.&lt;/p&gt;
149
+ &lt;p&gt;This release restores support for installation on Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;.&lt;/p&gt;
1780
150
 
1781
151
 
1782
152
  &lt;h2&gt;Thanks&lt;/h2&gt;
1783
153
 
1784
154
 
1785
155
  &lt;ul&gt;
1786
- &lt;li&gt;Nobu Nakada explained the &lt;a href=&quot;http://article.gmane.org/gmane.comp.lang.ruby.general/146653&quot;&gt;cross-thread violation on rb_gc()&lt;/a&gt; error.&lt;/li&gt;
1787
- &lt;/ul&gt;
1788
-
1789
-
1790
- &lt;h2&gt;Caution&lt;/h2&gt;
1791
-
1792
-
1793
- &lt;ul&gt;
1794
- &lt;li&gt;Removed &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_task&lt;/span&gt;&lt;/code&gt; callback and ability to dynamically register system tasks from Ruby because inter-process communication is complicated at present.&lt;/li&gt;
1795
- &lt;/ul&gt;
1796
-
1797
-
1798
- &lt;h2&gt;Details&lt;/h2&gt;
1799
-
1800
-
1801
- &lt;ul&gt;
1802
- &lt;li&gt;The &amp;#8220;cross-thread violation on rb_gc()&amp;#8221; error has been fixed.
1803
- &lt;ul&gt;
1804
- &lt;li&gt;The &amp;#8220;stack level too deep (SystemStackError)&amp;#8221; error has been fixed.&lt;/li&gt;
1805
- &lt;li&gt;The test/unit library can be used in Ruby test bench.&lt;/li&gt;
1806
- &lt;li&gt;Mentor Modelsim Verilog simulator works with Ruby-VPI.&lt;/li&gt;
1807
- &lt;/ul&gt;&lt;/li&gt;
156
+ &lt;li&gt;Mark Thompson &lt;a href=&quot;http://rubyforge.org/tracker/index.php?func=detail&amp;#38;aid=11125&amp;#38;group_id=1339&amp;#38;atid=5281&quot;&gt;reported and solved&lt;/a&gt; the problem.&lt;/li&gt;
1808
157
  &lt;/ul&gt;
1809
158
 
1810
159
 
1811
- &lt;ul&gt;
1812
- &lt;li&gt;Added piplelined &lt;span class=&quot;caps&quot;&gt;ALU&lt;/span&gt; example.&lt;/li&gt;
1813
- &lt;/ul&gt;
160
+ &lt;h2&gt;Repairs&lt;/h2&gt;
1814
161
 
1815
162
 
1816
163
  &lt;ul&gt;
1817
- &lt;li&gt;This release was tested and developed using:
1818
- &lt;ul&gt;
1819
- &lt;li&gt;Ruby 1.8.4 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1820
- &lt;li&gt;Ruby 1.8.4 and Modelsim 6.1d on x86_64 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1821
- &lt;li&gt;Ruby 1.8.4 and Synopsys &lt;span class=&quot;caps&quot;&gt;VCS&lt;/span&gt;-MX X-2005.06-SP1 on &lt;span class=&quot;caps&quot;&gt;SPARC4&lt;/span&gt; SunOS 5.10&lt;/li&gt;
1822
- &lt;/ul&gt;&lt;/li&gt;
164
+ &lt;li&gt;Shared-object files have a file extension of &lt;tt&gt;.so&lt;/tt&gt; in Linux and &lt;tt&gt;.bundle&lt;/tt&gt; on Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;. Previously, only the Linux file extension was supported.&lt;/li&gt;
1823
165
  &lt;/ul&gt;</description>
1824
- <pubDate>Mon, 17 Apr 2006 00:00:00 PDT</pubDate>
166
+ <pubDate>Sun, 27 May 2007 00:00:00 PDT</pubDate>
1825
167
  </item>
1826
168
  <item>
1827
- <title>Version 1.0.0 released</title>
1828
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a1.0.0</link>
1829
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a1.0.0</guid>
1830
- <description>&lt;h1 id=&quot;1.0.0&quot;&gt;Version 1.0.0 (2006-02-26)&lt;/h1&gt;
169
+ <title>Version 16.0.0 released</title>
170
+ <link>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.0</link>
171
+ <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a16.0.0</guid>
172
+ <description>&lt;h1 id=&quot;16.0.0&quot;&gt;Version 16.0.0 (2007-05-02)&lt;/h1&gt;
1831
173
 
1832
- This release adds enough Verilog &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; functionality to make Ruby-VPI usable for simple test benches:
1833
- &lt;ul&gt;
1834
- &lt;li&gt;access Verilog objects through &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; handles&lt;/li&gt;
1835
- &lt;li&gt;read and change &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; handle values&lt;/li&gt;
1836
- &lt;li&gt;stop, finish, restart the simulation&lt;/li&gt;
1837
- &lt;/ul&gt;
174
+ &lt;p&gt;This release adds support for the &lt;a href=&quot;http://www.cadence.com/products/functional_ver/nc-verilog/&quot;&gt;Cadence NC-Sim / NC-Verilog&lt;/a&gt; simulator, improves the project website and documentation, simplifies interaction with VPI, and comes with a more permissive license.&lt;/p&gt;
1838
175
 
1839
176
 
1840
- &lt;h2&gt;Thanks&lt;/h2&gt;
177
+ &lt;h2&gt;Caution&lt;/h2&gt;
1841
178
 
1842
179
 
1843
180
  &lt;ul&gt;
1844
- &lt;li&gt;Jose Renau helped me debug how Synopsys &lt;span class=&quot;caps&quot;&gt;VCS&lt;/span&gt; works with Verilog &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt;. The problem was that &lt;span class=&quot;caps&quot;&gt;VCS&lt;/span&gt; required calltf signatures to be &lt;code class=&quot;code&quot;&gt;void (*)(void)&lt;/code&gt;, whereas the Verilog standard defines a calltf signature as &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;PLI_INT32&lt;/span&gt; (*)(&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;PLI_BYTE8&lt;/span&gt;*)&lt;/code&gt;.&lt;/li&gt;
1845
- &lt;/ul&gt;
1846
-
181
+ &lt;li&gt;The &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Integer&lt;/span&gt;.ensure_min&lt;/code&gt; and &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Integer&lt;/span&gt;.ensure_max&lt;/code&gt; methods have been removed from the &lt;tt&gt;ruby-vpi/integer.rb&lt;/tt&gt; library because Ruby already has idioms for these operations: &lt;pre&gt;
182
+ &amp;gt;&amp;gt; 5.ensure_min 10
183
+ =&amp;gt; 10
184
+ &amp;gt;&amp;gt; [5, 10].max
185
+ =&amp;gt; 10
1847
186
 
1848
- &lt;ul&gt;
1849
- &lt;li&gt;Ross Bamford, Eric Hodel, and Yukihiro Matsumoto &lt;a href=&quot;http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/180662&quot;&gt;helped me discover&lt;/a&gt; why the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;SystemStackError&lt;/span&gt;&lt;/code&gt; was happening.&lt;/li&gt;
187
+ &amp;gt;&amp;gt; 5.ensure_max 10
188
+ =&amp;gt; 5
189
+ &amp;gt;&amp;gt; [5, 10].min
190
+ =&amp;gt; 5
191
+ &lt;/pre&gt;&lt;/li&gt;
1850
192
  &lt;/ul&gt;
1851
193
 
1852
194
 
1853
- &lt;h2&gt;Details&lt;/h2&gt;
1854
-
1855
-
1856
- &lt;ul&gt;
1857
- &lt;li&gt;Implemented some Verilog &lt;span class=&quot;caps&quot;&gt;VPI&lt;/span&gt; functionality:
1858
195
  &lt;ul&gt;
1859
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::handle_by_name(string, &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;)&lt;/code&gt; &amp;rarr; &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
1860
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::handle_by_name(string)&lt;/code&gt; &amp;rarr; &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
1861
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.put_value(integer)&lt;/code&gt;&lt;/li&gt;
1862
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.value = integer&lt;/code&gt;&lt;/li&gt;
1863
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.get_value&lt;/code&gt; &amp;rarr; &lt;code class=&quot;code&quot;&gt;integer&lt;/code&gt;&lt;/li&gt;
1864
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.value&lt;/code&gt; &amp;rarr; &lt;code class=&quot;code&quot;&gt;integer&lt;/code&gt;&lt;/li&gt;
1865
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::stop&lt;/code&gt;&lt;/li&gt;
1866
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::finish&lt;/code&gt;&lt;/li&gt;
1867
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::reset&lt;/code&gt;&lt;/li&gt;
1868
- &lt;/ul&gt;&lt;/li&gt;
196
+ &lt;li&gt;Ruby-VPI is now developed under a &lt;a href=&quot;readme.html#intro.license&quot;&gt;more permissive license&lt;/a&gt; that better reflects my ethical beliefs than &lt;a href=&quot;http://www.gnu.org/copyleft/gpl.html&quot;&gt;the previous license&lt;/a&gt;.&lt;/li&gt;
1869
197
  &lt;/ul&gt;
1870
198
 
1871
199
 
1872
- &lt;ul&gt;
1873
- &lt;li&gt;Implemented some additional functionality:
1874
- &lt;ul&gt;
1875
- &lt;li&gt;&lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::register_task(string, &amp;amp;proc)&lt;/code&gt;&lt;/li&gt;
1876
- &lt;/ul&gt;&lt;/li&gt;
1877
- &lt;/ul&gt;
200
+ &lt;h2&gt;New features&lt;/h2&gt;
1878
201
 
1879
202
 
1880
203
  &lt;ul&gt;
1881
- &lt;li&gt;Added ability to pass arbitrary command-line arguments to the Ruby interpreter (using &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_init&lt;/span&gt;&lt;/code&gt;). Now you can invoke any Ruby script you want, instead of &lt;tt&gt;pli_init.rb&lt;/tt&gt;.&lt;/li&gt;
204
+ &lt;li&gt;The &lt;a href=&quot;http://www.cadence.com/products/functional_ver/nc-verilog/&quot;&gt;Cadence NC-Sim / NC-Verilog&lt;/a&gt; (ncsim) simulator is now supported.&lt;/li&gt;
1882
205
  &lt;/ul&gt;
1883
206
 
1884
207
 
1885
208
  &lt;ul&gt;
1886
- &lt;li&gt;Added ability to dynamically register system tasks from Ruby, using &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::register_task(&lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;task name&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;)&lt;/code&gt;, and call them from Verilog, using &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_task&lt;/span&gt;(&lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;task name&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;)&lt;/code&gt;.&lt;/li&gt;
209
+ &lt;li&gt;VPI structures (whose names begin with &amp;#8220;S_&amp;#8221;) now allow initialization of their members through their constructor, in the style of Ruby on Rails. For example, the expression &lt;code class=&quot;code&quot;&gt;time = &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_time&lt;/span&gt;.new &lt;span style=&quot;color:#A60&quot;&gt;:type&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VpiSuppressTime&lt;/span&gt;&lt;/code&gt; is equivalent to: &lt;pre class=&quot;code&quot;&gt;
210
+ time = &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;S_vpi_time&lt;/span&gt;.new
211
+ time.type = &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VpiSuppressTime&lt;/span&gt;
212
+ &lt;/pre&gt;&lt;/li&gt;
1887
213
  &lt;/ul&gt;
1888
214
 
1889
215
 
1890
216
  &lt;ul&gt;
1891
- &lt;li&gt;Added &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;VPI&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;&lt;/code&gt; class which encapsulates a &lt;code class=&quot;code&quot;&gt;vpiHandle&lt;/code&gt; VPI object.&lt;/li&gt;
217
+ &lt;li&gt;Added the &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Vpi&lt;/span&gt;::&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Handle&lt;/span&gt;.cbValueChange&lt;/code&gt; method which simplifies the registration of a value-change callback for a particular VPI handle. For instance, the user manual&amp;#8217;s &lt;a href=&quot;manual.html#ex..callback&quot;&gt;example of setting up a value-change callback&lt;/a&gt; can now be written as follows: &lt;pre class=&quot;code&quot;&gt;
218
+ &lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;Counter&lt;/span&gt;.count.cbValueChange &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;do&lt;/span&gt; |s_cb_data|
219
+ puts &lt;span style=&quot;background-color:#fff0f0&quot;&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt;hello from callback! time=&lt;/span&gt;&lt;span style=&quot;background: #eee&quot;&gt;&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;#{&lt;/span&gt;s_cb_data.time.to_i&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:#D20&quot;&gt; count=&lt;/span&gt;&lt;span style=&quot;background: #eee&quot;&gt;&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;#{&lt;/span&gt;s_cb_data.obj.intVal&lt;span style=&quot;font-weight: bold; color: #888&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:#710&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
220
+ &lt;span style=&quot;color:#080; font-weight:bold&quot;&gt;end&lt;/span&gt;
221
+ &lt;/pre&gt;&lt;/li&gt;
1892
222
  &lt;/ul&gt;
1893
223
 
1894
224
 
1895
- &lt;ul&gt;
1896
- &lt;li&gt;This release was tested and developed using:
1897
- &lt;ul&gt;
1898
- &lt;li&gt;Ruby 1.8.2 and Icarus Verilog 0.8 on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1899
- &lt;li&gt;Ruby 1.8.4, Synopsys &lt;span class=&quot;caps&quot;&gt;VCS X&lt;/span&gt;-2005.06, and Mentor Modelsim 6.1b on i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/li&gt;
1900
- &lt;/ul&gt;&lt;/li&gt;
1901
- &lt;/ul&gt;</description>
1902
- <pubDate>Sun, 26 Feb 2006 00:00:00 PST</pubDate>
1903
- </item>
1904
- <item>
1905
- <title>Version 0.0.0 released</title>
1906
- <link>http://ruby-vpi.rubyforge.org/doc/history.html#a0.0.0</link>
1907
- <guid>http://ruby-vpi.rubyforge.org/doc/history.html#a0.0.0</guid>
1908
- <description>&lt;h1 id=&quot;0.0.0&quot;&gt;Version 0.0.0 (1999-10-31)&lt;/h1&gt;
1909
-
1910
- &lt;p&gt;This is Kazuhiro &lt;span class=&quot;caps&quot;&gt;HIWADA&lt;/span&gt;&amp;#8217;s initial testing release of Ruby-VPI. See its &lt;a href=&quot;http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/18193&quot;&gt;original announcement&lt;/a&gt; and &lt;a href=&quot;http://rubyforge.org/frs/?group_id=1339&amp;#38;release_id=8852&quot;&gt;source code&lt;/a&gt;.&lt;/p&gt;
1911
-
1912
-
1913
225
  &lt;h2&gt;Details&lt;/h2&gt;
1914
226
 
1915
227
 
1916
228
  &lt;ul&gt;
1917
- &lt;li&gt;Added ability to relay control from Verilog test bench to Ruby (using &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#d70; font-weight:bold&quot;&gt;$ruby_callback&lt;/span&gt;&lt;/code&gt;) and vice versa (using &lt;code class=&quot;code&quot;&gt;&lt;span style=&quot;color:#036; font-weight:bold&quot;&gt;PLI&lt;/span&gt;::relay_Verilog&lt;/code&gt;).&lt;/li&gt;
229
+ &lt;li&gt;Revised the project website according to the &lt;a href=&quot;http://producingoss.com&quot;&gt;Producing OSS&lt;/a&gt; guidelines.&lt;/li&gt;
1918
230
  &lt;/ul&gt;
1919
231
 
1920
232
 
1921
233
  &lt;ul&gt;
1922
- &lt;li&gt;Tested and developed using Ruby 1.4 and Verilog-XL from Cadence systems, on a &lt;span class=&quot;caps&quot;&gt;SPARC&lt;/span&gt; machine running Solaris 2.6.&lt;/li&gt;
234
+ &lt;li&gt;Added instructions for checking out source code and generating documentation.&lt;/li&gt;
1923
235
  &lt;/ul&gt;</description>
1924
- <pubDate>Sun, 31 Oct 1999 00:00:00 PDT</pubDate>
236
+ <pubDate>Wed, 02 May 2007 00:00:00 PDT</pubDate>
1925
237
  </item>
1926
238
  </channel>
1927
239
  </rss>