From: Suraj Kurapati Date: 2007-05-03T13:55:48+09:00 Subject: [ANN] Ruby-VPI 16.0.0 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. • See http://ruby-vpi.rubyforge.org for details. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Version 16.0.0 (2007-05-02) This release adds support for the Cadence NC-Sim / NC-Verilog simulator, improves the project website and documentation, simplifies interaction with VPI, and comes with a more permissive license. Caution • The Integer.ensure_min and Integer.ensure_max methods have been removed from the ruby-vpi/integer.rb library because Ruby already has idioms for these operations: >> 5.ensure_min 10 => 10 >> [5, 10].max => 10 >> 5.ensure_max 10 => 5 >> [5, 10].min => 5 • Ruby-VPI is now developed under a more permissive license that better reflects my ethical beliefs than the previous license. New features • The Cadence NC-Sim / NC-Verilog (ncsim) simulator is now supported. • VPI structures (whose names begin with “S_”) now allow initialization of their members through their constructor, in the style of Ruby on Rails. For example, the expression time = S_vpi_time.new :type => VpiSuppressTime is equivalent to: time = S_vpi_time.new time.type = VpiSuppressTime • Added the Vpi::Handle.cbValueChange method which simplifies the registration of a value-change callback for a particular VPI handle. For instance, the user manual’s example of setting up a value-change callback can now be written as follows: Counter.count.cbValueChange do |s_cb_data| puts "hello from callback! time=#{s_cb_data.time.to_i} count=#{s_cb_data.obj.intVal}" end Details • Revised the project website according to the Producing OSS guidelines. • Added instructions for checking out source code and generating documentation. -- Posted via http://www.ruby-forum.com/.