# \[ANN\] Ruby-VPI 15.0.0

**URL:** <https://www.ruby-forum.com/t/ann-ruby-vpi-15-0-0/81781>\
**Category:** Ruby\
**Created:** [January 14, 2007, 1:58am UTC](https://www.ruby-forum.com/t/ann-ruby-vpi-15-0-0/81781 "2007-01-14T01:58:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![snk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d9b06d/32.png) [@snk](https://www.ruby-forum.com/u/snk)\
**Post date:** [January 14, 2007, 1:58am UTC](https://www.ruby-forum.com/t/ann-ruby-vpi-15-0-0/81781/1 "2007-01-14T01:58:30Z")

</div>

Ruby-VPI is a Ruby interface to IEEE 1364-2005 Verilog VPI.  
It lets you create complex Verilog test benches easily and  
wholly in Ruby.

â€¢ [http://ruby-vpi.rubyforge.org](http://ruby-vpi.rubyforge.org)

â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”

Version 15.0.0 (2007-01-13)

Summary

This release fixes a problem with compilation of the C  
extension, and makes clock generation code correctly affect  
Ruby prototypes.

Acknowledgment

Thanks to Derek Graham for reporting the problem with  
compilation of the C extension.

Notice

â€¢ The Vpi::advance\_time method (instead of the  
Vpi::simulate method) now invokes the designâ€™s  
simulate! method when prototyping is enabled.

```
This makes clock generation code (passed to the
RubyVpi::init_bench method) affect Ruby prototypes,
just as it affects a real Verilog design.

As a result, Ruby prototypes may need to check for
edge-triggering through the new Vpi::Handle.posedge?
and Vpi::Handle.negedge? methods. For example, see the
new implementation of the Counter prototype.

```

New features

â€¢ Added Vpi::Handle.posedge? and Vpi::Handle.negedge?  
methods which check if a handleâ€™s logic value is  
currently at a positive or negative edge, respectively.

â€¢ Added Vpi::S\_vpi\_time.integer and  
Vpi::S\_vpi\_time.integer= methods which access the high  
and low integer fields as a single 64-bit integer.

â€¢ Added utility methods for accessing the value field in  
the Vpi::S\_vpi\_value structure.

Details

â€¢ Fixed problem with incorrect Ruby library flag in ext/  
extconf.rb. It happens that the mkmf library determines  
the correct library flag all by itself!

â€¢ Added new prototyping section to user manual.

â€¢ Fixed some broken URLs in user documentation.
