Forum: Ruby [ANN] Ruby-VPI 16.0.0

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Bc368ef524130e8d0deb386de961e24a?d=identicon&s=25 Suraj Kurapati (snk)
on 2007-05-03 06:55
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 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.


  • 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 = :type =>
    VpiSuppressTime is equivalent to:

    time      =
    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}


  • Revised the project website according to the Producing
    OSS guidelines.

  • Added instructions for checking out source code and
    generating documentation.
This topic is locked and can not be replied to.