[ANN] Ruby-VPI 20.0.0

Ruby-VPI

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.

             http://ruby-vpi.rubyforge.org

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Version 20.0.0

Contents

  • Caution
  • Improvements
  • Repairs

This release shifts focus from single-module unit testing
to a system-level testing approach by adding support for
testing multiple designs in a single session, improves the
Ruby interface to VPI, fixes several bugs, and updates the
documentation.

1 Caution

  • The way tests are loaded has been changed to shift
    focus from single-module unit testing to system level
    testing. See this discussion thread and its
    significance explained in the user guide.

  • The excessive & verbose aliases for testing & setting
    logic values introduced in the previous 19.0.0 release
    have been removed in favor or short and relevant method
    names following this pattern: /vpi[01XZHL][?!]/.
    Furthermore, single-character aliases /[tfxzhl]/ (t & f
    for 1 & 0) have been added for simplicity.

  • The test runner will now chdir (change the working
    directory) into same directory as the runner file
    before running a test.

  • The RubyVPI::SIMULATORS hash has been changed into an
    array.

  • The VPI::Handle#[] method now gives access to VPI
    properties (instead of child handles) by name or
    integer constant. To fill the void, the VPI::Handle#/
    method has been added to give access to child handles
    by relative path, and the VPI::Handle.to_a method has
    been added to give access to child handles by VPI type
    (name or integer constant).

2 Improvements

  • Upgraded and revised the website and user manual to
    make use of the Gerbil project and the new project
    organization.

  • The ruby-vpi executable now accepts a -v option to show
    the project version information.

  • “t” and “f” are now synonyms of 1 & 0 in method names
    for setting and testing the logic values of handles.

  • API documentation for dynamically generated methods is
    now present.

  • Ruby’s standard output and error streams are now copied
    into the simulator’s log file. This will help keep a
    record of failures (stack trace) in the log file for
    debugging.

  • In ./lib/ruby-vpi/rake.rb, the sh() method now prints
    args in array form before execution to help users
    readily see the ARGV being passed to the target
    program.

3 Repairs

  • Fixed several Ruby warnings in the edge detection
    logic.

  • There was an infinite loop during recursive rake clean/
    clobber.

  • String to integer conversion was incorrect when ‘x’ or
    ‘z’ present in a handle’s logic value.

···

--
Posted via http://www.ruby-forum.com/.