byucc.jhdl.platforms.util
Class GenericProcessingElement

java.lang.Object
  extended bybyucc.jhdl.base.Nameable
      extended bybyucc.jhdl.base.Node
          extended bybyucc.jhdl.base.Cell
              extended bybyucc.jhdl.base.Structural
                  extended bybyucc.jhdl.Logic.LogicGates
                      extended bybyucc.jhdl.Logic.LogicStatic
                          extended bybyucc.jhdl.Logic.Logic
                              extended bybyucc.jhdl.platforms.util.GenericProcessingElement
All Implemented Interfaces:
BooleanFlags, Clockable, byucc.jhdl.base.Propagateable, TreeListable, UtilConstants

public class GenericProcessingElement
extends Logic
implements UtilConstants


Field Summary
protected  GenericBoard board
           
protected  GenericUserCore currently_loaded_user_core
           
protected  java.lang.String currently_loaded_user_core_name
           
 
Fields inherited from class byucc.jhdl.Logic.Logic
ABOVE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_LSB, ALIGN_MSB, ALIGN_RIGHT, ALIGN_TOP, BELOW, DOWN, EAST_OF, LEFT_OF, MAX_PACK, NORTH_OF, ON, ONTOP, ONTOP_OF, RIGHT_OF, SOUTH_OF, TOLEFT, TORIGHT, UNCONSTRAINED, UP, WEST_OF
 
Fields inherited from class byucc.jhdl.Logic.LogicGates
tech_mapper
 
Fields inherited from class byucc.jhdl.base.Cell
BOOLEAN, CELL_NAME_DECLARATION, CellInterfaceDeterminesUniqueNetlistStructure, DETERMINE_FROM_STRING, GENERICS_DECLARATION, implicit_interface, IMPLICIT_INTERFACE_DECLARATION, INTEGER, INTERFACE_DECLARATION, LONG, PORT_IOS_DECLARATION, PORT_NAMES_DECLARATION, PORT_NET_NAMES_DECLARATION, PORT_PROPERTIES, PORT_WIDTHS_DECLARATION, SIGN_EXT, STRING, ZERO_PAD
 
Fields inherited from interface byucc.jhdl.platforms.util.UtilConstants
directions, IN, NONE, OUT, TRISTATE, UNASSIGNED
 
Fields inherited from interface byucc.jhdl.base.BooleanFlags
ANTECEDANT_IS_BEHAVIORALLY_MODELED, ASYNC_PORT, ASYNCHRONOUS_RESOLVED, ATOMICALLY_PLACEABLE, ATOMICALLY_UNMAPPABLE, BEHAVIORALLY_MODELED_BRANCH, CLK_PORT, CLOCK_METHOD_IMPLEMENTED_BY_USER, CLOCK_METHOD_IS_DISABLED, CLOCKABLE_IS_SCHEDULED, DANGLING_IS_OK, DELETE_MARK, FATAL_BUILD_ERROR_OCCURED, HAS_BEEN_TRACED, HAS_USER_SPECIFIED_NAME, HWUPDATE, IMPLICIT_PORT, IN_CLK_PORT, IN_PORT, INOUT_PORT, IO_TYPE_FLAGS, IS_BEHAVIORALLY_MODELED, IS_ON_BUILD_STACK, IS_ON_PROP_LIST, IS_PLACED, METHODS_IMPLEMENTED_BY_USER, NETLISTABLE, ORIG_WIRE_IS_ATOMIC, OUT_PORT, PLACEMENT_IS_LOCKED, PROPAGATE_METHOD_IMPLEMENTED_BY_USER, PROPAGATE_METHOD_IS_DISABLED, RECURSION_FLAG, RESET_METHOD_IMPLEMENTED_BY_USER, SIMULATEABLE, SOURCELESS_IS_OK, SYNC_PORT, VISIBLE
 
