Module VPI
In: lib/ruby-vpi/core.rb
lib/ruby-vpi/core/callback.rb
lib/ruby-vpi/core/struct.rb
lib/ruby-vpi/core/scheduler.rb
lib/ruby-vpi/core/handle.rb
lib/ruby-vpi/core/edge.rb
ruby-vpi-dynamic.rb

This module encapsulates all functionality provided by the C-language Application Programming Interface (API) of the Verilog Procedural Interface (VPI). See the ext/vpi_user.h file for details.

Methods

advance_time   always   current_time   forever   process   vpiActive   vpiActiveTimeFormat   vpiAddOp   vpiAlways   vpiAndPrim   vpiArgument   vpiArithLShiftOp   vpiArithRShiftOp   vpiArray   vpiAssignStmt   vpiAssignment   vpiAttribute   vpiAutomatic   vpiBaseExpr   vpiBegin   vpiBinaryConst   vpiBit   vpiBitAndOp   vpiBitNegOp   vpiBitOrOp   vpiBitSelect   vpiBitXNorOp   vpiBitXnorOp   vpiBitXorOp   vpiBlocking   vpiBufPrim   vpiBufif0Prim   vpiBufif1Prim   vpiCallback   vpiCancelEvent   vpiCase   vpiCaseEqOp   vpiCaseExact   vpiCaseItem   vpiCaseNeqOp   vpiCaseType   vpiCaseX   vpiCaseZ   vpiCell   vpiCellInstance   vpiChargeStrength   vpiCmosPrim   vpiCombPrim   vpiConcatOp   vpiCondition   vpiConditionOp   vpiConfig   vpiConnByName   vpiConstType   vpiConstant   vpiContAssign   vpiContAssignBit   vpiDataPolarity   vpiDeassign   vpiDecConst   vpiDecompile   vpiDefAttribute   vpiDefDecayTime   vpiDefDelayMode   vpiDefFile   vpiDefLineNo   vpiDefName   vpiDefNetType   vpiDefParam   vpiDelay   vpiDelayControl   vpiDelayDevice   vpiDelayModeDistrib   vpiDelayModeMTM   vpiDelayModeNone   vpiDelayModePath   vpiDelayModeUnit   vpiDelayModeZero   vpiDelayTerm   vpiDelayType   vpiDirection   vpiDisable   vpiDivOp   vpiDriver   vpiEdge   vpiEdge01   vpiEdge0x   vpiEdge10   vpiEdge1x   vpiEdgex0   vpiEdgex1   vpiElseStmt   vpiEqOp   vpiEventControl   vpiEventOrOp   vpiEventStmt   vpiExpanded   vpiExplicitName   vpiExplicitScalared   vpiExplicitVectored   vpiExpr   vpiFile   vpiFinish   vpiFor   vpiForIncStmt   vpiForInitStmt   vpiForce   vpiForever   vpiFork   vpiFrame   vpiFullName   vpiFullskew   vpiFuncCall   vpiFuncType   vpiFunction   vpiGate   vpiGateArray   vpiGeOp   vpiGenScope   vpiGenScopeArray   vpiGenVar   vpiGtOp   vpiHexConst   vpiHiZ   vpiHighConn   vpiHighZ   vpiHold   vpiIODecl   vpiIf   vpiIfElse   vpiImplicitDecl   vpiInTerm   vpiIndex   vpiIndexedPartSelect   vpiIndexedPartSelectType   vpiInitial   vpiInout   vpiInput   vpiInstanceArray   vpiIntConst   vpiIntFunc   vpiIntegerVar   vpiInterModPath   vpiInterModPathDelay   vpiInternal   vpiInternalScope   vpiIsMemory   vpiIterator   vpiIteratorType   vpiLShiftOp   vpiLeOp   vpiLeftRange   vpiLhs   vpiLibrary   vpiLineNo   vpiListOp   vpiLoad   vpiLocalDriver   vpiLocalLoad   vpiLogAndOp   vpiLogOrOp   vpiLowConn   vpiLtOp   vpiMIPDelay   vpiMemory   vpiMemoryWord   vpiMinTypMaxOp   vpiMinusOp   vpiMixedIO   vpiModDataPathIn   vpiModOp   vpiModPath   vpiModPathDelay   vpiModPathHasIfNone   vpiModPathIn   vpiModPathOut   vpiModule   vpiModuleArray   vpiMultOp   vpiMultiArray   vpiMultiConcatOp   vpiName   vpiNamedBegin   vpiNamedEvent   vpiNamedEventArray   vpiNamedFork   vpiNandPrim   vpiNegIndexed   vpiNegative   vpiNegedgeOp   vpiNeqOp   vpiNet   vpiNetArray   vpiNetBit   vpiNetDeclAssign   vpiNetType   vpiNmosPrim   vpiNoChange   vpiNoDirection   vpiNoEdge   vpiNone   vpiNorPrim   vpiNotOp   vpiNotPrim   vpiNotif0Prim   vpiNotif1Prim   vpiNullOp   vpiNullStmt   vpiOctConst   vpiOffset   vpiOpType   vpiOperand   vpiOperation   vpiOrPrim   vpiOutTerm   vpiOutput   vpiParamAssign   vpiParameter   vpiParent   vpiPartSelect   vpiPathFull   vpiPathParallel   vpiPathTerm   vpiPathType   vpiPeriod   vpiPlusOp   vpiPmosPrim   vpiPolarity   vpiPort   vpiPortBit   vpiPortIndex   vpiPortInst   vpiPorts   vpiPosIndexed   vpiPosedgeOp   vpiPositive   vpiPowerOp   vpiPrimTerm   vpiPrimType   vpiPrimitive   vpiPrimitiveArray   vpiProcess   vpiProtected   vpiPull0   vpiPull1   vpiPulldownPrim   vpiPullupPrim   vpiPureTransportDelay   vpiRShiftOp   vpiRange   vpiRcmosPrim   vpiRealConst   vpiRealFunc   vpiRealVar   vpiRecovery   vpiRecrem   vpiReg   vpiRegArray   vpiRegBit   vpiRelease   vpiReleaseFlag   vpiRemoval   vpiRepeat   vpiRepeatControl   vpiReset   vpiReturnEvent   vpiRhs   vpiRightRange   vpiRnmosPrim   vpiRpmosPrim   vpiRtranPrim   vpiRtranif0Prim   vpiRtranif1Prim   vpiRun   vpiSaveRestartID   vpiSaveRestartLocation   vpiScalar   vpiSchedEvent   vpiScheduled   vpiScope   vpiSeqPrim   vpiSetInteractiveScope   vpiSetup   vpiSetupHold   vpiSimNet   vpiSize   vpiSizedFunc   vpiSizedSignedFunc   vpiSkew   vpiSpecParam   vpiStmt   vpiStop   vpiStrength0   vpiStrength1   vpiStringConst   vpiSubOp   vpiSupply0   vpiSupply1   vpiSuppressTime   vpiSuppressVal   vpiSwitch   vpiSwitchArray   vpiSysFunc   vpiSysFuncCall   vpiSysTaskCall   vpiSysTfCall   vpiTableEntry   vpiTask   vpiTaskCall   vpiTaskFunc   vpiTchk   vpiTchkDataTerm   vpiTchkNotifier   vpiTchkRefTerm   vpiTchkTerm   vpiTchkType   vpiTermIndex   vpiTimeFunc   vpiTimePrecision   vpiTimeQueue   vpiTimeUnit   vpiTimeVar   vpiTimeskew   vpiTopModule   vpiTranPrim   vpiTranif0Prim   vpiTranif1Prim   vpiTri   vpiTri0   vpiTri1   vpiTriAnd   vpiTriOr   vpiTriReg   vpiType   vpiUdp   vpiUdpArray   vpiUdpDefn   vpiUnaryAndOp   vpiUnaryNandOp   vpiUnaryNorOp   vpiUnaryOrOp   vpiUnaryXNorOp   vpiUnaryXorOp   vpiUnconnDrive   vpiUndefined   vpiUnknown   vpiUse   vpiUserDefn   vpiUserSystf   vpiUwire   vpiValid   vpiVarSelect   vpiVariables   vpiVector   vpiWait   vpiWand   vpiWhile   vpiWidth   vpiWidthExpr   vpiWire   vpiWor   vpiXnorPrim   vpiXorPrim   vpi_chk_error   vpi_compare_objects   vpi_control   vpi_flush   vpi_free_object   vpi_get   vpi_get_cb_info   vpi_get_data   vpi_get_delays   vpi_get_str   vpi_get_systf_info   vpi_get_time   vpi_get_userdata   vpi_get_value   vpi_get_vlog_info   vpi_handle   vpi_handle_by_index   vpi_handle_by_multi_index   vpi_handle_by_name   vpi_handle_multi   vpi_iterate   vpi_mcd_close   vpi_mcd_flush   vpi_mcd_name   vpi_mcd_open   vpi_mcd_printf   vpi_mcd_vprintf   vpi_printf   vpi_put_data   vpi_put_delays   vpi_put_userdata   vpi_put_value   vpi_register_cb   vpi_register_cb   vpi_register_systf   vpi_remove_cb   vpi_scan   vpi_vprintf   wait  

