engine
Class Wire

java.lang.Object
  |
  +--engine.Assignable
        |
        +--engine.DataHolder
              |
              +--engine.BitVector
                    |
                    +--engine.Wire
Direct Known Subclasses:
Trireg

class Wire
extends BitVector

This is the class for the wire construct and all other nets except trireg (@see Trireg).

See Also:
WireDescription., Serialized Form

Field Summary
(package private)  Delay3 delays
           
(package private)  WireDescription desc
           
(package private)  int expandType
           
(package private)  NameSpace ns
           
(package private)  byte[] strength
          Here the strength will be kept; the 'strengths' layout is: n 0 +------------------------------------+ | | .
(package private)  int[][] truthTable
          This makes the difference between wire, wand & stuff
(package private)  int 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
Wire(NameSpace ns, WireDescription desc, int type, int nStart, int nEnd, int expandType, Delay3 delays)
           
 
Method Summary
(package private)  void attrib(BitVector b, int start, int end, byte[] strengths)
          A Strengths - aware version of attrib Note that it assumes that valueas are obbtained from a compue, 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).
(package private)  byte getStrength(int bitIndex)
           
 int getType()
           
(package private)  int getValAndStrength(int bitIndex)
          returns the strength and the value for the given bit index, packed as an int like this: +--------------------------+ | value | strength | +--------------------------+
(package private)  void initToDefaults(BitVector b, byte[] strengths)
          initializes this bitvector and strength vector to the defaults for this type of net
 
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

ns

NameSpace ns

expandType

int expandType

delays

Delay3 delays

desc

WireDescription desc

truthTable

int[][] truthTable
This makes the difference between wire, wand & stuff

strength

byte[] strength
Here the strength will be kept; the 'strengths' layout is:
                       
    n                                0 
  +------------------------------------+ 
  |   |        . . .               |   |   strengths
  +-+--------------------------------+-+ 
    |                                |  
     \                                \ 
       MSB in BitVector                 LSB in BitVector

type

int type
Constructor Detail

Wire

public Wire(NameSpace ns,
            WireDescription desc,
            int type,
            int nStart,
            int nEnd,
            int expandType,
            Delay3 delays)
Method Detail

getType

public int getType()
Overrides:
getType in class BitVector

computeTransitionDelayFor

public int computeTransitionDelayFor(BitVector b)

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 BitVector

initToDefaults

void initToDefaults(BitVector b,
                    byte[] strengths)
initializes this bitvector and strength vector to the defaults for this type of net

attrib

void attrib(BitVector b,
            int start,
            int end,
            byte[] strengths)
      throws InterpretTimeException
A Strengths - aware version of attrib Note that it assumes that valueas are obbtained from a compue, and so they are correct - no checks are made here.
Parameters:
b - the new value of the wire (only the part in the range start: end is effectively assigned)

getValAndStrength

int getValAndStrength(int bitIndex)
returns the strength and the value for the given bit index, packed as an int like this: +--------------------------+ | value | strength | +--------------------------+

getStrength

byte getStrength(int bitIndex)