byucc.jhdl.platforms.util
Class GenericBoard

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.GenericBoard
All Implemented Interfaces:
BooleanFlags, Clockable, HardwareInterface, byucc.jhdl.base.Propagateable, TestBench, TreeListable, UtilConstants

public abstract class GenericBoard
extends Logic
implements UtilConstants, HardwareInterface, TestBench

Class designed for making the board-level of board models easier to create. The class supplies methods for declaring wires and the board level and specifying how they wire up to the sub components. The class also provides the basic board-level functionality. If a given method does not apply to a board model, or if more functionality is needed, the board model writer is free to overload and/or add methods to get the desired functionallity.


Field Summary
 
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
protected GenericBoard(Node parent)
          Creates a new GenericBoard with the specified parent and no instance name.
protected GenericBoard(Node parent, java.lang.String instance)
          Creates a new GenericBoard with the specified parent and instance name.
 
Method Summary
protected  void buildMemList()
           
protected  void buildPeList()
           
protected  void buildRegList()
           
protected  void circuitChanged()
           
protected  void constructDescribedModel()
          This method will take all the information that is defined by the Board and will construct all the board-level elements.
protected  void declareCell(java.lang.String cellname, java.lang.String classname)
          This call is used to declare all the cells that will be wired together using the defineConnection() call.
protected  void declareMemory(java.lang.String cellname, java.lang.String classname, int index)
          Declare a memory to be instanced in the board model.
protected  void declarePE(java.lang.String cellname, java.lang.String classname, int index)
          Declare a PE to be instanced in the board model.
protected  void declareRegisterInteface(java.lang.String cellname, java.lang.String classname, int set)
          Declare a register interface to be instanced in the board model.
protected  void defineConnection(int width, java.lang.String connection, java.lang.String wirename)
          This will define a connection between two or more ports on two or more cells.
protected  java.util.Enumeration getAllWires()
           
protected  Cell getCell(java.lang.String name)
          Gets a cell for the cell list by its instance name.
 StateObject getHardwareState(ExternallyUpdateable[] eCells, LargeExternallyUpdateable[] leCells, Checkpointable[] cCells)
          Returns the hardware state
 java.lang.String getModuleName()
          Returns the hardware module name
 GenericProcessingElement getPE(int i)
           
 java.lang.String getPEName(int i)
           
protected  PortAssociation getPortAssociation(java.lang.String cellname)
           
 int getTotalRegisterSets()
           
protected  Wire getWireByName(java.lang.String name)
          Gets a wire created by a defineConnection() call.
protected  Cell instanceCell(java.lang.String instance)
          Instances a declared cell.
 PlatformCommandStatus loadMem(int index, java.lang.String filename)
           
 PlatformCommandStatus peProgram(int index, java.lang.String classname)
           
 PlatformCommandStatus readRegister(int set, int address, BV value)
           
protected  void setCellAsMemory(LargeWritableMemory cell, int index)
          Set a previously instanced cell to be a memory in the board model.
protected  void setCellAsPE(GenericProcessingElement cell, int index)
          Set a previously instanced cell to be a PE in the board model.
protected  void setCellAsRegisterInterface(GenericRegisterInterface cell, int set)
          Set a previously instanced cell to be a register interface in the board model.
protected  void setTotalMems(int number)
          Tells GenericBoard how many memories there are in the platform.
protected  void setTotalPEs(int number)
          Tells GenericBoard how many PEs there are in the platform.
protected  void setTotalRegisterSets(int number)
          Tells GenericBoard how many register sets there are in the platform.
 void stepHardwareClock(int steps)
          Steps the hardware clock
 PlatformCommandStatus writeRegister(int set, int address, BV value)
           
 PlatformCommandStatus writeRegister(int set, int address, java.lang.String value)
           
 
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
 

Constructor Detail

GenericBoard

protected GenericBoard(Node parent,
                       java.lang.String instance)
Creates a new GenericBoard with the specified parent and instance name.

Parameters:
parent - Parent of the GenericBoard. This is typically the HWSystem.
instance - Optional instance name. If no instance name is desired, simply pass in null.

