- Tutorial
– learn how to use Ruby-VPI quickly.
- Manual
– complete documentation for users. Start here!
- Reference
– API documentation for Ruby libraries and C extension.
- History
– record of all release notes.
- Memo
– pending tasks for future releases.
- Facilities
– issue tracker, file downloads, support requests, discussion forums, and more.
- Sources
– browse or access the Darcs source code repository.
- Talks
– slides from public presentations about Ruby-VPI.
- News
– see what’s cooking for the next release.
Welcome to Ruby-VPI
Ruby-VPI is a Ruby interface to Verilog VPI. It lets you create complex Verilog test benches easily and wholly in Ruby.
Features
- Supports the entire IEEE Std 1364-2005 VPI standard.
- Eliminates unneccesary work:
Appetizers
Here is a modest sampling to whet your appetite.
- Assign the value 22048 to a register:
some_register.intVal = 2 ** 2048
- Check if all nets in a module are at high impedance:
some_module.all_net? { |net| net.z? }
- See a register’s path, width, and location (file & line number):
puts some_register
- Simulate fifteen clock cycles:
15.times { relay_verilog }