Class VPI::Handle
In: lib/ruby-vpi/core/callback.rb
lib/ruby-vpi/core/handle.rb
lib/ruby-vpi/core/edge.rb
ruby-vpi-dynamic.rb
Parent: Object

A handle is an object inside a Verilog simulation (see vpiHandle in IEEE Std. 1364-2005 for details).

Nearly all methods of this class, such as put_value() and get_value(), you allow you to specify VPI types and properties (which are listed in ext/vpi_user.h) by their names (strings or symbols) or integer constants.

For example, the vpiIntVal property can be specified as a string ("vpiIntVal"), a symbol (:vpiIntVal), or as an integer (VpiIntVal or VPI::vpiIntVal).

Methods

Included Modules

VPI

External Aliases

change_01? -> posedge?
change_10? -> negedge?

Public Instance methods

Returns the child handle at the given relative VPI path.

Sort by absolute VPI path.

Returns the value of the given VPI property (name or integer constant) of this handle.

Registers a callback that is invoked whenever the value of this object changes.

Tests if the logic value of this handle has changed since the last simulation time step.

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from Vpi0 (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from VpiH (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from VpiL (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from Vpi1 (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from VpiX (in the previous time step) to VpiZ (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to Vpi0 (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to VpiH (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to VpiL (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to Vpi1 (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to VpiX (in the current time step).

Tests if the logic value of this handle has changed from VpiZ (in the previous time step) to VpiZ (in the current time step).

Tests if either a positive or negative edge has occurred.

f!()

Alias for vpi0!

f?()

Alias for vpi0?

Tests if there is currently a value forced onto this handle.

Forces the given value (see arguments for put_value) onto this handle.

Reads the value using the given format (name or integer constant) and returns it. If a format is not given, then it is assumed to be VpiIntVal.

Reads the value using the given format (name or integer constant) and returns a S_vpi_value object.

h!()

Alias for vpiH!

h?()

Alias for vpiH?

Inspects the given VPI property names, in addition to those common to all handles.

l!()

Alias for vpiL!

l?()

Alias for vpiL?

Provides access to this handle‘s (1) child handles and (2) VPI properties through method calls. In the case that a child handle has the same name as a VPI property, the child handle will be accessed instead of the VPI property. However, you can still access the VPI property using the square brackets #[] method.

Writes the given value using the given format (name or integer constant), time, and delay, and then returns the written value.

  • If you do not specify the format, then the Verilog simulator will attempt to determine the correct format.

Releases all forced values on this handle (if any).

t!()

Alias for vpi1!

t?()

Alias for vpi1?

Returns an array of child handles which have the given types (names or integer constants).

to_s(*aPropNames)

Alias for inspect

Sets the integer value of this handle to 0.

Tests if the integer value of this handle is 0.

Sets the integer value of this handle to 1.

Tests if the integer value of this handle is 1.

Sets the strength value of this handle to high.

Tests if the strength value of this handle is high.

Sets the strength value of this handle to low.

Tests if the strength value of this handle is low.

Sets the logic value of this handle to unknown (x).

Tests if the logic value of this handle is unknown (x).

Sets the logic value of this handle to high impedance (z).

Tests if the logic value of this handle is high impedance (z).

x!()

Alias for vpiX!

x?()

Alias for vpiX?

z!()

Alias for vpiZ!

z?()

Alias for vpiZ?

[Validate]