S
Suraj Kurapati
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:
• 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.
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:
=> 105.ensure_min 10 => 10
[5, 10].max
=> 55.ensure_max 10 => 5
[5, 10].min
• 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.