|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object byucc.jhdl.base.Nameable byucc.jhdl.base.Wire
public abstract class Wire
A base class for wires that communicate actual values in the system. Implements Cloneable to allow creation of aliases.
Constructor Summary | |
---|---|
protected |
Wire(byucc.jhdl.base.Cell parent,
int num_of_wires,
int wire_width,
String name)
Deprecated. Use Wire(parent, num_of_wires, name) . |
protected |
Wire(byucc.jhdl.base.Cell parent,
int num_of_wires,
String name)
Base constructor. |
protected |
Wire(byucc.jhdl.base.Cell parent,
String name)
This creates a new Wire that is empty so that its contents can be filled in later. |
protected |
Wire(byucc.jhdl.base.Cell parent,
Wire[] wa,
String name)
This builds a wire from an array of wires that is passed in. |
protected |
Wire(byucc.jhdl.base.Cell parent,
byucc.jhdl.base.WireList wl,
String name)
Deprecated. Use Wire(Cell, Wire[], String) , which has most significant bits in slot 0 |
Method Summary | |
---|---|
void |
addProperties(byucc.jhdl.base.Cell parent,
byucc.jhdl.base.PropertyList plist)
Used to add a list of properties to the Wire, within the scope of the given cell. |
void |
addProperties(byucc.jhdl.base.Cell parent,
byucc.jhdl.base.PropertyList plist,
boolean warn_duplicates)
Used to add a list of properties to the Wire, withing the scope of the given cell. |
void |
addProperties(byucc.jhdl.base.PropertyList plist)
Used to add a list of properties to the Wire, within the scope of the wire origin. |
void |
addProperties(byucc.jhdl.base.PropertyList plist,
boolean warn_duplicates)
Used to add a list of properties to the Wire, within the scope of the wire origin. |
void |
addProperty(byucc.jhdl.base.Cell parent,
byucc.jhdl.base.Property p)
Used to add a Property object to a Wire, within the scope of the given Cell. |
void |
addProperty(byucc.jhdl.base.Cell parent,
String name,
Object value,
boolean isVisible)
|
void |
addProperty(byucc.jhdl.base.Cell parent,
String name,
String value)
Used to add a string property to a Wire, within the scope of the given Cell. |
void |
addProperty(byucc.jhdl.base.Property p)
Deprecated. If you're using this addProperty, you're probably using it incorrectly. Use addProperty(Cell parent, String name, String value) instead to specify the scope of the property on this wire. |
void |
addProperty(String name,
Object value,
boolean isVisible)
|
void |
addProperty(String name,
String value)
Deprecated. If you're using this addProperty, you're probably using it incorrectly. Use addProperty(Cell parent, String name, String value) instead to specify the scope of the property on this wire. |
void |
clearTransitionCount()
Clears the transition count, if it is enabled. |
Wire |
createAlias()
Creates an orphan wire alias of an existing wire. |
Wire |
createAlias(byucc.jhdl.base.Cell parent)
This creates an alias of an existing wire. |
Wire |
createAlias(byucc.jhdl.base.Cell parent,
String name)
This creates an alias of an existing wire. |
Wire |
createAlias(String name)
Creates an orphan wire alias of an existing wire. |
void |
delete()
Removes a wire from a circuit. |
boolean |
equals(Object o)
Allows comparison of wires based on the isAlias relation. |
void |
fixPutCounts()
Ugly hack for simulation purposes |
int |
get(byucc.jhdl.base.Browser obj)
This is provided so that a debugger will be able to freely access a wire. |
int |
get(byucc.jhdl.base.Cell sink)
Values are read from wires using this method. |
int[] |
getA(byucc.jhdl.base.Browser obj)
int[] version of get for browser. |
int[] |
getA(byucc.jhdl.base.Cell sink)
int[] version of get. |
Wire |
getAliasForScope(byucc.jhdl.base.Cell parent)
Returns an alias of the wire with the given scope. |
byucc.jhdl.base.CellList |
getAllSinkCells()
This will find all unique cells that connected this wire (or an alias) to an in port. |
byucc.jhdl.base.CellList |
getAllSourceCells()
This will find all unique cells that connected this wire (or an alias) to an out port. |
abstract int |
getAtomicWidth()
Returns the atomic width of a wire. |
byucc.jhdl.base.WireList |
getAtomicWires()
This blasts a wire into its atomic constituents. |
boolean |
getB(byucc.jhdl.base.Cell sink)
Boolean version of get. |
boolean |
getB(byucc.jhdl.base.Cell sink,
int i)
Boolean version of get, for wires wider than 1 bit. |
byucc.jhdl.base.BV |
getBV(byucc.jhdl.base.Browser obj)
BV version of get for browser. |
byucc.jhdl.base.BV |
getBV(byucc.jhdl.base.Browser obj,
byucc.jhdl.base.BV bv)
BV version of get for browser. |
byucc.jhdl.base.BV |
getBV(byucc.jhdl.base.Cell sink)
BV version of get. |
byucc.jhdl.base.BV |
getBV(byucc.jhdl.base.Cell sink,
byucc.jhdl.base.BV out)
BV version of get. |
String |
getCanonicalName()
This provides a canonical name for an atomic wire, one that can serve as a global wire name in a flat netlist. |
long |
getL(byucc.jhdl.base.Browser obj)
Long version of get for browser. |
long |
getL(byucc.jhdl.base.Cell sink)
Long version of get. |
long |
getL(byucc.jhdl.base.Cell sink,
int upper_bound,
int lower_bound)
Long version of get, for reading the value of a range of bits. |
byucc.jhdl.base.CellList |
getLeafSinkCells()
This will go down and find all of the unique, simulating leaf sink cells of this wire. |
byucc.jhdl.base.CellList |
getLeafSourceCells()
This will go down and find all of the unique, simulating leaf source cells of this wire. |
double |
getLoad()
Gets the load value, if it is enabled. |
byucc.jhdl.base.CellList |
getNetlistLeafSinkCellsNonUnique()
This will find all leaf non-unique cells that connected this wire (or an alias) to an in port. |
Wire |
getOrigin()
This returns the original wire that created the bits of this wire. |
byucc.jhdl.base.Node |
getParent()
Simple accessor to get the parent of the wire. |
byucc.jhdl.base.Cell |
getParentCell()
Simple accessor to get the parent of the wire, without casting |
byucc.jhdl.base.PropertyList |
getProperties()
Used to get the property list from the wire, at the scope of the wire origin. |
byucc.jhdl.base.PropertyList |
getProperties(byucc.jhdl.base.Cell parent)
Used to get the property list from the wire from the scope of the given cell. |
byucc.jhdl.base.Property |
getProperty(byucc.jhdl.base.Cell parent,
String name)
|
byucc.jhdl.base.Property |
getProperty(String name)
|
Object |
getPropertyValue(byucc.jhdl.base.Cell parent,
String name)
|
Object |
getPropertyValue(String name)
|
byucc.jhdl.base.Cell |
getSinkCell()
|
byucc.jhdl.base.CellList |
getSinkCells()
This will go down and find all of the unique, behaviorally modeled sink cells that have this wire as an input. |
byucc.jhdl.base.Cell |
getSourceCell()
|
byucc.jhdl.base.CellList |
getSourceCells()
This will go down and find all of the unique, behaviorally modeled source cells that can drive this wire. |
byucc.jhdl.base.HWSystem |
getSystem()
Simple accessor to get to the system of this wire. |
int |
getTransitionCount()
Returns the number of times this wire has had transitions, if counting is enabled. |
byucc.jhdl.base.ValuePropagater[] |
getValueArray()
Just allows direct access to the contained value propagater array. |
int |
getWidth()
Returns the declared width of the wire in bits. |
Wire |
getWire(byucc.jhdl.base.Cell parent,
int i)
This returns the ith atomic wire. |
Wire |
getWire(byucc.jhdl.base.Cell parent,
int i,
String name)
This returns the ith atomic wire. |
Wire |
getWire(int i)
This returns the ith atomic wire. |
Wire |
getWire(int i,
String name)
This returns the ith atomic wire. |
int |
getX(byucc.jhdl.base.Browser obj)
This is provided so that a debugger will be able to freely access a wire. |
int |
getX(byucc.jhdl.base.Cell sink)
Mask of multiple puts are from wires using this method. |
int[] |
getXA(byucc.jhdl.base.Cell sink)
|
boolean |
getXB(byucc.jhdl.base.Cell sink)
Boolean version of getX. |
byucc.jhdl.base.BV |
getXBV(byucc.jhdl.base.Browser obj)
BV version of getX for browser. |
byucc.jhdl.base.BV |
getXBV(byucc.jhdl.base.Browser obj,
byucc.jhdl.base.BV bv)
BV version of get for browser. |
byucc.jhdl.base.BV |
getXBV(byucc.jhdl.base.Cell sink)
BV version of getX. |
byucc.jhdl.base.BV |
getXBV(byucc.jhdl.base.Cell sink,
byucc.jhdl.base.BV out)
BV version of getX. |
long |
getXL(byucc.jhdl.base.Browser obj)
Long version of getX for browser. |
long |
getXL(byucc.jhdl.base.Cell sink)
Long version of getX. |
int |
getZ(byucc.jhdl.base.Browser obj)
This is provided so that a debugger will be able to freely access a wire. |
int |
getZ(byucc.jhdl.base.Cell sink)
Mask of floating values are from wires using this method. |
int[] |
getZA(byucc.jhdl.base.Cell sink)
|
boolean |
getZB(byucc.jhdl.base.Cell sink)
Boolean version of getZ. |
byucc.jhdl.base.BV |
getZBV(byucc.jhdl.base.Browser obj)
BV version of getZ for browser. |
byucc.jhdl.base.BV |
getZBV(byucc.jhdl.base.Browser obj,
byucc.jhdl.base.BV bv)
BV version of get for browser. |
byucc.jhdl.base.BV |
getZBV(byucc.jhdl.base.Cell sink)
BV version of getZ. |
byucc.jhdl.base.BV |
getZBV(byucc.jhdl.base.Cell sink,
byucc.jhdl.base.BV out)
BV version of getZ. |
long |
getZL(byucc.jhdl.base.Browser obj)
Long version of getZ for browser. |
long |
getZL(byucc.jhdl.base.Cell sink)
Long version of getZ. |
Wire |
gw(byucc.jhdl.base.Cell parent,
int i)
Shorthand for getWire(Cell, int) . |
Wire |
gw(byucc.jhdl.base.Cell parent,
int i,
String name)
Shorthand for getWire(Cell, int, String) . |
Wire |
gw(int i)
Shorthand for getWire(int) . |
Wire |
gw(int i,
String name)
Shorthand for getWire(int, String) . |
boolean |
hasBeenPut()
|
int |
hashCode()
Allows hashing of wires based on the isAlias relation. |
boolean |
hasProperties()
Used to determine if this wire has properties. |
boolean |
hasProperties(byucc.jhdl.base.Cell parent)
Used to determine if this wire has properties, at the scope of the given cell. |
protected void |
init(int num_of_wires)
In some cases the derived class may to perform some checking on the arguments before invoking the superclass constructor. |
protected void |
init(int num_of_wires,
int wire_width)
Deprecated. Use init(num_of_wires) . |
protected void |
initWireFromArray(Wire[] wa)
This builds a wire from an array of wires that is passed in. |
protected void |
initWireFromList(byucc.jhdl.base.WireList wl)
Deprecated. Use initWireFromArray(Wire[]) instead, which takes most significant
bit in slot 0 |
void |
initWireFromRange(Wire new_wire,
Wire original,
int upper_bound,
int lower_bound)
Deprecated. For access to a wire range, use range
or variant. |
boolean |
isAlias(Wire w)
Allows you to check if one wire is an alias for another. |
boolean |
isAlreadySourced()
Used to check to see if a wire has already been sourced by someone else. |
boolean |
isAtomic()
Checks to see if a wire is atomic |
boolean |
isBidirectional()
Deprecated. No longer used. |
void |
isOkToDangle(boolean flag)
This will enable/disable any warning messages about this wire if it dangles. |
boolean |
isRoot()
This has to be defined so satisfy Nameable as it needs to know whether the
Nameable thing it is currently looking at is the root or not. |
boolean |
isSourcelessOk()
This returns the status of whether it is allowable for the wire to have no source, a necessary condition to being an NC wire. |
int |
isSubsetOf(Wire w)
Checks to see if the bound instance wire is contained within the parameter. |
boolean |
isUnidirectional()
Deprecated. No longer used. |
protected Wire |
newWire(byucc.jhdl.base.Cell parent,
String name)
This creates an alias of this wire, using the clone mechanism. |
protected boolean |
orphanAllowed()
Wire can be orphan although about the only thing you can do with an orphan wire is pass it into a port or use it to create new wires which themselves may or may not be orphans. |
void |
put(byucc.jhdl.base.Cell source,
int val)
Values are placed on a wire using this method. |
void |
putA(byucc.jhdl.base.Cell source,
int[] val)
int[] version of put. |
void |
putB(byucc.jhdl.base.Cell source,
boolean val)
Boolean version of put. |
void |
putB(byucc.jhdl.base.Cell source,
boolean val,
int i)
Boolean version of put, for wires wider than 1 bit. |
void |
putBV(byucc.jhdl.base.Cell source,
byucc.jhdl.base.BV val)
Values are placed on a wire using this method. |
void |
putL(byucc.jhdl.base.Cell source,
long val)
Long version of put. |
void |
putL(byucc.jhdl.base.Cell source,
long val,
int upper_bound,
int lower_bound)
Long version of put, for affecting a range of bits. |
void |
putTriState(byucc.jhdl.base.Cell source,
int val)
Values are placed on a wire using this method. |
void |
putTriStateA(byucc.jhdl.base.Cell source,
int[] val)
int[] version of putTriState. |
void |
putTriStateBV(byucc.jhdl.base.Cell source,
byucc.jhdl.base.BV val)
BV version of putTriState. |
void |
putTriStateL(byucc.jhdl.base.Cell source,
long val)
Long version of putTriState. |
Wire |
range(byucc.jhdl.base.Cell parent,
int upper_bound,
int lower_bound)
This returns a new wire that contains only the prescribed range. |
Wire |
range(byucc.jhdl.base.Cell parent,
int upper_bound,
int lower_bound,
String name)
This returns a new wire that contains only the prescribed range in BITS. |
Wire |
range(int upper_bound,
int lower_bound)
This returns a new wire that contains only the prescribed range. |
Wire |
range(int upper_bound,
int lower_bound,
String name)
This returns a new wire that contains only the prescribed range. |
boolean |
removeProperty(byucc.jhdl.base.Cell parent,
String name)
Used to remove a named property of a Wire at the scope of the given cell. |
boolean |
removeProperty(String name)
Used to remove a named property of a Wire at the scope of the wire origin. |
void |
replaceProperty(byucc.jhdl.base.Cell parent,
byucc.jhdl.base.Property p)
Used to replace a property of a Wire. |
void |
replaceProperty(byucc.jhdl.base.Cell parent,
String name,
String value)
Used to replace a string property of a Wire. |
void |
replaceProperty(byucc.jhdl.base.Property p)
Used to replace a property of a Wire, within the scope of the wire origin. |
void |
replaceProperty(String name,
String value)
Used to replace a string property of a Wire, within the scope of the wire origin. |
void |
setLoad(double load)
Sets the load value, if it is enabled. |
byucc.jhdl.base.Property |
setProperty(byucc.jhdl.base.Cell parent,
String name,
Object value,
boolean isVisible)
|
byucc.jhdl.base.Property |
setProperty(String name,
Object value,
boolean isVisible)
|
boolean |
statisticsEnabled()
|
String |
toString()
Outputs the full name of this wire. |
protected boolean |
validSinkCell(byucc.jhdl.base.Cell sink)
Checks to see if sink is allowed to get values from this wire. |
protected boolean |
validSourceCell(byucc.jhdl.base.Cell source)
Checks to see if source is allowed to put values onto this wire. |
Methods inherited from class byucc.jhdl.base.Nameable |
---|
caseSensitivity, caseSensitivity, disableNameClashChecking, getFullName, getFullNameNoTestBench, getHierNameNoTestBench, getInstanceNo, getInstanceNumber, getLeafName, getLeafName, getRelativeName, getUserName, getUserName, hasUserSpecifiedName, isDescendantOf, setInstanceNumber |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
protected Wire(byucc.jhdl.base.Cell parent, String name)
parent
- the parent of this wire.name
- the name of this wire.protected Wire(byucc.jhdl.base.Cell parent, int num_of_wires, int wire_width, String name)
Wire(parent, num_of_wires, name)
.
parent
- the parent (the owner) of this wire.num_of_wires
- the num of wires in this wire.wire_width
- the width of each of the wires.name
- the user-specified name.protected Wire(byucc.jhdl.base.Cell parent, int num_of_wires, String name)
getAtomicWidth()
for the wire sizes.
parent
- the parent (the owner) of this wire.num_of_wires
- the num of atomic wires (NOT bits) in this wire.name
- the user-specified name.protected Wire(byucc.jhdl.base.Cell parent, byucc.jhdl.base.WireList wl, String name)
Wire(Cell, Wire[], String)
, which has most significant bits in slot 0
As an example, with foo
and bar
each 3 bit wires and
pie
a two bit wire, this sequence of code (if Wire were not abstract):
WireList mylist = new WireList(); mylist.insert(foo); mylist.insert(bar); mylist.insert(pie); Wire mywire = new Wire(parent, mylist, name);
mywire
contain the following bits, starting from the most
significant: foo[2], foo[1], foo[0], bar[2], bar[1], bar[0], pie[1], pie[0]
.
parent
- the parent of this wire.wl
- the list of wires that will be placed in this wire, least significant slots
at list headname
- the name of this wire.protected Wire(byucc.jhdl.base.Cell parent, Wire[] wa, String name)
As an example, with foo
and bar
each 3 bit wires and
pie
a two bit wire, this sequence of code (if Wire were not abstract):
Wire[] myarray = new Wire[] { foo, bar, pie }; Wire mywire = new Wire(parent, myarray, name);
mywire
contain the following bits, starting from the most
significant: foo[2], foo[1], foo[0], bar[2], bar[1], bar[0], pie[1], pie[0]
.
parent
- the parent of this wire.wa
- the array of wires that will be placed in this wire, most significant bits in slot 0name
- the name of this wire.Method Detail |
---|
public abstract int getAtomicWidth()
public byucc.jhdl.base.HWSystem getSystem()
protected void init(int num_of_wires, int wire_width)
init(num_of_wires)
.
protected void init(int num_of_wires)
num_of_wires
- the number of atomic wires (NOT bits) to include in this wireprotected void initWireFromList(byucc.jhdl.base.WireList wl)
initWireFromArray(Wire[])
instead, which takes most significant
bit in slot 0
wl
- the list of wires that will be placed in this wire, least significant bits
at list headprotected void initWireFromArray(Wire[] wa)
wa
- the list of wires that will be placed in this wire, most significant bits in slot 0public final byucc.jhdl.base.Node getParent()
getParent
in class byucc.jhdl.base.Nameable
getParentCell()
public final byucc.jhdl.base.Cell getParentCell()
public byucc.jhdl.base.ValuePropagater[] getValueArray()
public boolean statisticsEnabled()
public void initWireFromRange(Wire new_wire, Wire original, int upper_bound, int lower_bound)
range
or variant.
new_wire
- the wire that will get the range.original
- the wire that is being range()d.upper_bound
- the upper bound of the range.lower_bound
- the lower bound of the range.public String toString()
toString
in class Object
public byucc.jhdl.base.Cell getSinkCell()
getSinkCells()
public byucc.jhdl.base.Cell getSourceCell()
getSourceCells()
public byucc.jhdl.base.CellList getSinkCells()
getAllSinkCells()
public byucc.jhdl.base.CellList getNetlistLeafSinkCellsNonUnique()
public byucc.jhdl.base.CellList getAllSinkCells()
public byucc.jhdl.base.CellList getLeafSinkCells()
public byucc.jhdl.base.CellList getSourceCells()
public byucc.jhdl.base.CellList getAllSourceCells()
public byucc.jhdl.base.CellList getLeafSourceCells()
public boolean isUnidirectional()
public final boolean isBidirectional()
public void put(byucc.jhdl.base.Cell source, int val)
source
- the source node driving the wire.val
- the value being driven (int).public void putB(byucc.jhdl.base.Cell source, boolean val)
source
- the source node driving the wire.val
- the value being driven (boolean).public void putB(byucc.jhdl.base.Cell source, boolean val, int i) throws byucc.jhdl.base.PutGetException, ArrayIndexOutOfBoundsException, byucc.jhdl.base.WireSizeException, IllegalArgumentException
source
- the source node driving the wire.val
- the value being driven (boolean).i
- the index of the atomic wire you are requesting.
byucc.jhdl.base.PutGetException
ArrayIndexOutOfBoundsException
byucc.jhdl.base.WireSizeException
IllegalArgumentException
public void putBV(byucc.jhdl.base.Cell source, byucc.jhdl.base.BV val)
source
- the source node driving the wire.val
- the value being driven (BV).public void putL(byucc.jhdl.base.Cell source, long val)
source
- the source node driving the wire.val
- the value being driven (long).public void putL(byucc.jhdl.base.Cell source, long val, int upper_bound, int lower_bound) throws byucc.jhdl.base.PutGetException, ArrayIndexOutOfBoundsException, byucc.jhdl.base.WireSizeException, IllegalArgumentException
source
- the source node driving the wire.val
- the value being driven (long).upper_bound
- the upper bound of the range IN BITS.lower_bound
- the upper bound of the range IN BITS.
byucc.jhdl.base.PutGetException
ArrayIndexOutOfBoundsException
byucc.jhdl.base.WireSizeException
IllegalArgumentException
public void putA(byucc.jhdl.base.Cell source, int[] val)
source
- the source node driving the wire.val
- the value being driven (int[]).public void putTriState(byucc.jhdl.base.Cell source, int val)
source
- the source node driving the wire.val
- the value being driven (int).public void putTriStateBV(byucc.jhdl.base.Cell source, byucc.jhdl.base.BV val)
source
- the source node driving the wire.val
- the value being driven (BV).public void putTriStateL(byucc.jhdl.base.Cell source, long val)
source
- the source node driving the wire.val
- the value being driven (long).public void putTriStateA(byucc.jhdl.base.Cell source, int[] val)
source
- the source node driving the wire.val
- the value being driven (int[]).public int get(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public int getZ(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public int getX(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public boolean getB(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public boolean getB(byucc.jhdl.base.Cell sink, int i) throws byucc.jhdl.base.PutGetException, ArrayIndexOutOfBoundsException, byucc.jhdl.base.WireSizeException, IllegalArgumentException
sink
- the sink node reading the value.i
- the index of the atomic wire you are requesting.
byucc.jhdl.base.PutGetException
ArrayIndexOutOfBoundsException
byucc.jhdl.base.WireSizeException
IllegalArgumentException
public boolean getZB(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public boolean getXB(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public byucc.jhdl.base.BV getBV(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public byucc.jhdl.base.BV getZBV(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public byucc.jhdl.base.BV getXBV(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public byucc.jhdl.base.BV getBV(byucc.jhdl.base.Cell sink, byucc.jhdl.base.BV out)
sink
- the sink node reading the value.out
- the BV to place the output on.
public byucc.jhdl.base.BV getZBV(byucc.jhdl.base.Cell sink, byucc.jhdl.base.BV out)
sink
- the sink node reading the value.out
- the BV to place the output on.
public byucc.jhdl.base.BV getXBV(byucc.jhdl.base.Cell sink, byucc.jhdl.base.BV out)
sink
- the sink node reading the value.out
- the BV to place the output on.
public long getL(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public long getL(byucc.jhdl.base.Cell sink, int upper_bound, int lower_bound) throws byucc.jhdl.base.PutGetException, ArrayIndexOutOfBoundsException, byucc.jhdl.base.WireSizeException, IllegalArgumentException
sink
- the sink node reading the value.upper_bound
- the upper bound of the range IN BITS.lower_bound
- the upper bound of the range IN BITS.
byucc.jhdl.base.PutGetException
ArrayIndexOutOfBoundsException
byucc.jhdl.base.WireSizeException
IllegalArgumentException
public long getZL(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public long getXL(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public int[] getA(byucc.jhdl.base.Cell sink)
sink
- the sink node reading the value.
public int[] getZA(byucc.jhdl.base.Cell sink)
public int[] getXA(byucc.jhdl.base.Cell sink)
public int getZ(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic int getX(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic int get(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic long getL(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic long getZL(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic long getXL(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic int[] getA(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic byucc.jhdl.base.BV getBV(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic byucc.jhdl.base.BV getBV(byucc.jhdl.base.Browser obj, byucc.jhdl.base.BV bv) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.bv
- the BV to place the result onto
WireValueException
- if the wire had an invalid valuepublic byucc.jhdl.base.BV getZBV(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic byucc.jhdl.base.BV getZBV(byucc.jhdl.base.Browser obj, byucc.jhdl.base.BV bv) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.bv
- the BV to place the result onto
WireValueException
- if the wire had an invalid valuepublic byucc.jhdl.base.BV getXBV(byucc.jhdl.base.Browser obj) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.
WireValueException
- if the wire had an invalid valuepublic byucc.jhdl.base.BV getXBV(byucc.jhdl.base.Browser obj, byucc.jhdl.base.BV bv) throws byucc.jhdl.base.WireValueException
obj
- the browser object seeking access.bv
- the BV to place the result onto
WireValueException
- if the wire had an invalid valuepublic final int getWidth()
protected final boolean validSourceCell(byucc.jhdl.base.Cell source)
source
- the source cell being checked.
protected final boolean validSinkCell(byucc.jhdl.base.Cell sink)
sink
- the sink cell being checked.
public final Wire createAlias(byucc.jhdl.base.Cell parent, String name)
parent
- the new parent for this alias.name
- the name of the alias.
public final Wire createAlias(String name)
name
- the name of the alias.
public final Wire createAlias(byucc.jhdl.base.Cell parent)
parent
- the new parent for this alias.
public final Wire createAlias()
public Wire range(byucc.jhdl.base.Cell parent, int upper_bound, int lower_bound, String name)
getWire(parent, i, name)
or variant.
The bounds must be on atomic boundaries, within the width of the wire.
parent
- the parent of the new wire.upper_bound
- the upper bound of the range IN BITS.lower_bound
- the lower bound of the range IN BITS.name
- the name of the new wire.
public Wire range(byucc.jhdl.base.Cell parent, int upper_bound, int lower_bound)
parent
- the parent of the new wire.upper_bound
- the upper bound of the range IN BITS.lower_bound
- the lower bound of the range IN BITS.
range(Cell, int, int, String)
public Wire range(int upper_bound, int lower_bound)
upper_bound
- the upper bound of the range IN BITS.lower_bound
- the lower bound of the range IN BITS.
range(Cell, int, int, String)
public Wire range(int upper_bound, int lower_bound, String name)
upper_bound
- the upper bound of the range IN BITS.lower_bound
- the lower bound of the range IN BITS.name
- the name of the range.
range(Cell, int, int, String)
protected final Wire newWire(byucc.jhdl.base.Cell parent, String name)
parent
- the parent of the new wire.name
- the name of the new wire.
public final Wire getWire(int i)
i
- the index of the atomic wire you are requesting.
getWire(Cell, int, String)
public final Wire getWire(byucc.jhdl.base.Cell parent, int i)
parent
- the parent you desire for the new wire.i
- the index of the atomic wire you are requesting.
getWire(Cell, int, String)
public final Wire getWire(int i, String name)
i
- the index of the atomic wire you are requesting.name
- the name of the new wire (provided it has a parent).
getWire(Cell, int, String)
public final Wire getWire(byucc.jhdl.base.Cell parent, int i, String name)
range(parent, i, i, name)
when atomic wire
width is 1, but unique for larger atomic widths.
parent
- the parent of the new wire.i
- the index of the atomic wire you are requesting.name
- the name of the new wire.
public final Wire gw(int i)
getWire(int)
.
i
- the index of the atomic wire you are requesting.
getWire(int)
public final Wire gw(byucc.jhdl.base.Cell parent, int i)
getWire(Cell, int)
.
parent
- the parent of the new wire.i
- the index of the atomic wire you are requesting.
getWire(Cell, int)
public final Wire gw(int i, String name)
getWire(int, String)
.
i
- the index of the atomic wire you are requesting.name
- the name of the new wire.
getWire(int, String)
public final Wire gw(byucc.jhdl.base.Cell parent, int i, String name)
getWire(Cell, int, String)
.
parent
- the parent of the new wire.i
- the index of the atomic wire you are requesting.name
- the name of the new wire.
getWire(Cell, int, String)
public final boolean isRoot()
Nameable
as it needs to know whether the
Nameable thing it is currently looking at is the root or not. Wires can never
be the root, or anyone's parent, so this should never called. If it does, it
returns false in any case.
isRoot
in class byucc.jhdl.base.Nameable
protected boolean orphanAllowed()
orphanAllowed
in class byucc.jhdl.base.Nameable
public boolean isAlreadySourced()
public boolean isAlias(Wire w)
w
- the wire you are checking for aliasing.
public boolean equals(Object o)
equals
in class Object
o
- the object to check for equality
public int hashCode()
hashCode
in class Object
public int isSubsetOf(Wire w)
w
- the bound instance is checked to see if it is a subset of w.
public boolean isAtomic()
public String getCanonicalName()
BuildException
- if the wire is not atomic.public byucc.jhdl.base.WireList getAtomicWires()
public void isOkToDangle(boolean flag)
flag
- the value to set the flagpublic boolean isSourcelessOk()
nc
.public int getTransitionCount()
HWSystem.collectTransitionCountEnabled()
public void clearTransitionCount()
HWSystem.collectTransitionCountEnabled()
public void setLoad(double load)
HWSystem.collectTransitionCountEnabled()
public double getLoad()
HWSystem.collectTransitionCountEnabled()
public void fixPutCounts()
public void delete()
delete
in class byucc.jhdl.base.Nameable
public Wire getAliasForScope(byucc.jhdl.base.Cell parent)
parent
- the parent cell for the scopepublic void addProperty(byucc.jhdl.base.Cell parent, String name, String value)
parent
- the cell that defines the scope of the property.name
- the name of the property.value
- the string value of the property.public void addProperty(String name, Object value, boolean isVisible)
public byucc.jhdl.base.Property setProperty(String name, Object value, boolean isVisible)
public void addProperty(byucc.jhdl.base.Cell parent, String name, Object value, boolean isVisible)
public byucc.jhdl.base.Property setProperty(byucc.jhdl.base.Cell parent, String name, Object value, boolean isVisible)
public void addProperty(byucc.jhdl.base.Cell parent, byucc.jhdl.base.Property p)
parent
- the cell that defines the scope of the property.p
- the property object.public void addProperty(String name, String value)
name
- the name of the property.value
- the string value of the property.getOrigin()
public void addProperty(byucc.jhdl.base.Property p)
p
- the property object.getOrigin()
public byucc.jhdl.base.PropertyList getProperties(byucc.jhdl.base.Cell parent)
parent
- the cell that defines the scope of the property.
public byucc.jhdl.base.Property getProperty(byucc.jhdl.base.Cell parent, String name)
public Object getPropertyValue(byucc.jhdl.base.Cell parent, String name)
public byucc.jhdl.base.Property getProperty(String name)
public Object getPropertyValue(String name)
public boolean hasProperties(byucc.jhdl.base.Cell parent)
parent
- the cell that defines the scope of the property.
public byucc.jhdl.base.PropertyList getProperties()
public boolean hasProperties()
public void replaceProperty(byucc.jhdl.base.Cell parent, String name, String value)
parent
- the cell that defines the scope of the property.name
- the name of the property to add or replacevalue
- the new value of the propertypublic void replaceProperty(byucc.jhdl.base.Cell parent, byucc.jhdl.base.Property p)
parent
- the cell that defines the scope of the property.p
- the new version of the property.public void replaceProperty(String name, String value)
name
- the name of the property to add or replacevalue
- the new value of the propertypublic void replaceProperty(byucc.jhdl.base.Property p)
p
- the new version of the property.public boolean removeProperty(byucc.jhdl.base.Cell parent, String name)
parent
- the cell that defines the scope of the property.name
- the name of the property to remove
public boolean removeProperty(String name)
name
- the name of the property to remove
public void addProperties(byucc.jhdl.base.Cell parent, byucc.jhdl.base.PropertyList plist)
parent
- the cell that defines the scope of the property.plist
- the list of properties to add.
BuildException
- if a property already existspublic void addProperties(byucc.jhdl.base.Cell parent, byucc.jhdl.base.PropertyList plist, boolean warn_duplicates)
parent
- the cell that defines the scope of the property.plist
- the list of properties to add.warn_duplicates
- true to have an exception on duplicates, false to
force an override of any duplicates
BuildException
- if a property already exists and warn_duplicates is truepublic void addProperties(byucc.jhdl.base.PropertyList plist)
plist
- the list of properties to add.
BuildException
- if a property already existspublic void addProperties(byucc.jhdl.base.PropertyList plist, boolean warn_duplicates)
plist
- the list of properties to add.warn_duplicates
- true to have an exception on duplicates, false to
force an override of any duplicates
BuildException
- if a property already exists and warn_duplicates is truepublic Wire getOrigin()
public boolean hasBeenPut()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |