public class ConfigArray
extends Object
Modifier and Type | Field and Description |
---|---|
static int |
FRAME_OVERHEAD_COUNT_PER_ROW
The number of extra frames at the end of a configuration row
|
Constructor and Description |
---|
ConfigArray(Device device)
Creates a new config array based on the provided device
|
Modifier and Type | Method and Description |
---|---|
boolean |
addConfigRow(ConfigRow configRow)
Adds a config row to the array (at the end of the list)
|
void |
createConfigArray()
Creates a configuration array from the device specified in the object.
|
Block |
getConfigBlock(Tile tile)
Get the configuration block that corresponds to the provided tile.
|
Block |
getConfigBlock(Tile tile,
BlockType blockType)
Gets the configuration block that corresponds to the provided tile and block type.
|
ConfigRow |
getConfigRow(int blockType,
int topBot,
int row)
Gets the configuration row based on blockType (CLB vs.
|
ConfigRow |
getConfigRow(int blockType,
int topBot,
int farRow,
int slrCfgOrder)
Gets the configuration row based on blockType (CLB vs.
|
List<ConfigRow> |
getConfigRows()
Gets the rows in the config array (in config order)
|
static int[] |
getCRIndicesInConfigRowOrder(Device d)
Returns an array of clock region indices that correspond to the order in
which they appear in the contiguous FAR address space.
|
Device |
getDevice()
Gets the device associated with this config array
|
Frame |
getFrame(FAR far)
Gets the frame in SLR0 (or monolithic devices) by default at the frame address register
specified.
|
Frame |
getFrame(FAR far,
int slrCfgOrder)
For multi-SLR devices, the FAR has the same addresses as other, so all config rows must use
an offset for the SLR.
|
int |
getNumOfConfigRows()
Gets the total number of config rows in the config array
|
List<Packet> |
getPackets()
Creates the list of packets that correspond to the current state of this
configuration array.
|
int |
getWordSize()
Gets the total number of words in the config array.
|
void |
updateUserStateBits(Cell... cells)
Updates the users state bits of the provided cells within this config array.
|
public static final int FRAME_OVERHEAD_COUNT_PER_ROW
public ConfigArray(Device device)
device
- The target device of the config arraypublic Device getDevice()
public static int[] getCRIndicesInConfigRowOrder(Device d)
d
- The target devicepublic List<Packet> getPackets()
public void createConfigArray()
public int getWordSize()
public Frame getFrame(FAR far)
far
- The FAR object set to the address being requestedpublic Frame getFrame(FAR far, int slrCfgOrder)
far
- The FAR object set to the address being requested in the context of the SLRslrCfgOrder
- The frame from which SLR to get. In multi-SLR devices, each SLR has its own
context.public ConfigRow getConfigRow(int blockType, int topBot, int row)
public ConfigRow getConfigRow(int blockType, int topBot, int farRow, int slrCfgOrder)
blockType
- The integer value of enum BlockType
.topBot
- The Series 7 top bottom flag (Top=0, Bottom=1), by default
all other architectures are Top=0farRow
- The row index encoded in the frame address (see FAR
)slrCfgOrder
- Configuration order index of the SLR to get the config row. The FAR does
not span multiple SLRs and requires context of the SLR to properly get the global row.public Block getConfigBlock(Tile tile)
tile
- The tile of interestpublic Block getConfigBlock(Tile tile, BlockType blockType)
tile
- The tile of interestblockType
- Valid block types are CLB and BRAM_CONTENTpublic int getNumOfConfigRows()
public List<ConfigRow> getConfigRows()
public boolean addConfigRow(ConfigRow configRow)
configRow
- The new row to addpublic void updateUserStateBits(Cell... cells)
cells
- The cell(s) containing the updated state settings, see EDIFPropertyObject