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.
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
â€¢ 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
â€¢ 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).
â€¢ Upgraded and revised the website and user manual to
make use of the Gerbil project and the new project
â€¢ 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
â€¢ 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
â€¢ 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
â€¢ Fixed several Ruby warnings in the edge detection
â€¢ There was an infinite loop during recursive rake clean/
â€¢ String to integer conversion was incorrect when â€˜xâ€™ or
â€˜zâ€™ present in a handleâ€™s logic value.