ruby-vpi 16.0.1 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. data/LICENSE +19 -19
  2. data/README +1 -1
  3. data/Rakefile +35 -32
  4. data/bin/convert.rb +28 -0
  5. data/bin/generate/design.rb +16 -0
  6. data/bin/generate/proto.rb +13 -0
  7. data/bin/generate/runner.rake +33 -0
  8. data/bin/generate/spec.rb +45 -0
  9. data/bin/generate.rb +177 -0
  10. data/bin/ruby-vpi +56 -0
  11. data/doc/Rakefile +20 -4
  12. data/doc/common.css +92 -33
  13. data/doc/common.inc +13 -0
  14. data/doc/common.tpl +42 -28
  15. data/doc/history.doc +11 -11
  16. data/doc/history.html +769 -248
  17. data/doc/history.inc +909 -0
  18. data/doc/history.rb +9 -0
  19. data/doc/history.yaml +69 -0
  20. data/doc/intro.inc +170 -178
  21. data/doc/lib/doc_format.rb +57 -144
  22. data/doc/lib/doc_proxy.rb +504 -88
  23. data/doc/lib/erb_content.rb +8 -8
  24. data/doc/lib/erb_proxy.rb +17 -17
  25. data/doc/manual.doc +626 -777
  26. data/doc/manual.html +1541 -1031
  27. data/doc/memo.doc +38 -36
  28. data/doc/memo.html +64 -28
  29. data/doc/readme.doc +4 -31
  30. data/doc/readme.html +221 -163
  31. data/doc/rss.erb +1 -1
  32. data/doc/rss.xml +73 -1761
  33. data/ext/Rakefile +6 -5
  34. data/ext/main.c +17 -15
  35. data/ext/relay.c +4 -7
  36. data/ext/relay.h +2 -2
  37. data/ext/swig_vpi.h +2 -2
  38. data/ext/swig_vpi.i +1 -2
  39. data/ext/swig_wrap.cin +12 -16
  40. data/ext/vlog.c +5 -5
  41. data/ext/vlog.h +2 -2
  42. data/lib/ruby-vpi/erb.rb +3 -3
  43. data/lib/ruby-vpi/float.rb +2 -2
  44. data/lib/ruby-vpi/rcov.rb +5 -7
  45. data/lib/ruby-vpi/runner.rb +43 -41
  46. data/lib/ruby-vpi/runner_boot_loader.rb +117 -0
  47. data/lib/ruby-vpi/runner_proxy.rb +6 -8
  48. data/lib/ruby-vpi/util.rb +10 -0
  49. data/lib/ruby-vpi/verilog_parser.rb +28 -56
  50. data/lib/ruby-vpi/vpi.rb +168 -123
  51. data/lib/ruby-vpi.rb +22 -143
  52. data/ref/c/annotated.html +1 -1
  53. data/ref/c/common_8h.html +1 -1
  54. data/ref/c/files.html +1 -1
  55. data/ref/c/functions.html +1 -1
  56. data/ref/c/functions_vars.html +1 -1
  57. data/ref/c/globals.html +1 -1
  58. data/ref/c/globals_0x63.html +1 -1
  59. data/ref/c/globals_0x65.html +1 -1
  60. data/ref/c/globals_0x66.html +1 -1
  61. data/ref/c/globals_0x6d.html +1 -1
  62. data/ref/c/globals_0x70.html +1 -1
  63. data/ref/c/globals_0x72.html +1 -1
  64. data/ref/c/globals_0x73.html +1 -1
  65. data/ref/c/globals_0x74.html +1 -1
  66. data/ref/c/globals_0x76.html +1 -1
  67. data/ref/c/globals_0x78.html +1 -1
  68. data/ref/c/globals_defs.html +1 -1
  69. data/ref/c/globals_defs_0x65.html +1 -1
  70. data/ref/c/globals_defs_0x70.html +1 -1
  71. data/ref/c/globals_defs_0x76.html +1 -1
  72. data/ref/c/globals_defs_0x78.html +1 -1
  73. data/ref/c/globals_enum.html +1 -1
  74. data/ref/c/globals_eval.html +1 -1
  75. data/ref/c/globals_func.html +1 -1
  76. data/ref/c/globals_type.html +1 -1
  77. data/ref/c/globals_vars.html +1 -1
  78. data/ref/c/index.html +1 -1
  79. data/ref/c/main_8c.html +1 -1
  80. data/ref/c/main_8h.html +1 -1
  81. data/ref/c/relay_8c.html +1 -1
  82. data/ref/c/relay_8h.html +1 -1
  83. data/ref/c/structt__cb__data.html +1 -1
  84. data/ref/c/structt__vpi__delay.html +1 -1
  85. data/ref/c/structt__vpi__error__info.html +1 -1
  86. data/ref/c/structt__vpi__strengthval.html +1 -1
  87. data/ref/c/structt__vpi__systf__data.html +1 -1
  88. data/ref/c/structt__vpi__time.html +1 -1
  89. data/ref/c/structt__vpi__value.html +1 -1
  90. data/ref/c/structt__vpi__vecval.html +1 -1
  91. data/ref/c/structt__vpi__vlog__info.html +1 -1
  92. data/ref/c/verilog_8h.html +1 -1
  93. data/ref/c/vlog_8c.html +1 -1
  94. data/ref/c/vlog_8h.html +1 -1
  95. data/ref/c/vpi__user_8h.html +1 -1
  96. data/ref/ruby/classes/ERB.html +5 -5
  97. data/ref/ruby/classes/ERB.src/{M000024.html → M000026.html} +0 -0
  98. data/ref/ruby/classes/FileUtils.html +11 -11
  99. data/ref/ruby/classes/FileUtils.src/{M000025.html → M000027.html} +0 -0
  100. data/ref/ruby/classes/FileUtils.src/{M000026.html → M000028.html} +0 -0
  101. data/ref/ruby/classes/Float.html +6 -6
  102. data/ref/ruby/classes/Float.src/{M000020.html → M000021.html} +0 -0
  103. data/ref/ruby/classes/Integer.html +65 -65
  104. data/ref/ruby/classes/Integer.src/M000009.html +12 -5
  105. data/ref/ruby/classes/Integer.src/M000010.html +5 -5
  106. data/ref/ruby/classes/Integer.src/M000011.html +5 -5
  107. data/ref/ruby/classes/Integer.src/M000012.html +5 -5
  108. data/ref/ruby/classes/Integer.src/M000013.html +5 -5
  109. data/ref/ruby/classes/Integer.src/M000014.html +18 -0
  110. data/ref/ruby/classes/Integer.src/M000017.html +12 -18
  111. data/ref/ruby/classes/Integer.src/M000018.html +18 -12
  112. data/ref/ruby/classes/Integer.src/M000019.html +12 -17
  113. data/ref/ruby/classes/Integer.src/M000020.html +30 -0
  114. data/ref/ruby/classes/RDoc.html +5 -5
  115. data/ref/ruby/classes/RDoc.src/{M000053.html → M000058.html} +0 -0
  116. data/ref/ruby/classes/{RubyVpi/Config.html → RubyVPI.html} +20 -6
  117. data/ref/ruby/classes/String.html +34 -15
  118. data/ref/ruby/classes/String.src/M000022.html +5 -28
  119. data/ref/ruby/classes/String.src/M000023.html +5 -5
  120. data/ref/ruby/classes/String.src/{M000021.html → M000024.html} +0 -0
  121. data/ref/ruby/classes/String.src/M000025.html +41 -0
  122. data/ref/ruby/classes/VerilogParser/Module/Port.html +16 -36
  123. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +10 -5
  124. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000004.html → M000007.html} +4 -4
  125. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000005.html → M000008.html} +4 -4
  126. data/ref/ruby/classes/VerilogParser/Module.html +28 -9
  127. data/ref/ruby/classes/VerilogParser/Module.src/M000005.html +29 -0
  128. data/ref/ruby/classes/VerilogParser.html +5 -39
  129. data/ref/ruby/classes/VerilogParser.src/M000004.html +26 -0
  130. data/ref/ruby/classes/Vpi/Handle.html +179 -77
  131. data/ref/ruby/classes/Vpi/Handle.src/M000035.html +18 -0
  132. data/ref/ruby/classes/Vpi/Handle.src/M000036.html +5 -5
  133. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +5 -5
  134. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +5 -5
  135. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +5 -5
  136. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +5 -8
  137. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +5 -8
  138. data/ref/ruby/classes/Vpi/Handle.src/M000042.html +5 -9
  139. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +8 -31
  140. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +8 -74
  141. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +9 -17
  142. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +31 -11
  143. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +86 -0
  144. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +17 -18
  145. data/ref/ruby/classes/Vpi/Handle.src/M000050.html +18 -0
  146. data/ref/ruby/classes/Vpi/Handle.src/M000051.html +24 -0
  147. data/ref/ruby/classes/Vpi/Handle.src/M000053.html +31 -0
  148. data/ref/ruby/classes/Vpi/Handle.src/M000054.html +89 -0
  149. data/ref/ruby/classes/Vpi/S_vpi_time.html +16 -16
  150. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000050.html → M000055.html} +4 -4
  151. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000051.html → M000056.html} +5 -5
  152. data/ref/ruby/classes/Vpi/S_vpi_value.html +15 -15
  153. data/ref/ruby/classes/Vpi/S_vpi_value.src/{M000035.html → M000032.html} +5 -5
  154. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +5 -5
  155. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +5 -5
  156. data/ref/ruby/classes/Vpi.html +6 -42
  157. data/ref/ruby/classes/Vpi.src/M000029.html +15 -5
  158. data/ref/ruby/classes/Vpi.src/M000030.html +24 -24
  159. data/ref/ruby/classes/Vpi.src/M000031.html +6 -8
  160. data/ref/ruby/created.rid +1 -1
  161. data/ref/ruby/files/bin/{header_to_ruby_rb.html → convert_rb.html} +5 -5
  162. data/ref/ruby/files/bin/{generate_test_rb.html → generate_rb.html} +8 -21
  163. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  164. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  165. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  166. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  167. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  168. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  169. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +197 -0
  170. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +17 -0
  171. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +18 -0
  172. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  173. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +6 -19
  174. data/ref/ruby/files/lib/ruby-vpi/util_rb.html +101 -0
  175. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +8 -1
  176. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  177. data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -14
  178. data/ref/ruby/fr_class_index.html +1 -3
  179. data/ref/ruby/fr_file_index.html +4 -2
  180. data/ref/ruby/fr_method_index.html +56 -51
  181. data/ref/ruby/index.html +1 -1
  182. data/samp/counter/RSpec/Rakefile +1 -0
  183. data/samp/counter/RSpec/counter_design.rb +15 -0
  184. data/samp/counter/RSpec/counter_proto.rb +10 -0
  185. data/samp/counter/RSpec/counter_runner.rake +44 -0
  186. data/samp/counter/RSpec/counter_spec.rb +39 -0
  187. data/samp/counter/Rakefile +1 -1
  188. data/samp/counter/counter.v +7 -7
  189. data/samp/counter/xUnit/Rakefile +1 -0
  190. data/samp/counter/xUnit/counter_bench.rb +95 -0
  191. data/samp/counter/{counter_xunit_bench.v → xUnit/counter_bench.v} +0 -0
  192. data/samp/counter/xUnit/counter_design.rb +15 -0
  193. data/samp/counter/xUnit/counter_proto.rb +10 -0
  194. data/samp/counter/xUnit/counter_runner.rake +44 -0
  195. data/samp/counter/{counter_xunit_spec.rb → xUnit/counter_spec.rb} +9 -9
  196. data/samp/pipelined_alu/Rakefile +1 -1
  197. data/samp/pipelined_alu/TestHw5UnitModel.rb +4 -5
  198. data/samp/pipelined_alu/hw5_unit.v +55 -85
  199. data/samp/pipelined_alu/hw5_unit_design.rb +51 -0
  200. data/samp/pipelined_alu/hw5_unit_proto.rb +4 -0
  201. data/samp/pipelined_alu/hw5_unit_runner.rake +43 -0
  202. data/samp/pipelined_alu/hw5_unit_spec.rb +64 -0
  203. data/samp/register_file/LICENSE +20 -0
  204. data/samp/register_file/README +4 -0
  205. data/samp/register_file/Rakefile +1 -0
  206. data/samp/register_file/register_file.v +18 -0
  207. data/samp/register_file/register_file_design.rb +11 -0
  208. data/samp/register_file/register_file_proto.rb +11 -0
  209. data/samp/register_file/register_file_runner.rake +43 -0
  210. data/samp/register_file/register_file_spec.rb +58 -0
  211. metadata +78 -66
  212. data/bin/generate_test.rb +0 -200
  213. data/bin/generate_test_tpl/bench.rb +0 -89
  214. data/bin/generate_test_tpl/bench.v +0 -26
  215. data/bin/generate_test_tpl/design.rb +0 -11
  216. data/bin/generate_test_tpl/proto.rb +0 -16
  217. data/bin/generate_test_tpl/runner.rake +0 -42
  218. data/bin/generate_test_tpl/spec.rb +0 -37
  219. data/bin/header_to_ruby.rb +0 -27
  220. data/ref/ruby/classes/Integer.src/M000008.html +0 -25
  221. data/ref/ruby/classes/Integer.src/M000016.html +0 -25
  222. data/ref/ruby/classes/RubyVpi.html +0 -199
  223. data/ref/ruby/classes/RubyVpi.src/M000027.html +0 -121
  224. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +0 -160
  225. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000007.html +0 -19
  226. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000003.html +0 -21
  227. data/ref/ruby/classes/VerilogParser/Module.src/M000002.html +0 -34
  228. data/ref/ruby/classes/VerilogParser.src/M000001.html +0 -34
  229. data/ref/ruby/classes/Vpi/Handle.src/M000049.html +0 -69
  230. data/ref/ruby/classes/Vpi.src/M000028.html +0 -28
  231. data/ref/ruby/classes/Vpi.src/M000032.html +0 -22
  232. data/samp/counter/counter_rspec_bench.rb +0 -86
  233. data/samp/counter/counter_rspec_bench.v +0 -9
  234. data/samp/counter/counter_rspec_design.rb +0 -8
  235. data/samp/counter/counter_rspec_proto.rb +0 -13
  236. data/samp/counter/counter_rspec_runner.rake +0 -52
  237. data/samp/counter/counter_rspec_spec.rb +0 -39
  238. data/samp/counter/counter_xunit_bench.rb +0 -86
  239. data/samp/counter/counter_xunit_design.rb +0 -8
  240. data/samp/counter/counter_xunit_proto.rb +0 -13
  241. data/samp/counter/counter_xunit_runner.rake +0 -52
  242. data/samp/pipelined_alu/hw5_unit_test_bench.rb +0 -86
  243. data/samp/pipelined_alu/hw5_unit_test_bench.v +0 -14
  244. data/samp/pipelined_alu/hw5_unit_test_design.rb +0 -61
  245. data/samp/pipelined_alu/hw5_unit_test_proto.rb +0 -7
  246. data/samp/pipelined_alu/hw5_unit_test_runner.rake +0 -52
  247. data/samp/pipelined_alu/hw5_unit_test_spec.rb +0 -68
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>