Constructor Summary
GenericProcessingElement(Node parent)
          Used by the extending class to create a GenericUserCore that has no instance name
GenericProcessingElement(Node parent, java.lang.String instance)
          Used by the extending class to create a GenericUserCore that has an instance name
GenericProcessingElement(Node parent, java.lang.String instance, PortAssociation pa)
          Used by the extending class to create a GenericUserCore that has an instance name
 
Method Summary
 void addConduitWire(java.lang.String name, Wire wire)
          Used to get and create conduit wires for use with GenericInterface cell.
 void addPads()
           
 void aliasPort(java.lang.String aliasname, java.lang.String portname)
           
 GenericUserCore currentlyLoadedUserCore()
           
 java.lang.String currentlyLoadedUserCoreName()
           
 Wire getConduitWire(java.lang.String name, int width)
          Used to get and create conduit wires for use with GenericInterface cell.
 Wire getPortWire(java.lang.String name)
          Used to retrieve a wire from the PortAssociation object.
 VirtualPort getVirtualPort(java.lang.String portName)
          Returns a VirtualPort object which encapsulates the information for any virtual port declared with any of the derivatives of the vport() or avport().
 Wire getWire(java.lang.String name)
          Used to retrieve a wire from the wires hashtable.
 Wire gw(java.lang.String name)
          Used to retrieve a wire from the wires hashtable.
protected  void loadDefaultStates()
          This will find all VirtualPorts which have a defaultState defined and set unused bits on the output wire to the default.
 PlatformCommandStatus loadUserCore(GenericUserCore design)
          Generic method to load in user cores to derivatives of the GenericProcessingElement class.
 PlatformCommandStatus loadUserCore(java.lang.String design)
          Generic method to load in user cores to derivatives of the GenericProcessingElement class.
 void loadUserCore(java.lang.String design, java.lang.Class[] argSignature, java.lang.Object[] args)
          Generic method to load in user cores to derivatives of the GenericProcessingElement class.
 void postConstructBuild()
           
 void preConstructBuild(java.lang.Class cls)
           
protected  GenericProcessingElement recreate()
           
 void removeVirtualPort(java.lang.String name)
           
 VirtualPort vport_in(java.lang.String name, int width, java.lang.String in)
          This is a convenience method used for declaring ports that are only in ports.
 VirtualPort vport_in(java.lang.String name, int width, Wire in)
          This is a convenience method used for declaring ports that are only in ports.
 VirtualPort vport_out(java.lang.String name, int width, java.lang.String out)
          This is a convenience method used for declaring ports that are only in ports.
 VirtualPort vport_out(java.lang.String name, int width, Wire out)
          This is a convenience method used for declaring ports that are only in ports.
 VirtualPort vport(java.lang.String name, int width, java.lang.String in, java.lang.String out)
          Used to declare a virtual port.
 VirtualPort vport(java.lang.String name, int width, Wire in, Wire out)
          Used to declare a virtual port.
 
Methods inherited from class byucc.jhdl.Logic.Logic
clockDriver, clockDriver, connect_implicit_ports, connectImplicitPorts, constructSubCell, constructSubCellNoImplicitPorts, enableNewPlacement, enableNewPlacement, extend, extend, getDefaultClock, getDefaultTechMapper, getGlobalClock, getSinkCell, getSourceCell, getSourceCell, getSourceLeaf, getSourcePlaceable, getSourcePlaceableLeaf, getSubCellClass, getTechMapHint, getTechMapHint, getTechMapper, growAndShiftl, lockChildPlacement, lsb, lsb, map, map, map, map, map, map, map, map, map, map, map, map, map, map, map, map, map, map, map, msb, msb, msbIndx, netlist, netlist, netlist, netlist, netlist, netlist, netlist, netlist, padClock_o, padClock_o, padClock_o, padClock, padClock, padClock, padIn_o, padIn_o, padIn_o, padIn, padIn, padIn, padInout_o, padInout_o, padInout_o, padInout, padInout, padInout, padOut_o, padOut_o, padOut_o, padOut, padOut, padOut, padOutT_o, padOutT_o, padOutT_o, padOutT, padOutT, padOutT, place, place, place, place, place, place, place, place, place, place, place, place, place, place, place, place, place, printTechMapHints, range, rotate, rotate, scale, scale, setBBox, setDefaultTechMapper, setFloorPlannerIsMaster, setTechMappingEnabled, setWandH, signExtend_o, signExtend, signExtend, sink, source, takeBot_o, takeBot, takeBot, takeBotSigned_o, takeBotSigned, takeTop_o, takeTop, takeTop, techmap, techMappingEnabled, translate, translate, zeroExtend_o, zeroExtend, zeroExtend, zeroExtendRight_o, zeroExtendRight
 