Classes and Modules

Class VPI::Handle
Class VPI::S_vpi_time
Class VPI::S_vpi_value

Constants

INTEGER_BITS = 32   Number of bits in PLI_INT32.
INTEGER_LIMIT = 2 ** INTEGER_BITS   Lowest upper bound of PLI_INT32.
INTEGER_MASK = INTEGER_LIMIT - 1   Bit-mask capable of capturing PLI_INT32.
Handle = SWIG::TYPE_p_unsigned_int
VpiAlways = 1   always construct
VpiAssignStmt = 2   quasi-continuous assignment
VpiAssignment = 3   procedural assignment
VpiBegin = 4   block statement
VpiCase = 5   case statement
VpiCaseItem = 6   case statement item
VpiConstant = 7   numerical constant or literal string
VpiContAssign = 8   continuous assignment
VpiDeassign = 9   deassignment statement
VpiDefParam = 10   defparam
VpiDelayControl = 11   delay statement (e.g. 10)
VpiDisable = 12   named block disable statement
VpiEventControl = 13   wait on event, e.g. @e
VpiEventStmt = 14   event trigger, e.g. ->e
VpiFor = 15   for statement
VpiForce = 16   force statement
VpiForever = 17   forever statement
VpiFork = 18   fork-join block
VpiFuncCall = 19   HDL function call
VpiFunction = 20   HDL function
VpiGate = 21   primitive gate
VpiIf = 22   if statement
VpiIfElse = 23   if-else statement
VpiInitial = 24   initial construct
VpiIntegerVar = 25   integer variable
VpiInterModPath = 26   intermodule wire delay
VpiIterator = 27   iterator
VpiIODecl = 28   input/output declaration
VpiMemory = 29   behavioral memory
VpiMemoryWord = 30   single word of memory
VpiModPath = 31   module path for path delays
VpiModule = 32   module instance
VpiNamedBegin = 33   named block statement
VpiNamedEvent = 34   event variable
VpiNamedFork = 35   named fork-join block
VpiNet = 36   scalar or vector net
VpiNetBit = 37   bit of vector net
VpiNullStmt = 38   a semicolon. Ie. 10 ;
VpiOperation = 39   behavioral operation
VpiParamAssign = 40   module parameter assignment
VpiParameter = 41   module parameter
VpiPartSelect = 42   part-select
VpiPathTerm = 43   terminal of module path
VpiPort = 44   module port
VpiPortBit = 45   bit of vector module port
VpiPrimTerm = 46   primitive terminal
VpiRealVar = 47   real variable
VpiReg = 48   scalar or vector reg
VpiRegBit = 49   bit of vector reg
VpiRelease = 50   release statement
VpiRepeat = 51   repeat statement
VpiRepeatControl = 52   repeat control in an assign stmt
VpiSchedEvent = 53   vpi_put_value() event
VpiSpecParam = 54   specparam
VpiSwitch = 55   transistor switch
VpiSysFuncCall = 56   system function call
VpiSysTaskCall = 57   system task call
VpiTableEntry = 58   UDP state table entry
VpiTask = 59   HDL task
VpiTaskCall = 60   HDL task call
VpiTchk = 61   timing check
VpiTchkTerm = 62   terminal of timing check
VpiTimeVar = 63   time variable
VpiTimeQueue = 64   simulation event queue
VpiUdp = 65   user-defined primitive
VpiUdpDefn = 66   UDP definition
VpiUserSystf = 67   user defined system task or function
VpiVarSelect = 68   variable array selection
VpiWait = 69   wait statement
VpiWhile = 70   while statement
VpiAttribute = 105   attribute of an object
VpiBitSelect = 106   Bit-select of parameter, var select
VpiCallback = 107   callback object
VpiDelayTerm = 108   Delay term which is a load or driver
VpiDelayDevice = 109   Delay object within a net
VpiFrame = 110   reentrant task/func frame
VpiGateArray = 111   gate instance array
VpiModuleArray = 112   module instance array
VpiPrimitiveArray = 113   vpiprimitiveArray type
VpiNetArray = 114   multidimensional net
VpiRange = 115   range declaration
VpiRegArray = 116   multidimensional reg
VpiSwitchArray = 117   switch instance array
VpiUdpArray = 118   UDP instance array
VpiContAssignBit = 128   Bit of a vector continuous assignment
VpiNamedEventArray = 129   multidimensional named event
VpiIndexedPartSelect = 130   Indexed part-select object
VpiGenScopeArray = 133   array of generated scopes
VpiGenScope = 134   A generated scope
VpiGenVar = 135   Object used to instantiate gen scopes
VpiCondition = 71   condition expression
VpiDelay = 72   net or gate delay
VpiElseStmt = 73   else statement
VpiForIncStmt = 74   increment statement in for loop
VpiForInitStmt = 75   initialization statement in for loop
VpiHighConn = 76   higher connection to port
VpiLhs = 77   left-hand side of assignment
VpiIndex = 78   index of var select, bit-select, etc.
VpiLeftRange = 79   left range of vector or part-select
VpiLowConn = 80   lower connection to port
VpiParent = 81   parent object
VpiRhs = 82   right-hand side of assignment
VpiRightRange = 83   right range of vector or part-select
VpiScope = 84   containing scope object
VpiSysTfCall = 85   task function call
VpiTchkDataTerm = 86   timing check data term
VpiTchkNotifier = 87   timing check notifier
VpiTchkRefTerm = 88   timing check reference term
VpiArgument = 89   argument to (system) task/function
VpiBit = 90   bit of vector net or port
VpiDriver = 91   driver for a net
VpiInternalScope = 92   internal scope in module
VpiLoad = 93   load on net or reg
VpiModDataPathIn = 94   data terminal of a module path
VpiModPathIn = 95   Input terminal of a module path
VpiModPathOut = 96   output terminal of a module path
VpiOperand = 97   operand of expression
VpiPortInst = 98   connected port instance
VpiProcess = 99   process in module
VpiVariables = 100   variables in module
VpiUse = 101   usage
VpiExpr = 102   connected expression
VpiPrimitive = 103   primitive (gate, switch, UDP)
VpiStmt = 104   statement in process or task
VpiActiveTimeFormat = 119   active $timeformat() system task
VpiInTerm = 120   To get to a delay device‘s drivers.
VpiInstanceArray = 121   vpiInstance arrays
VpiLocalDriver = 122   local drivers (within a module
VpiLocalLoad = 123   local loads (within a module
VpiOutTerm = 124   To get to a delay device‘s loads.
VpiPorts = 125   Module port
VpiSimNet = 126   simulated net after collapsing
VpiTaskFunc = 127   HDL task or function
VpiBaseExpr = 131   Indexed part-select‘s base expression
VpiWidthExpr = 132   Indexed part-select‘s width expression
VpiUndefined = -1   undefined property
VpiType = 1   type of object
VpiName = 2   local name of object
VpiFullName = 3   full hierarchical name
VpiSize = 4   size of gate, net, port, etc.
VpiFile = 5   File name in which the object is used
VpiLineNo = 6   line number where the object is used
VpiTopModule = 7   top-level module (boolean)
VpiCellInstance = 8   cell (boolean)
VpiDefName = 9   module definition name
VpiProtected = 10   source protected module (boolean)
VpiTimeUnit = 11   module time unit
VpiTimePrecision = 12   module time precision
VpiDefNetType = 13   default net type
VpiUnconnDrive = 14   unconnected port drive strength
VpiHighZ = 1   No default drive given
VpiPull1 = 2   default pull1 drive
VpiPull0 = 3   default pull0 drive
VpiDefFile = 15   File name where the module is defined
VpiDefLineNo = 16   line number for module definition
VpiDefDelayMode = 47   Default delay mode for a module
VpiDelayModeNone = 1   no delay mode specified
VpiDelayModePath = 2   path delay mode
VpiDelayModeDistrib = 3   distributed delay mode
VpiDelayModeUnit = 4   unit delay mode
VpiDelayModeZero = 5   zero delay mode
VpiDelayModeMTM = 6   min:typ:max delay mode
VpiDefDecayTime = 48   Default decay time for a module
VpiScalar = 17   scalar (boolean)
VpiVector = 18   vector (boolean)
VpiExplicitName = 19   port is explicitly named
VpiDirection = 20   direction of port:
VpiInput = 1   input
VpiOutput = 2   output
VpiInout = 3   inout
VpiMixedIO = 4   mixed input-output
VpiNoDirection = 5   no direction
VpiConnByName = 21   connected by name (boolean)
VpiNetType = 22   net subtypes:
VpiWire = 1   wire net
VpiWand = 2   wire-and net
VpiWor = 3   wire-or net
VpiTri = 4   three-state net
VpiTri0 = 5   pull-down net
VpiTri1 = 6   pull-up net
VpiTriReg = 7   tri state reg net
VpiTriAnd = 8   three-state wire-and net
VpiTriOr = 9   three-state wire-or net
VpiSupply1 = 10   supply 1 net
VpiSupply0 = 11   supply zero net
VpiNone = 12   no default net type (1364-2001)
VpiUwire = 13   unresolved wire net (1364-2005)
VpiExplicitScalared = 23   explicitly scalared (boolean)
VpiExplicitVectored = 24   explicitly vectored (boolean)
VpiExpanded = 25   expanded vector net (boolean)
VpiImplicitDecl = 26   implicitly declared net (boolean)
VpiChargeStrength = 27   charge decay strength of net
VpiArray = 28   variable array (boolean)
VpiPortIndex = 29   Port index
VpiTermIndex = 30   Index of a primitive terminal
VpiStrength0 = 31   0-strength of net or gate
VpiStrength1 = 32   1-strength of net or gate
VpiPrimType = 33   prmitive subtypes:
VpiAndPrim = 1   and gate
VpiNandPrim = 2   nand gate
VpiNorPrim = 3   nor gate
VpiOrPrim = 4   or gate
VpiXorPrim = 5   xor gate
VpiXnorPrim = 6   xnor gate
VpiBufPrim = 7   buffer
VpiNotPrim = 8   not gate
VpiBufif0Prim = 9   zero-enabled buffer
VpiBufif1Prim = 10   one-enabled buffer
VpiNotif0Prim = 11   zero-enabled not gate
VpiNotif1Prim = 12   one-enabled not gate
VpiNmosPrim = 13   nmos switch
VpiPmosPrim = 14   pmos switch
VpiCmosPrim = 15   cmos switch
VpiRnmosPrim = 16   resistive nmos switch
VpiRpmosPrim = 17   resistive pmos switch
VpiRcmosPrim = 18   resistive cmos switch
VpiRtranPrim = 19   resistive bidirectional
VpiRtranif0Prim = 20   zero-enable resistive bidirectional
VpiRtranif1Prim = 21   one-enable resistive bidirectional
VpiTranPrim = 22   bidirectional
VpiTranif0Prim = 23   zero-enabled bidirectional
VpiTranif1Prim = 24   one-enabled bidirectional
VpiPullupPrim = 25   pullup
VpiPulldownPrim = 26   pulldown
VpiSeqPrim = 27   sequential UDP
VpiCombPrim = 28   combinational UDP
VpiPolarity = 34   polarity of module path…
VpiDataPolarity = 35   …or data path:
VpiPositive = 1   positive
VpiNegative = 2   negative
VpiUnknown = 3   unknown (unspecified)
VpiEdge = 36   edge type of module path:
VpiNoEdge = 0x00   no edge
VpiEdge01 = 0x01   0 -> 1
VpiEdge10 = 0x02   1 -> 0
VpiEdge0x = 0x04   0 -> x
VpiEdgex1 = 0x08   x -> 1
VpiEdge1x = 0x10   1 -> x
VpiEdgex0 = 0x20   x -> 0
VpiPathType = 37   path delay connection subtypes:
VpiPathFull = 1   ( a *> b )
VpiPathParallel = 2   ( a => b )
VpiTchkType = 38   timing check subtypes:
VpiSetup = 1   $setup
VpiHold = 2   $hold
VpiPeriod = 3   $period
VpiWidth = 4   $width
VpiSkew = 5   $skew
VpiRecovery = 6   $recovery
VpiNoChange = 7   $nochange
VpiSetupHold = 8   $setuphold
VpiFullskew = 9   $fullskew — added for 1364-2001
VpiRecrem = 10   $recrem — added for 1364-2001
VpiRemoval = 11   $removal — added for 1364-2001
VpiTimeskew = 12   $timeskew — added for 1364-2001
VpiOpType = 39   operation subtypes:
VpiMinusOp = 1   unary minus
VpiPlusOp = 2   unary plus
VpiNotOp = 3   unary not
VpiBitNegOp = 4   bitwise negation
VpiUnaryAndOp = 5   bitwise reduction and
VpiUnaryNandOp = 6   bitwise reduction nand
VpiUnaryOrOp = 7   bitwise reduction or
VpiUnaryNorOp = 8   bitwise reduction nor
VpiUnaryXorOp = 9   bitwise reduction xor
VpiUnaryXNorOp = 10   bitwise reduction xnor
VpiSubOp = 11   binary subtraction
VpiDivOp = 12   binary division
VpiModOp = 13   binary modulus
VpiEqOp = 14   binary equality
VpiNeqOp = 15   binary inequality
VpiCaseEqOp = 16   case (x and z) equality
VpiCaseNeqOp = 17   case inequality
VpiGtOp = 18   binary greater than
VpiGeOp = 19   binary greater than or equal
VpiLtOp = 20   binary less than
VpiLeOp = 21   binary less than or equal
VpiLShiftOp = 22   binary left shift
VpiRShiftOp = 23   binary right shift
VpiAddOp = 24   binary addition
VpiMultOp = 25   binary multiplication
VpiLogAndOp = 26   binary logical and
VpiLogOrOp = 27   binary logical or
VpiBitAndOp = 28   binary bitwise and
VpiBitOrOp = 29   binary bitwise or
VpiBitXorOp = 30   binary bitwise xor
VpiBitXNorOp = 31   binary bitwise xnor
VpiBitXnorOp = vpiBitXNorOp   added with 1364-2001
VpiConditionOp = 32   ternary conditional
VpiConcatOp = 33   n-ary concatenation
VpiMultiConcatOp = 34   repeated concatenation
VpiEventOrOp = 35   event or
VpiNullOp = 36   null operation
VpiListOp = 37   list of expressions
VpiMinTypMaxOp = 38   min:typ:max: delay expression
VpiPosedgeOp = 39   posedge
VpiNegedgeOp = 40   negedge
VpiArithLShiftOp = 41   arithmetic left shift (1364-2001)
VpiArithRShiftOp = 42   arithmetic right shift (1364-2001)
VpiPowerOp = 43   arithmetic power op (1364-2001)
VpiConstType = 40   constant subtypes:
VpiDecConst = 1   decimal integer
VpiRealConst = 2   real
VpiBinaryConst = 3   binary integer
VpiOctConst = 4   octal integer
VpiHexConst = 5   hexadecimal integer
VpiStringConst = 6   string literal
VpiIntConst = 7   HDL integer constant (1364-2001)
VpiBlocking = 41   blocking assignment (boolean)
VpiCaseType = 42   case statement subtypes:
VpiCaseExact = 1   exact match
VpiCaseX = 2   ignore X‘s
VpiCaseZ = 3   ignore Z‘s
VpiNetDeclAssign = 43   assign part of decl (boolean)
VpiFuncType = 44   HDL function & system function type
VpiIntFunc = 1   returns integer
VpiRealFunc = 2   returns real
VpiTimeFunc = 3   returns time
VpiSizedFunc = 4   returns an arbitrary size
VpiSizedSignedFunc = 5   returns sized signed value
VpiUserDefn = 45   user defined system task/func(boolean)
VpiScheduled = 46   object still scheduled (boolean)
VpiActive = 49   reentrant task/func frame is active
VpiAutomatic = 50   task/func obj is automatic
VpiCell = 51   configuration cell
VpiConfig = 52   configuration config file
VpiDecompile = 54   decompile the object
VpiDefAttribute = 55   Attribute defined for the obj
VpiDelayType = 56   delay subtype
VpiModPathDelay = 1   module path delay
VpiInterModPathDelay = 2   intermodule path delay
VpiMIPDelay = 3   module input port delay
VpiIteratorType = 57   object type of an iterator
VpiLibrary = 58   configuration library
VpiMultiArray = 59   Object is a multidimensional array
VpiOffset = 60   offset from LSB
VpiSaveRestartID = 62   unique ID for save/restart data
VpiSaveRestartLocation = 63   name of save/restart data file
VpiValid = 64   reentrant task/func frame is valid
VpiModPathHasIfNone = 71   Mod path has an ifnone statement
VpiIndexedPartSelectType = 72   Indexed part-select type
VpiPosIndexed = 1   +:
VpiNegIndexed = 2   -:
VpiIsMemory = 73   TRUE for a one-dimensional reg array
VpiStop = 66   execute simulator‘s $stop
VpiFinish = 67   execute simulator‘s $finish
VpiReset = 68   execute simulator‘s $reset
VpiSetInteractiveScope = 69   set simulator‘s interactive scope
VpiSuppressTime = 3   delay structures
VpiHiZ = 0x01   generic value
VpiSuppressVal = 13   delay modes
VpiPureTransportDelay = 4   force and release flags
VpiReleaseFlag = 6   scheduled event cancel flag
VpiCancelEvent = 7   bit mask for the flags argument to vpi_put_value()
VpiReturnEvent = 0x1000   scalar values
VpiSysFunc = 2   the subtypes are defined under the vpiFuncType property
VpiRun = 3   error severity levels
VpiInternal = 5   callback structures

External Aliases

vpi_register_cb -> __callback__vpi_register_cb
vpi_remove_cb -> __callback__vpi_remove_cb
initialize -> __struct__initialize
vpi_put_value -> __scheduler__vpi_put_value

Public Class methods

Returns the VpiActive constant: reentrant task/func frame is active

Returns the VpiActiveTimeFormat constant: active $timeformat() system task

Returns the VpiAddOp constant: binary addition

Returns the VpiAlways constant: always construct

Returns the VpiAndPrim constant: and gate

Returns the VpiArgument constant: argument to (system) task/function

Returns the VpiArithLShiftOp constant: arithmetic left shift (1364-2001)

Returns the VpiArithRShiftOp constant: arithmetic right shift (1364-2001)

Returns the VpiArray constant: variable array (boolean)

Returns the VpiAssignStmt constant: quasi-continuous assignment

Returns the VpiAssignment constant: procedural assignment

Returns the VpiAttribute constant: attribute of an object

Returns the VpiAutomatic constant: task/func obj is automatic

Returns the VpiBaseExpr constant: Indexed part-select‘s base expression

Returns the VpiBegin constant: block statement

Returns the VpiBinaryConst constant: binary integer

Returns the VpiBit constant: bit of vector net or port

Returns the VpiBitAndOp constant: binary bitwise and

Returns the VpiBitNegOp constant: bitwise negation

Returns the VpiBitOrOp constant: binary bitwise or

Returns the VpiBitSelect constant: Bit-select of parameter, var select

Returns the VpiBitXNorOp constant: binary bitwise xnor

Returns the VpiBitXnorOp constant: added with 1364-2001

Returns the VpiBitXorOp constant: binary bitwise xor

Returns the VpiBlocking constant: blocking assignment (boolean)

Returns the VpiBufPrim constant: buffer

Returns the VpiBufif0Prim constant: zero-enabled buffer

Returns the VpiBufif1Prim constant: one-enabled buffer

Returns the VpiCallback constant: callback object

Returns the VpiCancelEvent constant: bit mask for the flags argument to vpi_put_value()

Returns the VpiCase constant: case statement

Returns the VpiCaseEqOp constant: case (x and z) equality

Returns the VpiCaseExact constant: exact match

Returns the VpiCaseItem constant: case statement item

Returns the VpiCaseNeqOp constant: case inequality

Returns the VpiCaseType constant: case statement subtypes:

Returns the VpiCaseX constant: ignore X‘s

Returns the VpiCaseZ constant: ignore Z‘s

Returns the VpiCell constant: configuration cell

Returns the VpiCellInstance constant: cell (boolean)

Returns the VpiChargeStrength constant: charge decay strength of net

Returns the VpiCmosPrim constant: cmos switch

Returns the VpiCombPrim constant: combinational UDP

Returns the VpiConcatOp constant: n-ary concatenation

Returns the VpiCondition constant: condition expression

Returns the VpiConditionOp constant: ternary conditional

Returns the VpiConfig constant: configuration config file

Returns the VpiConnByName constant: connected by name (boolean)

Returns the VpiConstType constant: constant subtypes:

Returns the VpiConstant constant: numerical constant or literal string

Returns the VpiContAssign constant: continuous assignment

Returns the VpiContAssignBit constant: Bit of a vector continuous assignment

Returns the VpiDataPolarity constant: …or data path:

Returns the VpiDeassign constant: deassignment statement

Returns the VpiDecConst constant: decimal integer

Returns the VpiDecompile constant: decompile the object

Returns the VpiDefAttribute constant: Attribute defined for the obj

Returns the VpiDefDecayTime constant: Default decay time for a module

Returns the VpiDefDelayMode constant: Default delay mode for a module

Returns the VpiDefFile constant: File name where the module is defined

Returns the VpiDefLineNo constant: line number for module definition

Returns the VpiDefName constant: module definition name

Returns the VpiDefNetType constant: default net type

Returns the VpiDefParam constant: defparam

Returns the VpiDelay constant: net or gate delay

Returns the VpiDelayControl constant: delay statement (e.g. 10)

Returns the VpiDelayDevice constant: Delay object within a net

Returns the VpiDelayModeDistrib constant: distributed delay mode

Returns the VpiDelayModeMTM constant: min:typ:max delay mode

Returns the VpiDelayModeNone constant: no delay mode specified

Returns the VpiDelayModePath constant: path delay mode

Returns the VpiDelayModeUnit constant: unit delay mode

Returns the VpiDelayModeZero constant: zero delay mode

Returns the VpiDelayTerm constant: Delay term which is a load or driver

Returns the VpiDelayType constant: delay subtype

Returns the VpiDirection constant: direction of port:

Returns the VpiDisable constant: named block disable statement

Returns the VpiDivOp constant: binary division

Returns the VpiDriver constant: driver for a net

Returns the VpiEdge constant: edge type of module path:

Returns the VpiEdge01 constant: 0 -> 1

Returns the VpiEdge0x constant: 0 -> x

Returns the VpiEdge10 constant: 1 -> 0

Returns the VpiEdge1x constant: 1 -> x

Returns the VpiEdgex0 constant: x -> 0

Returns the VpiEdgex1 constant: x -> 1

Returns the VpiElseStmt constant: else statement

Returns the VpiEqOp constant: binary equality

Returns the VpiEventControl constant: wait on event, e.g. @e

Returns the VpiEventOrOp constant: event or

Returns the VpiEventStmt constant: event trigger, e.g. ->e

Returns the VpiExpanded constant: expanded vector net (boolean)

Returns the VpiExplicitName constant: port is explicitly named

Returns the VpiExplicitScalared constant: explicitly scalared (boolean)

Returns the VpiExplicitVectored constant: explicitly vectored (boolean)

Returns the VpiExpr constant: connected expression

Returns the VpiFile constant: File name in which the object is used

Returns the VpiFinish constant: execute simulator‘s $finish

Returns the VpiFor constant: for statement

Returns the VpiForIncStmt constant: increment statement in for loop

Returns the VpiForInitStmt constant: initialization statement in for loop

Returns the VpiForce constant: force statement

Returns the VpiForever constant: forever statement

Returns the VpiFork constant: fork-join block

Returns the VpiFrame constant: reentrant task/func frame

Returns the VpiFullName constant: full hierarchical name

Returns the VpiFullskew constant: $fullskew — added for 1364-2001

Returns the VpiFuncCall constant: HDL function call

Returns the VpiFuncType constant: HDL function & system function type

Returns the VpiFunction constant: HDL function

Returns the VpiGate constant: primitive gate

Returns the VpiGateArray constant: gate instance array

Returns the VpiGeOp constant: binary greater than or equal

Returns the VpiGenScope constant: A generated scope

Returns the VpiGenScopeArray constant: array of generated scopes

Returns the VpiGenVar constant: Object used to instantiate gen scopes

Returns the VpiGtOp constant: binary greater than

Returns the VpiHexConst constant: hexadecimal integer

Returns the VpiHiZ constant: generic value

Returns the VpiHighConn constant: higher connection to port

Returns the VpiHighZ constant: No default drive given

Returns the VpiHold constant: $hold

Returns the VpiIODecl constant: input/output declaration

Returns the VpiIf constant: if statement

Returns the VpiIfElse constant: if-else statement

Returns the VpiImplicitDecl constant: implicitly declared net (boolean)

Returns the VpiInTerm constant: To get to a delay device‘s drivers.

Returns the VpiIndex constant: index of var select, bit-select, etc.

Returns the VpiIndexedPartSelect constant: Indexed part-select object

Returns the VpiIndexedPartSelectType constant: Indexed part-select type

Returns the VpiInitial constant: initial construct

Returns the VpiInout constant: inout

Returns the VpiInput constant: input

Returns the VpiInstanceArray constant: vpiInstance arrays

Returns the VpiIntConst constant: HDL integer constant (1364-2001)

Returns the VpiIntFunc constant: returns integer

Returns the VpiIntegerVar constant: integer variable

Returns the VpiInterModPath constant: intermodule wire delay

Returns the VpiInterModPathDelay constant: intermodule path delay

Returns the VpiInternal constant: callback structures

Returns the VpiInternalScope constant: internal scope in module

Returns the VpiIsMemory constant: TRUE for a one-dimensional reg array

Returns the VpiIterator constant: iterator

Returns the VpiIteratorType constant: object type of an iterator

Returns the VpiLShiftOp constant: binary left shift

Returns the VpiLeOp constant: binary less than or equal

Returns the VpiLeftRange constant: left range of vector or part-select

Returns the VpiLhs constant: left-hand side of assignment

Returns the VpiLibrary constant: configuration library

Returns the VpiLineNo constant: line number where the object is used

Returns the VpiListOp constant: list of expressions

Returns the VpiLoad constant: load on net or reg

Returns the VpiLocalDriver constant: local drivers (within a module

Returns the VpiLocalLoad constant: local loads (within a module

Returns the VpiLogAndOp constant: binary logical and

Returns the VpiLogOrOp constant: binary logical or

Returns the VpiLowConn constant: lower connection to port

Returns the VpiLtOp constant: binary less than

Returns the VpiMIPDelay constant: module input port delay

Returns the VpiMemory constant: behavioral memory

Returns the VpiMemoryWord constant: single word of memory

Returns the VpiMinTypMaxOp constant: min:typ:max: delay expression

Returns the VpiMinusOp constant: unary minus

Returns the VpiMixedIO constant: mixed input-output

Returns the VpiModDataPathIn constant: data terminal of a module path

Returns the VpiModOp constant: binary modulus

Returns the VpiModPath constant: module path for path delays

Returns the VpiModPathDelay constant: module path delay

Returns the VpiModPathHasIfNone constant: Mod path has an ifnone statement

Returns the VpiModPathIn constant: Input terminal of a module path

Returns the VpiModPathOut constant: output terminal of a module path

Returns the VpiModule constant: module instance

Returns the VpiModuleArray constant: module instance array

Returns the VpiMultOp constant: binary multiplication

Returns the VpiMultiArray constant: Object is a multidimensional array

Returns the VpiMultiConcatOp constant: repeated concatenation

Returns the VpiName constant: local name of object

Returns the VpiNamedBegin constant: named block statement

Returns the VpiNamedEvent constant: event variable

Returns the VpiNamedEventArray constant: multidimensional named event

Returns the VpiNamedFork constant: named fork-join block

Returns the VpiNandPrim constant: nand gate

Returns the VpiNegIndexed constant: -:

Returns the VpiNegative constant: negative

Returns the VpiNegedgeOp constant: negedge

Returns the VpiNeqOp constant: binary inequality

Returns the VpiNet constant: scalar or vector net

Returns the VpiNetArray constant: multidimensional net

Returns the VpiNetBit constant: bit of vector net

Returns the VpiNetDeclAssign constant: assign part of decl (boolean)

Returns the VpiNetType constant: net subtypes:

Returns the VpiNmosPrim constant: nmos switch

Returns the VpiNoChange constant: $nochange

Returns the VpiNoDirection constant: no direction

Returns the VpiNoEdge constant: no edge

Returns the VpiNone constant: no default net type (1364-2001)

Returns the VpiNorPrim constant: nor gate

Returns the VpiNotOp constant: unary not

Returns the VpiNotPrim constant: not gate

Returns the VpiNotif0Prim constant: zero-enabled not gate

Returns the VpiNotif1Prim constant: one-enabled not gate

Returns the VpiNullOp constant: null operation

Returns the VpiNullStmt constant: a semicolon. Ie. 10 ;

Returns the VpiOctConst constant: octal integer

Returns the VpiOffset constant: offset from LSB

Returns the VpiOpType constant: operation subtypes:

Returns the VpiOperand constant: operand of expression

Returns the VpiOperation constant: behavioral operation

Returns the VpiOrPrim constant: or gate

Returns the VpiOutTerm constant: To get to a delay device‘s loads.

Returns the VpiOutput constant: output

Returns the VpiParamAssign constant: module parameter assignment

Returns the VpiParameter constant: module parameter

Returns the VpiParent constant: parent object

Returns the VpiPartSelect constant: part-select

Returns the VpiPathFull constant: ( a *> b )

Returns the VpiPathParallel constant: ( a => b )

Returns the VpiPathTerm constant: terminal of module path

Returns the VpiPathType constant: path delay connection subtypes:

Returns the VpiPeriod constant: $period

Returns the VpiPlusOp constant: unary plus

Returns the VpiPmosPrim constant: pmos switch

Returns the VpiPolarity constant: polarity of module path…

Returns the VpiPort constant: module port

Returns the VpiPortBit constant: bit of vector module port

Returns the VpiPortIndex constant: Port index

Returns the VpiPortInst constant: connected port instance

Returns the VpiPorts constant: Module port

Returns the VpiPosIndexed constant: +:

Returns the VpiPosedgeOp constant: posedge

Returns the VpiPositive constant: positive

Returns the VpiPowerOp constant: arithmetic power op (1364-2001)

Returns the VpiPrimTerm constant: primitive terminal

Returns the VpiPrimType constant: prmitive subtypes:

Returns the VpiPrimitive constant: primitive (gate, switch, UDP)

Returns the VpiPrimitiveArray constant: vpiprimitiveArray type

Returns the VpiProcess constant: process in module

Returns the VpiProtected constant: source protected module (boolean)

Returns the VpiPull0 constant: default pull0 drive

Returns the VpiPull1 constant: default pull1 drive

Returns the VpiPulldownPrim constant: pulldown

Returns the VpiPullupPrim constant: pullup

Returns the VpiPureTransportDelay constant: force and release flags

Returns the VpiRShiftOp constant: binary right shift

Returns the VpiRange constant: range declaration

Returns the VpiRcmosPrim constant: resistive cmos switch

Returns the VpiRealConst constant: real

Returns the VpiRealFunc constant: returns real

Returns the VpiRealVar constant: real variable

Returns the VpiRecovery constant: $recovery

Returns the VpiRecrem constant: $recrem — added for 1364-2001

Returns the VpiReg constant: scalar or vector reg

Returns the VpiRegArray constant: multidimensional reg

Returns the VpiRegBit constant: bit of vector reg

Returns the VpiRelease constant: release statement

Returns the VpiReleaseFlag constant: scheduled event cancel flag

Returns the VpiRemoval constant: $removal — added for 1364-2001

Returns the VpiRepeat constant: repeat statement

Returns the VpiRepeatControl constant: repeat control in an assign stmt

Returns the VpiReset constant: execute simulator‘s $reset

Returns the VpiReturnEvent constant: scalar values

Returns the VpiRhs constant: right-hand side of assignment

Returns the VpiRightRange constant: right range of vector or part-select

Returns the VpiRnmosPrim constant: resistive nmos switch

Returns the VpiRpmosPrim constant: resistive pmos switch

Returns the VpiRtranPrim constant: resistive bidirectional

Returns the VpiRtranif0Prim constant: zero-enable resistive bidirectional

Returns the VpiRtranif1Prim constant: one-enable resistive bidirectional

Returns the VpiRun constant: error severity levels

Returns the VpiSaveRestartID constant: unique ID for save/restart data

Returns the VpiSaveRestartLocation constant: name of save/restart data file

Returns the VpiScalar constant: scalar (boolean)

Returns the VpiSchedEvent constant: vpi_put_value() event

Returns the VpiScheduled constant: object still scheduled (boolean)

Returns the VpiScope constant: containing scope object

Returns the VpiSeqPrim constant: sequential UDP

Returns the VpiSetInteractiveScope constant: set simulator‘s interactive scope

Returns the VpiSetup constant: $setup

Returns the VpiSetupHold constant: $setuphold

Returns the VpiSimNet constant: simulated net after collapsing

Returns the VpiSize constant: size of gate, net, port, etc.

Returns the VpiSizedFunc constant: returns an arbitrary size

Returns the VpiSizedSignedFunc constant: returns sized signed value

Returns the VpiSkew constant: $skew

Returns the VpiSpecParam constant: specparam

Returns the VpiStmt constant: statement in process or task

Returns the VpiStop constant: execute simulator‘s $stop

Returns the VpiStrength0 constant: 0-strength of net or gate

Returns the VpiStrength1 constant: 1-strength of net or gate

Returns the VpiStringConst constant: string literal

Returns the VpiSubOp constant: binary subtraction

Returns the VpiSupply0 constant: supply zero net

Returns the VpiSupply1 constant: supply 1 net

Returns the VpiSuppressTime constant: delay structures

Returns the VpiSuppressVal constant: delay modes

Returns the VpiSwitch constant: transistor switch

Returns the VpiSwitchArray constant: switch instance array

Returns the VpiSysFunc constant: the subtypes are defined under the vpiFuncType property

Returns the VpiSysFuncCall constant: system function call

Returns the VpiSysTaskCall constant: system task call

Returns the VpiSysTfCall constant: task function call

Returns the VpiTableEntry constant: UDP state table entry

Returns the VpiTask constant: HDL task

Returns the VpiTaskCall constant: HDL task call

Returns the VpiTaskFunc constant: HDL task or function

Returns the VpiTchk constant: timing check

Returns the VpiTchkDataTerm constant: timing check data term

Returns the VpiTchkNotifier constant: timing check notifier

Returns the VpiTchkRefTerm constant: timing check reference term

Returns the VpiTchkTerm constant: terminal of timing check

Returns the VpiTchkType constant: timing check subtypes:

Returns the VpiTermIndex constant: Index of a primitive terminal

Returns the VpiTimeFunc constant: returns time

Returns the VpiTimePrecision constant: module time precision

Returns the VpiTimeQueue constant: simulation event queue

Returns the VpiTimeUnit constant: module time unit

Returns the VpiTimeVar constant: time variable

Returns the VpiTimeskew constant: $timeskew — added for 1364-2001

Returns the VpiTopModule constant: top-level module (boolean)

Returns the VpiTranPrim constant: bidirectional

Returns the VpiTranif0Prim constant: zero-enabled bidirectional

Returns the VpiTranif1Prim constant: one-enabled bidirectional

Returns the VpiTri constant: three-state net

Returns the VpiTri0 constant: pull-down net

Returns the VpiTri1 constant: pull-up net

Returns the VpiTriAnd constant: three-state wire-and net

Returns the VpiTriOr constant: three-state wire-or net

Returns the VpiTriReg constant: tri state reg net

Returns the VpiType constant: type of object

Returns the VpiUdp constant: user-defined primitive

Returns the VpiUdpArray constant: UDP instance array

Returns the VpiUdpDefn constant: UDP definition

Returns the VpiUnaryAndOp constant: bitwise reduction and

Returns the VpiUnaryNandOp constant: bitwise reduction nand

Returns the VpiUnaryNorOp constant: bitwise reduction nor

Returns the VpiUnaryOrOp constant: bitwise reduction or

Returns the VpiUnaryXNorOp constant: bitwise reduction xnor

Returns the VpiUnaryXorOp constant: bitwise reduction xor

Returns the VpiUnconnDrive constant: unconnected port drive strength

Returns the VpiUndefined constant: undefined property

Returns the VpiUnknown constant: unknown (unspecified)

Returns the VpiUse constant: usage

Returns the VpiUserDefn constant: user defined system task/func(boolean)

Returns the VpiUserSystf constant: user defined system task or function

Returns the VpiUwire constant: unresolved wire net (1364-2005)

Returns the VpiValid constant: reentrant task/func frame is valid

Returns the VpiVarSelect constant: variable array selection

Returns the VpiVariables constant: variables in module

Returns the VpiVector constant: vector (boolean)

Returns the VpiWait constant: wait statement

Returns the VpiWand constant: wire-and net

Returns the VpiWhile constant: while statement

Returns the VpiWidth constant: $width

Returns the VpiWidthExpr constant: Indexed part-select‘s width expression

Returns the VpiWire constant: wire net

Returns the VpiWor constant: wire-or net

Returns the VpiXnorPrim constant: xnor gate

Returns the VpiXorPrim constant: xor gate

vpi_chk_error(VPI::S_vpi_error_info error_info_p) returns Integer

vpi_control(Integer operation, …) returns Integer

vpi_get(Integer property, VPI::Handle object) returns Integer

vpi_get_cb_info(VPI::Handle object, VPI::S_cb_data cb_data_p) returns nil

vpi_get_data(Integer id, Object dataLoc, Integer numOfBytes) returns Integer

vpi_get_delays(VPI::Handle object, VPI::S_vpi_delay delay_p) returns nil

vpi_get_systf_info(VPI::Handle object, VPI::S_vpi_systf_data systf_data_p) returns nil

vpi_get_vlog_info(VPI::S_vpi_vlog_info vlog_info_p) returns Integer

vpi_put_data(Integer id, Object dataLoc, Integer numOfBytes) returns Integer

vpi_put_delays(VPI::Handle object, VPI::S_vpi_delay delay_p) returns nil

vpi_register_cb(VPI::S_cb_data cb_data_p) returns VPI::Handle

vpi_register_systf(VPI::S_vpi_systf_data systf_data_p) returns VPI::Handle

Public Instance methods

Wait until the simulation advances by the given number of time steps.

Wraps the given block inside an infinite loop and executes it inside a new concurrent process (see the VPI::process method).

Returns the current simulation time.

forever(*aBlockArgs, &aBlock)

Alias for always

Creates a new concurrent process, which will execute the given block with the given arguments, and returns it.

This is a Ruby version of the vpi_register_cb C function. It is identical to the C function, except for the following differences:

  • This method accepts a block (callback handler) which is executed whenever the callback occurs.
  • This method overwrites the cb_rtn and user_data fields of the given S_cb_data object.
wait(aNumTimeSteps = 1)

Alias for advance_time

[Validate]