byucc.jhdl.platforms.util.readback
Class ReadWriteBackManager

java.lang.Object
  extended bybyucc.jhdl.platforms.util.readback.ReadBackManager
      extended bybyucc.jhdl.platforms.util.readback.ReadWriteBackManager

public class ReadWriteBackManager
extends ReadBackManager

This class provides a board model with the functionality required to manage readback and writeback for a board of contiguously numbered PEs starting with PE 0. This includes the functionality to initialize the readback or writeback of specific PEs, enable or disable the readback of specific PEs, and provide the board model with a way of retrieving and setting read/writeback data for an array of ExternallyUpdateable Cells.

Author:
Wes Landaker

Field Summary
 
Fields inherited from class byucc.jhdl.platforms.util.readback.ReadBackManager
euCellHash, leuCellHash, peCount, peRBEnabled, readBackData
 
Constructor Summary
ReadWriteBackManager(NativeReadWriteBackInterface newRBI, int newPeCount)
          The constructore allocates and initializes the data structures for managing readback for the board.
 
Method Summary
 void performWriteBack()
          This method causes the state of all enabled PEs to be written back.
 void setEUValues(ExternallyUpdateable[] eCells, int[] values)
          The method sets an array of writeback values corresponding to the given array of ExternallyUpdatable Cells.
 void setLEUValues(LargeExternallyUpdateable[] leCells, int[][] values)
          The method sets an array of writeback values corresponding to the given array of LargeExternallyUpdatable Cells.
 
Methods inherited from class byucc.jhdl.platforms.util.readback.ReadBackManager
addReadBack, disableReadBack, enableReadBack, getEUValues, getLEUValues, performReadBack, removeReadBack, setReadBackEnable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReadWriteBackManager

public ReadWriteBackManager(NativeReadWriteBackInterface newRBI,
                            int newPeCount)
The constructore allocates and initializes the data structures for managing readback for the board. The PE count and a NativeReadBackInterface reference is recorded.

Parameters:
newRBI - A reference to the NativeReadWriteBackInterface to be used by the ReadBackData objects.
newPeCount - The number of PEs for which this object will manage readback. Note that PE numbering is assumed to start at 0.
Method Detail

performWriteBack

public void performWriteBack()
This method causes the state of all enabled PEs to be written back.


setEUValues

public void setEUValues(ExternallyUpdateable[] eCells,
                        int[] values)
The method sets an array of writeback values corresponding to the given array of ExternallyUpdatable Cells. If a Cell cannot be found in the Hashtable, the value for the Cell is set to 0; this would happen if the Cell has been optimized away or if there are version inconsistencies between the class file and the executed design. If a null list of ExternallyUpdatable Cells is passed in, a null int array reference is returned.

Parameters:
eCells - An array of ExternallyUpdatable Cells for which the last known readback values are needed. This is generally provided by the ExternalUpdateManager.

setLEUValues

public void setLEUValues(LargeExternallyUpdateable[] leCells,
                         int[][] values)
The method sets an array of writeback values corresponding to the given array of LargeExternallyUpdatable Cells. If a Cell cannot be found in the Hashtable, the values for the Cell are set to 0; this would happen if the Cell has been optimized away or if there are version inconsistencies between the class file and the executed design. If a null list of LargeExternallyUpdatable Cells is passed in, a null int array reference is returned.

Parameters:
leCells - An array of LargeExternallyUpdatable Cells for which the last known readback values are needed. This is generally provided by the ExternalUpdateManager.


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