Methods inherited from class byucc.jhdl.Logic.LogicStatic
add_o, add_o, and_o, and_o, and, and, buf_o, buf_o, buf, buf, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, constant_o, constant_o, constant_o, constant_o, constant_o, constant_o, constant_o, constant_o, constant, constant, constant, constant, constant, constant, constant, constant, constant, constant, gnd_o, gnd_o, gnd, gnd, gnd, gnd, mux_o, mux, nc, nc, nc, nc, nc, nc, not_o, not_o, not, not, or_o, or_o, or, or, reg_o, reg, vcc_o, vcc_o, vcc, vcc, vcc, vcc, wire, wire, wire, wire, xnor_o, xnor_o, xnor, xor_o, xor
 
Methods inherited from class byucc.jhdl.Logic.LogicGates
add_o, add_o, add_o, add_o, add_o, add_o, add, add, add, add, addsub_o, addsub_o, addsub_o, addsub_o, addsub_o, addsub_o, addsub, addsub, addsub, addsub, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and_o, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and, ashiftr_o, ashiftr, ashiftr, buf_o, buf_o, buf, buf, checkValueRepresentableInWidth, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat_o, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, constant_o, constant_o, constant_o, constant_o, constant_o, constant_o, constant_o, constant_o, constant, constant, constant, constant, constant, constant, constant, constant, constant, constant, gnd_o, gnd_o, gnd, gnd, gnd, gnd, mux_o, mux_o, mux_o, mux_o, mux_o, mux_o, mux, mux, mux, mux, mux, mux, name, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand_o, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nand, nc, nc, nc, nc, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor_o, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, nor, not_o, not_o, not, not, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or_o, or, or, or, or, or, or, or, or, or, or, or, or, or, or, or, or, or, or, pulldown, pulldown, pullup, pullup, reg_o, reg_o, reg_o, reg_o, reg, reg, reg, reg, regc_o, regc_o, regc_o, regc_o, regc, regc, regc, regc, regce_o, regce_o, regce_o, regce_o, regce, regce, regce, regce, regp_o, regp_o, regp_o, regp_o, regp, regp, regp, regp, regpe_o, regpe_o, regpe_o, regpe_o, regpe, regpe, regpe, regpe, regr_o, regr_o, regr_o, regr_o, regr, regr, regr, regr, regre_o, regre_o, regre_o, regre_o, regre, regre, regre, regre, regs_o, regs_o, regs_o, regs_o, regs, regs, regs, regs, regse_o, regse_o, regse_o, regse_o, regse, regse, regse, regse, shiftl_o, shiftl, shiftl, shiftr_o, shiftr, shiftr, sub_o, sub_o, sub_o, sub_o, sub_o, sub_o, sub, sub, sub, sub, tbuf_o, tbuf_o, tbuf, tbuf, vcc_o, vcc_o, vcc, vcc, vcc, vcc, wire, wire, wire, wire, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor_o, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor_o, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor, xor
 
