# \[ANN\] Ruby-VPI 21.0.0

**URL:** <https://www.ruby-forum.com/t/ann-ruby-vpi-21-0-0/139913>\
**Category:** Ruby\
**Created:** [June 9, 2008, 1:01am UTC](https://www.ruby-forum.com/t/ann-ruby-vpi-21-0-0/139913 "2008-06-09T01:01:01Z")\
**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:** [June 9, 2008, 1:01am UTC](https://www.ruby-forum.com/t/ann-ruby-vpi-21-0-0/139913/1 "2008-06-09T01:01:01Z")

</div>

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

```

###########################################################

Ruby-VPI 21.0.0

This release adds support for Ruby 1.9.0 and, in an awesome  
twist of fate, breaks compatibility[1] with Cadence NC-Sim  
while restoring compatibility with Mentor Modelsim.

1 Caution

Cadence NC-Sim is not compatible with this release.

2 Improvements

â€¢ Added support for Ruby 1.9.0 by replacing the  
pthreads-based relay implementation with a simpler that  
uses rb\_create\_thread() for stack decoupling and Rubyâ€™s  
thread-safe Queue class for synchronization. See this[2]  
blog entry for details about the implementation.

```
One side benefit of this change is that it restored
support for Mentor Modelsim. On the other hand, it also
broke support[1] for Cadence NC-Sim, as mentioned above.

```

â€¢ The POSIX threads library (pthreads) is no longer  
required by Ruby-VPI.

3 Repairs

The pipelined ALU example (one of my homework assignments  
which motivated the creation of Ruby-VPI) has been removed  
because it was buggy. Farewell, old friend!

[1] [http://ruby-vpi.rubyforge.org/#problem.ncsim](http://ruby-vpi.rubyforge.org/#problem.ncsim)  
[2]  
[http://snk.rubyforge.org/web/2008-03-31-ruby-1-9-support-c-extension-breakthrough.html](http://snk.rubyforge.org/web/2008-03-31-ruby-1-9-support-c-extension-breakthrough.html)