GenericBoard

protected GenericBoard(Node parent)
Creates a new GenericBoard with the specified parent and no instance name.

Parameters:
parent - Parent of the GenericBoard. This is typically the HWSystem.
Method Detail

defineConnection

protected void defineConnection(int width,
                                java.lang.String connection,
                                java.lang.String wirename)
This will define a connection between two or more ports on two or more cells. The connection is specified as a string with the following format:

"cell:port,cell:port,..."

You must specify all ports which are connected together in one call. In other words, you may not hook up port a of cell a to port b of cell b, then in another call hook up port b of cell b to port c of cell c. You must connect them all in a single call. In this case it would look something like this (for width of 16):

defineConnection(16,"a:a,b:b,c:c");

You may wire as many ports together as you need to in the call. Please note that the names of the cells used in these calls must have been declared using a declareCell() call.

Parameters:
width - Width of the ports to connect. All ports you are connecting must have the same width.
connection - String which give the connection information using the format described above.
wirename - Name of the wire which will connect all these ports together. You must supply a unique wire name for wach defineConnection() call. If null or a non-unique name is passed an error will be generated.

declareCell

protected void declareCell(java.lang.String cellname,
                           java.lang.String classname)
This call is used to declare all the cells that will be wired together using the defineConnection() call. All cells must be declared before a connection can be made.

Parameters:
cellname - Instance name for the cell.
classname - Fully qualified (include package information) classname for the class to instance with the above instance name.
Throws:
DeclarationException - Will throw a DeclarationException if the cellname has already been declared, or if cellname or classname is null.

getWireByName

protected Wire getWireByName(java.lang.String name)
Gets a wire created by a defineConnection() call.

Parameters:
name - Name of the wire to retrieve.

getAllWires

protected java.util.Enumeration getAllWires()

getPortAssociation

protected PortAssociation getPortAssociation(java.lang.String cellname)

constructDescribedModel

protected void constructDescribedModel()
This method will take all the information that is defined by the Board and will construct all the board-level elements. All board-level elements must have a constuctor with the following type signature:

public Contructor(Node parent, String instance, PortAssociation wires).

The method will use reflection to find all the elements and construct them.


buildPeList

protected void buildPeList()

buildMemList

protected void buildMemList()

buildRegList

protected void buildRegList()

instanceCell

protected Cell instanceCell(java.lang.String instance)
Instances a declared cell.

Parameters:
instance - Instance name for the cell to be created.
Returns:
Returns the cell that was instanced.

getCell

protected Cell getCell(java.lang.String name)
Gets a cell for the cell list by its instance name.

Parameters:
name - Instance name of the cell to be returned.
Returns:
Cell associated with the given instance name.

setTotalPEs

protected void setTotalPEs(int number)
Tells GenericBoard how many PEs there are in the platform. This is used to initialize data structures.

Parameters:
number - Total number of PEs.

declarePE

protected void declarePE(java.lang.String cellname,
                         java.lang.String classname,
                         int index)
Declare a PE to be instanced in the board model.

Parameters:
cellname - Instance name for the cell.
classname - Fully qualified (include package information) classname for the class to instance with the above instance name.
index - Index that will be used to reference this PE. The index must be between 0 and (totalPEs - 1).
Throws:
DeclarationException - Will throw a DeclarationException if the cellname has already been declared, or if cellname or classname is null. Exception will also be thrown if the index was already used by another PE.

setCellAsPE

protected void setCellAsPE(GenericProcessingElement cell,
                           int index)
Set a previously instanced cell to be a PE in the board model.

Parameters:
cell - Cell to add as a PE. This must be a subclass (direct or indirect) of GenericProcessingElement.
index - Index that will be used to reference this PE. The index must be between 0 and (totalPEs - 1).
Throws:
DeclarationException - Will throw a DeclarationException if totalPEs has not been set, or if the index was already used by another PE.

setTotalMems

protected void setTotalMems(int number)
Tells GenericBoard how many memories there are in the platform. This is used to initialize data structures.