Methods inherited from class byucc.jhdl.base.Structural
behavioralModelIsAvailable, clock, clockMethodIsDisabled, clockMethodIsDisabled, clockMethodIsEnabled, clockMethodIsEnabled, defaultSimulationModelIsBehavioral, hasBeenTraced, hasBeenTraced, hasBehaviorInClockMethod, hasBehaviorInPropagateMethod, isAsynchronouslyScheduled, isAsynchronouslyScheduled, isFallingEdgeTriggered, isReadyToBeAsynchronouslyScheduled, isRisingEdgeTriggered, needsToBeAsynchronouslyScheduled, needsToBeClocked, propagate, propagateMethodIsDisabled, propagateMethodIsDisabled, propagateMethodIsEnabled, propagateMethodIsEnabled, reset, willUseHWUpdate, willUseHWUpdate
 
Methods inherited from class byucc.jhdl.base.Cell
addPort, addPorts, addProperties, addProperties, addProperty, addProperty, addProperty, addProperty, antecedantIsBehaviorallyModeled, antecedantIsBehaviorallyModeled, bind, bind, bind, bind, cellInterfaceDeterminesUniqueNetlistStructure, clk, connect, connectAllWires, connectOptional, disableAllBehavioralModels, disableBehavioralModel, enableBehavioralModel, getArgument, getAttachedPort, getAttachedWire, getAttachedWireNoException, getCellName, getCellNetlist, getCellNetList, getCellNetlist, getCellNetlist, getDescendents, getFlatNetlist, getFlatNetlistableChildren, getGeneric, getHeight, getNetlistableChildren, getPlacementInfo, getPortProperties, getPortRecord, getPortRecords, getProperties, getProperty, getPropertyValue, getSinkWires, getSourceWires, getUniqueCellName, getWidth, getX, getY, hasPort, hasPorts, in, in, inout, inout, isAsynchronousSourceSinkResolved, isBehaviorallyModeled, isBehaviorallyModeledBranch, isInput, isLeafCell, isNetlistable, isNetlistable, isNetlistablePort, isNetlistLeaf, isNotNetlistable, isNotNetlistablePort, isNotVisible, isOutput, isPlaceable, isPlaceable, isPlaced, isPlaced, isPlacementLocked, isRoot, isSimulateable, isSimulateable, isSink, isSource, isVisible, isVisible, join, lockPlacement, nc, out, out, param, popHierarchy, port, port, port, postorderCheck, preorderCheck, pushHierarchy, pushHierarchy, pushHierarchy, pushHierarchy, pushHierarchyNoImplicitPorts, pushHierarchyNoImplicitPorts, removeAllUnconnectedPorts, removePort, removeProperty, replaceProperty, replaceProperty, resetBehavioralModelsToDefaults, setAsynchronousSourceSinkResolved, setGeneric, setHeight, setNotNetlistable, setNotNetlistable, setNotVisible, setNotVisible, setPlacementInfo, setPortNotNetlistable, setPortNotNetlistable, setProperty, setWidth, subClassDelete, toString, uniquifyCell, userDefinedClockCount, verifyAndCleanup
 
Methods inherited from class byucc.jhdl.base.Node
addObservable, addSimulatorCallback, checkAll, delete, getBuildingFlag, getChildren, getChildrenEnumeration, getInstanceName, getParent, getParentCell, getRelatives, getSystem, getWires, optimize, orphanAllowed, printAllChildren, printTree, removeSimulatorCallback, setDefaultClock
 
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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

currently_loaded_user_core

protected GenericUserCore currently_loaded_user_core

currently_loaded_user_core_name

protected java.lang.String currently_loaded_user_core_name

board

protected GenericBoard board
Constructor Detail

GenericProcessingElement

public GenericProcessingElement(Node parent)
Used by the extending class to create a GenericUserCore that has no instance name

Parameters:
parent - Parent of this cell, typically a top level board model.

GenericProcessingElement

public GenericProcessingElement(Node parent,
                                java.lang.String instance)
Used by the extending class to create a GenericUserCore that has an instance name

