Suraj,

Happy to help :)

I spent last weekend playing around RubyVPI (using GPLCVER as simulator) and
you've done an excellent job in disguising all of the VPI uglyness with
nice, usable classes.

I wanted to ask you, exactly what are the goals of this project?  I am
interesting in building a fully open verification enviroment that would at
least be feature-compatible with current SystemVerilog implementations.

Ruby gives us Classes for free, that's the most major feature of SV already.

Currently missing features are:

- constraints (although I see there are several ruby-based constraint
solvers available, I have not yet explored them)

- assertions (I am referring to SVA, a temporal assertion language that
models assertion FSMs .. May be difficult to implement, but perhaps
something similar can be developed with a more ruby-like syntax)

- functional coverage (For interesting signals/buses, define "bins" with
ranges of values.  Anytime bus value changes, increment appropriate bin.. At
the end of simulation, you can see how many times interesting values were
hit.  Should be straight-forward to implement)

- code coverage (I believe this has to be implemented in the simulator)

- interfaces (probably impossible in RTL without simulator support, but may
be possible in some form inside verif enviroment)

I work in the industry (I'm an ASIC Verification Engineer, coming from
Mentor and Cadence tools mostly but I've used all of the big 3), and I think
a verification enviroment that implements the above in a free way would go a
long way towards both lowering costs in professional situations and allowing
hobbyists access to professional-level tools.

--Mike

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Suraj N.
Kurapati
Sent: Tuesday, March 25, 2008 3:29 PM
To: Discussion list for the Ruby-VPI project
Subject: Re: ArgumentError "VpiHigh" is not a valid VPI property

Mikhail Ravkine wrote:
> It can be solved by editing "counter_design.rb" and changing all 
> instances of "High!" to "t!" and "Low!" to "f!"

You are correct; thanks for posting this solution.  I must have forgotten to
update the examples properly after I the deprecated high! and low! methods
in favor of the t! and f! methods.

I will make a new release this week containing your solution.

Cheers.


Reply via email to