Parameters:
number - Total number of memories.

declareMemory

protected void declareMemory(java.lang.String cellname,
                             java.lang.String classname,
                             int index)
Declare a memory to be instanced in the board model.

Parameters:
cellname - Instance name for the cell.
classname - Fully qualified (include package information) classname for the class to instance with the above instance name.
index - Index that will be used to reference this memory. The index must be between 0 and (totalMems - 1).
Throws:
DeclarationException - Will throw a DeclarationException if the cellname has already been declared, or if cellname or classname is null. Exception will also be thrown if the index was already used by another memory.

setCellAsMemory

protected void setCellAsMemory(LargeWritableMemory cell,
                               int index)
Set a previously instanced cell to be a memory in the board model.

Parameters:
cell - Cell to add as a memory. This must implement LargeWritableMemory and inherit Logic.
index - Index that will be used to reference this memory. The index must be between 0 and (totalMems - 1).
Throws:
DeclarationException - Will throw a DeclarationException if totalMems has not been set, or if the index was already used by another memory.

setTotalRegisterSets

protected void setTotalRegisterSets(int number)
Tells GenericBoard how many register sets there are in the platform. This is used to initialize data structures.

Parameters:
number - Total number of register sets.

getTotalRegisterSets

public int getTotalRegisterSets()

declareRegisterInteface

protected void declareRegisterInteface(java.lang.String cellname,
                                       java.lang.String classname,
                                       int set)
Declare a register interface to be instanced in the board model.

Parameters:
cellname - Instance name for the cell.
classname - Fully qualified (include package information) classname for the class to instance with the above instance name.
set - Set which will be controlled by this interface. This must be between 0 and (totalRegisterSets - 1).
Throws:
DeclarationException - Will throw a DeclarationException if the cellname has already been declared, or if cellname or classname is null. Exception will also be thrown if the set was already used by another register interface.

setCellAsRegisterInterface

protected void setCellAsRegisterInterface(GenericRegisterInterface cell,
                                          int set)
Set a previously instanced cell to be a register interface in the board model.

Parameters:
cell - Cell to add as a register interface. This must implement GenericRegisterInterface and inherit Logic.
set - Set that will be used to reference this register interface. The set must be between 0 and (totalRegs - 1).
Throws:
DeclarationException - Will throw a DeclarationException if totalRegs has not been set, or if the set was already used by another register interface.

circuitChanged

protected void circuitChanged()

getModuleName

public java.lang.String getModuleName()
Description copied from interface: HardwareInterface
Returns the hardware module name

Specified by:
getModuleName in interface HardwareInterface
Returns:
the name of the hardware

stepHardwareClock

public void stepHardwareClock(int steps)
Description copied from interface: HardwareInterface
Steps the hardware clock

Specified by:
stepHardwareClock in interface HardwareInterface
Parameters:
steps - How many cycles to clock

getHardwareState

public StateObject getHardwareState(ExternallyUpdateable[] eCells,
                                    LargeExternallyUpdateable[] leCells,
                                    Checkpointable[] cCells)
Description copied from interface: HardwareInterface
Returns the hardware state

Specified by:
getHardwareState in interface HardwareInterface
Parameters:
eCells - the ExternallyUpdateable cells to look at
leCells - the LargeExternallyUpdateable cells to look at
cCells - the Checkpointable cells to look at
Returns:
the hardware state

peProgram

public PlatformCommandStatus peProgram(int index,
                                       java.lang.String classname)

loadMem

public PlatformCommandStatus loadMem(int index,
                                     java.lang.String filename)

readRegister

public PlatformCommandStatus readRegister(int set,
                                          int address,
                                          BV value)

writeRegister

public PlatformCommandStatus writeRegister(int set,
                                           int address,
                                           BV value)

writeRegister

public PlatformCommandStatus writeRegister(int set,
                                           int address,
                                           java.lang.String value)

getPE

public GenericProcessingElement getPE(int i)

getPEName

public java.lang.String getPEName(int i)


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