engine
Class Trireg

java.lang.Object
  |
  +--engine.Assignable
        |
        +--engine.DataHolder
              |
              +--engine.BitVector
                    |
                    +--engine.Wire
                          |
                          +--engine.Trireg

class Trireg
extends Wire
implements Executable

This is the class for the trireg net construct (also known as tri).

See Also:
WireDescription., Serialized Form

Field Summary
(package private)  byte notDrivStrength
          The strength when not in driven state
(package private)  int storeTime
          The amount of time the last value will be stored
(package private)  int[] timeTillOff
          The counters for turn-off delay
(package private)  long updateTime
          Holds the last scheduled update time
 
Fields inherited from class engine.Wire
delays, desc, expandType, ns, strength, truthTable, type
 
Fields inherited from class engine.BitVector
abgCond, ands, b0, b1, increment, lsb, msb, n, nands, negedge, nors, nots, ors, posedge, signed, vtable16, vtable8, X, xnors, xors, Z
 
Fields inherited from class engine.DataHolder
monitors
 
Fields inherited from class engine.Assignable
data, initValDefaults, lookupTables, lookupTableSupply0, lookupTableSupply1, lookupTableTri0, lookupTableTri1, lookupTableWand, lookupTableWire, lookupTableWor, typeSupply0, typeSupply1, typeTri0, typeTri1, typeTrireg, typeWand, typeWire, typeWor, X, Z
 
Constructor Summary
(package private) Trireg(NameSpace ns, WireDescription desc, int type, int nStart, int nEnd, int expandType, byte noDrivStrength, Delay3 delays)
           
 
Method Summary
(package private)  void attrib(BitVector b, byte[] strengths)
          A Strengths - aware version of attrib Note that it assumes the values are obtained from a compute, and so they are correct - no checks are made here.
(package private)  java.lang.Object[] compute()
          The improved version here is strength - aware
 int computeTransitionDelayFor(BitVector b)
           
static int computeTransitionDelayFor(BitVector before, BitVector after, Delay3 delays)
          Returns the delay for the transition from the current value (before) to a given one (after).
 void execute()
          Checks to see if any bit timeout has expired, and if so, make it X
 
Methods inherited from class engine.Wire
attrib, getStrength, getType, getValAndStrength, initToDefaults
 
Methods inherited from class engine.BitVector
add, and, attrib, attrib, attrib, attrib, b0, b1, bAnd, bAndR, bitsToLong, bNAnd, bNAndR, bNOr, bNOrR, bNot, bNXor, bNXOrR, bOr, bOrR, bX, bXor, bXOrR, bZ, cEq, clone, cNEq, combineFAbgCond, compare, div, duplicate, ensureBitCapacity, ensureCapacity, equals, expand0, expandS, ge, genericReduction, genericReduction1, getb, getb0, getb1, getBit, getBits, getBool, getInt, getLong, getReal, getSign, gt, isDefined, isNull, isTrue, isX, isZ, le, length, lEq, lNEq, lNot, lt, mod, mul, neg, not, or, reduce, reverse, setb, setb0, setb1, setBit, setLength, shl, shl, shr, sub, toString, toString, trunc, value, xor
 
Methods inherited from class engine.DataHolder
addMonitor, getWatchMonitor, hasMonitor, notifyMonitors, removeMonitor
 
Methods inherited from class engine.Assignable
addAssignement, removeAssignement
 
Methods inherited from class java.lang.Object
, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

notDrivStrength

byte notDrivStrength
The strength when not in driven state

timeTillOff

int[] timeTillOff
The counters for turn-off delay

storeTime

int storeTime
The amount of time the last value will be stored

updateTime

long updateTime
Holds the last scheduled update time
Constructor Detail

Trireg

Trireg(NameSpace ns,
       WireDescription desc,
       int type,
       int nStart,
       int nEnd,
       int expandType,
       byte noDrivStrength,
       Delay3 delays)
Method Detail

computeTransitionDelayFor

public int computeTransitionDelayFor(BitVector b)
Overrides:
computeTransitionDelayFor in class Wire

computeTransitionDelayFor

public static int computeTransitionDelayFor(BitVector before,
                                            BitVector after,
                                            Delay3 delays)
Returns the delay for the transition from the current value (before) to a given one (after).

compute

java.lang.Object[] compute()
                     throws InterpretTimeException
The improved version here is strength - aware
Overrides:
compute in class Wire

attrib

void attrib(BitVector b,
            byte[] strengths)
      throws InterpretTimeException
A Strengths - aware version of attrib Note that it assumes the values are obtained from a compute, and so they are correct - no checks are made here.

execute

public void execute()
             throws InterpretTimeException
Checks to see if any bit timeout has expired, and if so, make it X
Specified by:
execute in interface Executable