From: Suraj Kurapati Date: 2008-01-28T16:04:02+09:00 Subject: [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/.