Parameters:
parent - Parent of this cell, typically a top level board model.
instance - Instance name for the GenericUserCore.

GenericProcessingElement

public GenericProcessingElement(Node parent,
                                java.lang.String instance,
                                PortAssociation pa)
Used by the extending class to create a GenericUserCore that has an instance name

Parameters:
parent - Parent of this cell, typically a top level board model.
instance - Instance name for the GenericUserCore.
Method Detail

vport

public VirtualPort vport(java.lang.String name,
                         int width,
                         java.lang.String in,
                         java.lang.String out)
Used to declare a virtual port. Wires will be created with the names of passed to this method. Each unique name will be used to create a wire with the specified width.

Parameters:
name - Name of the virtual port.
width - Number of bits in the port.
in - Name of wire to give to the user if this port is asked for and the port direction is in.
out - Name of wire to give to the user if this port is asked for and the port direction is out.
Returns:
New Virtual Port If the port being declared does not support a given direction, simply pass null in for that argument. If the user later asks for this direction on the port, an error will be generated and the user will be notified.

vport_in

public VirtualPort vport_in(java.lang.String name,
                            int width,
                            java.lang.String in)
This is a convenience method used for declaring ports that are only in ports. This is identical to calling: vport(name,width,in,null,null,null);

Parameters:
name - Name of the virtual port.
width - Number of bits in the port.
in - Name of wire to give to the user if this port is asked for and the port direction is in.
Returns:
New Virtual Port

vport_out

public VirtualPort vport_out(java.lang.String name,
                             int width,
                             java.lang.String out)
This is a convenience method used for declaring ports that are only in ports. This is identical to calling: vport(name,width,null,out,null,null);

Parameters:
name - Name of the virtual port.
width - Number of bits in the port.
out - Name of wire to give to the user if this port is asked for and the port direction is out.
Returns:
New Virtual Port

vport

public VirtualPort vport(java.lang.String name,
                         int width,
                         Wire in,
                         Wire out)
Used to declare a virtual port. Wires are given to this method. This form of vport methods are useful if you simply want to pass wires directly from a port (wire returned from connect call). You should only pass wires which were created in the GenericProcessingElement or from a wire returned from a connect call done in the GenericProcessingElement. Do not<\bold> pass a wire to this method which was passed into this cell. A call to this method will also add the wire to the wires hashtable which is accessed through the getWire() and gw() methods. The wire is added with its name as the key. For example, if this is a wire from a connect call then the name (and therefore key) for this wire is the name of the port to which it was connected.

Parameters:
name - Name of the virtual port.
width - Number of bits in the port.
in - Wire to give to the user if this port is asked for and the port direction is in.
out - Wire to give to the user if this port is asked for and the port direction is out.
Returns:
New Virtual Port If the port being declared does not support a given direction, simply pass null in for that argument. If the user later asks for this direction on the port, an error will be generated and the user will be notified.

vport_in

public VirtualPort vport_in(java.lang.String name,
                            int width,
                            Wire in)
This is a convenience method used for declaring ports that are only in ports. This is identical to calling: vport(name,width,in,null,null,null);

Parameters:
name - Name of the virtual port.
width - Number of bits in the port.
in - Wire to give to the user if this port is asked for and the port direction is in.
Returns:
New Virtual Port

vport_out

public VirtualPort vport_out(java.lang.String name,
                             int width,
                             Wire out)
This is a convenience method used for declaring ports that are only in ports. This is identical to calling: vport(name,width,null,out,null,null);

Parameters:
name - Name of the virtual port.
width - Number of bits in the port.
out - Wire to give to the user if this port is asked for and the port direction is out.
Returns:
New Virtual Port

aliasPort

public void aliasPort(java.lang.String aliasname,
                      java.lang.String portname)

getVirtualPort

public VirtualPort getVirtualPort(java.lang.String portName)
Returns a VirtualPort object which encapsulates the information for any virtual port declared with any of the derivatives of the vport() or avport().

