# Ruby-VPI 0.7

**URL:** <https://www.ruby-forum.com/t/ruby-vpi-0-7/99478>\
**Category:** Ruby\
**Created:** [July 23, 2006, 8:02am UTC](https://www.ruby-forum.com/t/ruby-vpi-0-7/99478 "2006-07-23T08:02:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [July 23, 2006, 8:02am UTC](https://www.ruby-forum.com/t/ruby-vpi-0-7/99478/1 "2006-07-23T08:02:14Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

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

Website: [http://ruby-vpi.rubyforge.org](http://ruby-vpi.rubyforge.org)

Download: [http://rubyforge.org/frs/?group\_id=1339&release\_id=6154](http://rubyforge.org/frs/?group_id=1339&release_id=6154)

SVN tag: svn://rubyforge.org/var/svn/ruby-vpi/tags/0.7

= Version 0.7 (2006-07-22)

== Summary

This release enhances the VPI utility layer and adds new content to  
the user manual.

== Details

- SWIG is no longer required for users because its output is  
included in the release package.

- The VPI utility layer provides access to VPI properties of handles  
in a {simpler, more powerful  
way}[[http://ruby-vpi.rubyforge.org/doc/manual.html#organization.vpi.util](http://ruby-vpi.rubyforge.org/doc/manual.html#organization.vpi.util)].

- The user manual has been revised and new content in the  
organization and usage sections has been added.

- This release was tested and developed using:

== Acknowledgment

- Thanks to Jan Decaluwe for correcting the description of MyHDL in  
the user manual.  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFEww/nmV9O7RYnKMcRAkLwAKCyxJxE6skM8ekrtHU/Pnnhrlzo4gCePCWV  
0hlT3hl47SPrdA+J/6LfgjA=  
=IL7H  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [July 23, 2006, 9:15am UTC](https://www.ruby-forum.com/t/ruby-vpi-0-7/99478/2 "2006-07-23T09:15:09Z")

</div>

On 7/22/06, Suraj N. Kurapati [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> SVN tag: svn://rubyforge.org/var/svn/ruby-vpi/tags/0.7  
> It’s great to see more EDA tools based on Ruby and it looks like  
> you’ve put a lot of work into this.

One nitpick: The link to RHDL in your user’s guide should be updated  
to point to:  
[http://rhdl.rubyforge.org/](http://rhdl.rubyforge.org/)

Also, I’m not sure if RHDL is an ‘alternative’. In fact I wonder if  
it might be possible to use RubyVPI and RHDL together sort of as a  
distributed simulator where part of your code is simulating in the  
Verilog simulator and part is simulating in RHDL?

BTW: I believe there is some support for VPI in the ghdl vhdl simulator  
(  
[http://ghdl.free.fr](http://ghdl.free.fr) ) so RubyVPI may be usable with ghdl.

Phil

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [July 23, 2006, 10:35pm UTC](https://www.ruby-forum.com/t/ruby-vpi-0-7/99478/3 "2006-07-23T22:35:24Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Phil T. wrote:

> It’s great to see more EDA tools based on Ruby and it looks like  
> you’ve put a lot of work into this.

Thanks for the encouragement. 🙂

> One nitpick: The link to RHDL in your user’s guide should be  
> updated to point to: [http://rhdl.rubyforge.org/](http://rhdl.rubyforge.org/)
> 
> Also, I’m not sure if RHDL is an ‘alternative’.

Fixed.

> In fact I wonder if it might be possible to use RubyVPI and RHDL  
> together sort of as a distributed simulator where part of your  
> code is simulating in the Verilog simulator and part is  
> simulating in RHDL?

Interesting, it should be possible. I see three possible scenarios:

1. RHDL communicates with a Verilog simulator through Ruby-VPI. This  
would simply add VPI capabilities to RHDL’s verification framework.

2. Ruby-VPI communicates with RHDL (acting as a Verilog simulator).  
This would make it necessary for RHDL to implement the vpi\_user.h  
interface in C/Ruby (probably not what you intended :).

3. Ruby-VPI acts a bridge between two simulations that are running  
in parallel: one in RHDL and another in a Verilog simulator. This  
could be useful when you need to verify the behavior of an RHDL  
module against one implemented in Verilog.

For example, say you have synthesizable RTL source code for an  
existing mircoprocessor that implements the SPARC v8 ISA, and you’re  
writing your own microprocessor in RHDL which also implements the  
SPARC v8 ISA.

Now comes the challenge: you’d like to verify that your  
microprocessor correctly implements the ISA. One approach is to feed  
the same input to your RHDL microprocessor and the Verilog one, and  
then verify that they both generate the same output or exhibit the  
same behavior.

> BTW: I believe there is some support for VPI in the ghdl vhdl  
> simulator ( [http://ghdl.free.fr](http://ghdl.free.fr) ) so RubyVPI may be usable with  
> ghdl.

Thanks for the tip. I wouldn’t have guessed a VHDL simulator has VPI  
capabilities! I should try adding VHPI capabilites for my project,  
in the future.  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFEw9ynmV9O7RYnKMcRApjEAJ43eFE0sXI/z1/72PjXkOg7r4qiSgCdHeKP  
FseDXiHTobvJqeJXK+p80cw=  
=LfTe  
-----END PGP SIGNATURE-----