Parameters:
portName - Name of the port for which you want the information.
Returns:
VirtualPort object containing all the information about the port portName.

removeVirtualPort

public void removeVirtualPort(java.lang.String name)

getWire

public Wire getWire(java.lang.String name)
Used to retrieve a wire from the wires hashtable. These are the wires created by the createWire() call which is called when vport() and avport() are called.


gw

public Wire gw(java.lang.String name)
Used to retrieve a wire from the wires hashtable. These are the wires created by the createWire() call which is called when vport() and avport() are called.


getPortWire

public Wire getPortWire(java.lang.String name)
Used to retrieve a wire from the PortAssociation object. If no PortAssociation object was passed to this instance, it will return null.


recreate

protected GenericProcessingElement recreate()

loadUserCore

public void loadUserCore(java.lang.String design,
                         java.lang.Class[] argSignature,
                         java.lang.Object[] args)
                  throws java.lang.ClassNotFoundException
Generic method to load in user cores to derivatives of the GenericProcessingElement class. This method takes care of all the reflection code needed to find the class by name and load it into the VM. As a result of this method, the user core is found and constructed and a reference is saved in the protected data member currently_loaded_user_core.

Parameters:
design - Name of the design to be loaded. This is the name of the class file without the .class extension. Please note that the class file must be somewhere in the classpath in order for this method to find it.
argSignature - This is an array of class objects which tells the method what argument signature to look for in the constructor for the class.
args - This is an array of Objects which are to be passed as parameters to the constructor for the class.
Throws:
java.lang.ClassNotFoundException

addPads

public void addPads()

postConstructBuild

public void postConstructBuild()

preConstructBuild

public void preConstructBuild(java.lang.Class cls)

loadUserCore

public PlatformCommandStatus loadUserCore(java.lang.String design)
Generic method to load in user cores to derivatives of the GenericProcessingElement class. This method takes care of all the reflection code needed to find the class by name and load it into the VM. As a result of this method, the user core is found and constructed and a reference is saved in the protected data member currently_loaded_user_core. This method assumes a single parameter which inherits GenericProcessingElement and passes this to it when constructed.

Parameters:
design - Name of the design to be loaded. This is the name of the class file without the .class extension. Please note that the class file must be somewhere in the classpath in order for this method to find it.
Returns:
Returns error condition. Null means no errors.

loadUserCore

public PlatformCommandStatus loadUserCore(GenericUserCore design)
Generic method to load in user cores to derivatives of the GenericProcessingElement class. You provide the already-constructed core. Note that you must recreate the GenericProcessingElement first and pass that into the constructor for the user core. A reference is saved in the protected data member currently_loaded_user_core.

Returns:
Returns error condition. Null means no errors.

loadDefaultStates

protected void loadDefaultStates()
This will find all VirtualPorts which have a defaultState defined and set unused bits on the output wire to the default.


getConduitWire

public Wire getConduitWire(java.lang.String name,
                           int width)
Used to get and create conduit wires for use with GenericInterface cell. If a conduit by the given name does not exist, one will be created.

Parameters:
name - Name of the conduit to get the wire from.
Returns:
Wire associated with the given conduit.
See Also:
GenericInterfaceCell

addConduitWire

public void addConduitWire(java.lang.String name,
                           Wire wire)
Used to get and create conduit wires for use with GenericInterface cell. If a conduit by the given name does not exist, one will be created.

Parameters:
name - Name of the conduit to get the wire from.
Returns:
Wire associated with the given conduit.
See Also:
GenericInterfaceCell

currentlyLoadedUserCore

public GenericUserCore currentlyLoadedUserCore()

currentlyLoadedUserCoreName

public java.lang.String currentlyLoadedUserCoreName()


Copyright ? 2006 Brigham Young University, Configurable Computing Laboratory. All Rights Reserved.