32         "[UNKNOWN TYPE 0]", 
"TYPE1", 
"TYPE2", 
"[UNKNOWN TYPE 3]", 
"[UNKNOWN TYPE 4]", 
 
   33         "[UNKNOWN TYPE 5]", 
"[UNKNOWN TYPE 6]", 
"[UNKNOWN TYPE 7]" 
   37         "NOP", 
"READ", 
"WRITE", 
"RESERVED" 
   41         "CRC", 
"FAR", 
"FDRI", 
"FDRO", 
"CMD", 
"CTL0", 
"MASK", 
"STAT", 
"LOUT", 
"COR0", 
"MFWR", 
"CBC", 
 
   42         "IDCODE", 
"AXSS", 
"COR1", 
"CSOB", 
"WBSTAR", 
"TIMER", 
"[UNKNOWN REG 18]", 
 
   43         "[UNKNOWN REG 19]", 
"[UNKNOWN REG 20]", 
"[UNKNOWN REG 21]", 
"BOOTSTS", 
"[UNKNOWN REG 23]", 
 
   44         "CTL1", 
"[UNKNOWN REG 25]", 
"DWC" 
   48         "NULL", 
"WCFG", 
"MFW", 
"DGHIGH/LFRM", 
"RCFG", 
"START", 
"RCAP", 
"RCRC", 
"AGHIGH", 
"SWITCH", 
 
   49         "GRESTORE", 
"SHUTDOWN", 
"GCAPTURE", 
"DESYNCH", 
"Reserved", 
"IPROG", 
"CRCC", 
 
   53 #define VALUES (const char*[]) 
   57         {0x00000001,  0, 
"GTS_USER_B", 
"GTS_USER_B", 0, 
 
   60             VALUES{
"IoDisabled", 
"IoActive", 0}},
 
   61         {0x00000008,  3, 
"Persist", 
"PERSIST", 0, 
 
   65         {0x00000030,  4, 
"Security", 
"SBITS", 0, 
 
   69             VALUES{
"None", 
"Level1", 
"Level2", 
"Level2", 0}},
 
   70         {0x00000040,  6, 
"Encrypt", 
"DEC", 0, 
 
   74         {0x00000080,  7, 
"FARSRC", 
"FARSRC", 0, 
 
   78         {0x00000100,  8, 
"GLUTMASK", 
"GLUTMASK", 0, 
 
   83             VALUES{
"Masked", 
"Dynamic", 0}},
 
   84         {0x00001000, 12, 
"OverTempPowerDown", 
"OverTempPowerDown", 0, 
 
   87             VALUES{
"Disable", 
"Enable", 0}},
 
   88         {0x40000000, 30, 
"ICAP_sel", 
"ICAP_SEL", 0, 
 
   91             VALUES{
"Top", 
"Bottom", 0}},
 
   92         {0x80000000, 31, 
"EFUSE_key", 
"EFUSE_KEY", 0, 
 
  101         {0x00000001,  0, 
"GTS_USER_B", 
"GTS_USER_B", 0, 
VALUES{
"Protected", 
"Writable", 0}},
 
  102         {0x00000008,  3, 
"Persist", 
"PERSIST", 0,  
VALUES{
"Protected", 
"Writable", 0}},
 
  103         {0x00000030,  4, 
"Security", 
"SBITS", 0, 
 
  104             VALUES{
"Protected", 
"[UNKNOWN 1]", 
"[UNKNOWN 2]", 
"Writable", 0}},
 
  105         {0x00000040,  6, 
"Encrypt", 
"DEC", 0,  
VALUES{
"Protected", 
"Writable", 0}},
 
  106         {0x00000080,  7, 
"FARSRC", 
"FARSRC", 0,  
VALUES{
"Protected", 
"Writable", 0}},
 
  107         {0x00000100,  8, 
"GLUTMASK", 
"GLUTMASK", 0,  
VALUES{
"Protected", 
"Writable", 0}},
 
  108         {0x00001000, 12, 
"OverTempPowerDown", 
"OverTempPowerDown", 0, 
VALUES{
"Protected", 
 
  110         {0x40000000, 30, 
"ICAP_sel", 
"ICAP_SEL", 0, 
VALUES{
"Protected", 
"Writable", 0}},
 
  111         {0x80000000, 31, 
"EFUSE_key", 
"EFUSE_KEY", 0, 
VALUES{
"Protected", 
"Writable", 0}},
 
  122         {0x00000007,  0, 
"GWE_cycle", 
"GWE_CYCLE", 5,
 
  126             VALUES{
"1", 
"2", 
"3", 
"4", 
"5", 
"6", 
"Done", 
"Keep", 0}},
 
  127         {0x00000038,  3, 
"GTS_cycle", 
"GTS_CYCLE", 4,
 
  131             VALUES{
"1", 
"2", 
"3", 
"4", 
"5", 
"6", 
"Done", 
"Keep", 0}},
 
  132         {0x00000E00,  9, 
"Match_cycle", 
"MATCH_CYCLE", 0,
 
  135             VALUES{
"0", 
"1", 
"2", 
"3", 
"4", 
"5", 
"6", 
"NoWait", 0}},
 
  136         {0x00007000, 12, 
"DONE_cycle", 
"DONE_CYCLE", 3,
 
  139             VALUES{
"1", 
"2", 
"3", 
"4", 
"5", 
"6", 
"7", 
"KEEP", 0}},
 
  140         {0x00018000, 15, 
"StartupClk", 
"SSCLKSRC", 0,
 
  143             VALUES{
"Cclk", 
"UserClk", 
"JtagClk", 
"JtagClk", 0}},
 
  144         {0x007e0000, 17, 
"ConfigRate", 
"OSCFSEL", 0,
 
  148                 "[UNKNOWN 0]", 
"[UNKNOWN 1]", 
"[UNKNOWN 2]", 
"[UNKNOWN 3]", 
 
  149                 "[UNKNOWN 4]", 
"[UNKNOWN 5]", 
"[UNKNOWN 6]", 
"[UNKNOWN 7]", 
 
  150                 "[UNKNOWN 8]", 
"[UNKNOWN 9]", 
"[UNKNOWN 10]", 
"[UNKNOWN 11]", 
 
  151                 "[UNKNOWN 12]", 
"[UNKNOWN 13]", 
"[UNKNOWN 14]", 
"[UNKNOWN 15]", 
 
  152                 "[UNKNOWN 16]", 
"[UNKNOWN 17]", 
"[UNKNOWN 18]", 
"[UNKNOWN 19]", 
 
  153                 "[UNKNOWN 20]", 
"[UNKNOWN 21]", 
"[UNKNOWN 22]", 
"[UNKNOWN 23]", 
 
  154                 "[UNKNOWN 24]", 
"[UNKNOWN 25]", 
"[UNKNOWN 26]", 
"[UNKNOWN 27]", 
 
  155                 "[UNKNOWN 28]", 
"[UNKNOWN 29]", 
"[UNKNOWN 30]", 
"[UNKNOWN 31]", 
 
  157         {0x00800000, 23, 
"Capture", 
"SINGLE", 0,
 
  160             VALUES{
"Continuous", 
"OneShot", 0}},
 
  161         {0x01000000, 24, 
"DriveDone", 
"DRIVE_DONE", 0,
 
  165         {0x02000000, 25, 
"DonePipe", 
"DONE_PIPE", 0,
 
  169         {0x08000000, 27, 
"DONE_status", 
"PWRDWN_STAT", 0,
 
  172             VALUES{
"DonePin", 
"PowerdownPin", 0}},
 
  178         {0x00000003,  0, 
"BPI_page_size", 
"BPI_PAGE_SIZE", 0,
 
  181             VALUES{
"1", 
"4", 
"8", 
"Reserved", 0}},
 
  182         {0x0000000C,  2, 
"BPI_1st_read_cycle", 
"BPI_1ST_READ_CYCLES", 0,
 
  185             VALUES{
"1", 
"4", 
"8", 
"Reserved", 0}},
 
  186         {0x00000100,  8, 
"ContinuousReadbackCRC", 
"RBCRC_EN", 0, 
 
  189             VALUES{
"Disabled", 
"Enabled", 0}},
 
  190         {0x00000200,  9, 
"InitAsCRCErrorPin", 
"RBCRC_NO_PIN", 0, 
 
  193             VALUES{
"Disabled", 
"Enabled", 0}},
 
  194         {0x00018000, 15, 
"ActionReadbackCRC", 
"RBCRC_ACTION", 0,
 
  197             VALUES{
"Continue", 
"Halt", 
"CorrectAndHalt", 
"CorrectAndContinue", 0}},
 
  198         {0x00020000, 17, 
"PersistDeassertAtDesynch", 
"PERSIST_DEASSERT_AT_DESYNCH", 0,
 
  201             VALUES{
"Disabled", 
"Enabled", 0}},
 
  207         {0x18000000, 27, 
"NextRevisionSelect", 
"RS[1:0]", 0,
 
  209             VALUES{
"00", 
"01", 
"10", 
"11", 0}},
 
  210         {0x04000000, 26, 
"RevisionSelectTristate", 
"RS_TS_B", 0, 
 
  212             VALUES{
"Disabled", 
"Enabled", 0}},
 
  218         {0x01000000, 24, 
"TimerForConfig", 
"TIMER_CFG_MON", 0, 
 
  220             VALUES{
"Disabled", 
"Enabled", 0}},
 
  221         {0x02000000, 25, 
"TimerForUser", 
"TIMER_USR_MON", 0, 
 
  223             VALUES{
"Disabled", 
"Enabled", 0}},
 
  229         {0x00000001,  0, 
"RegisterStatus0", 
"VALID_0", 0, 
 
  231             VALUES{
"Valid", 
"Invalid", 0}},
 
  232         {0x00000002,  1, 
"FallbackStatus0", 
"FALLBACK_0", 0, 
 
  235             VALUES{
"Normal", 
"Fallback", 0}},
 
  236         {0x00000004,  2, 
"InternalTrigger0", 
"IPROG_0", 0, 
 
  238             VALUES{
"External", 
"Internal", 0}},
 
  239         {0x00000008,  3, 
"WatchdogTimeout0", 
"WTO_ERROR_0", 0, 
 
  241             VALUES{
"Valid", 
"Invalid", 0}},
 
  242         {0x00000010,  4, 
"ID_error0", 
"ID_ERROR_0", 0, 
 
  244             VALUES{
"NoError", 
"Error", 0}},
 
  245         {0x00000020,  5, 
"CRC_error0", 
"CRC_ERROR_0", 0, 
 
  247             VALUES{
"NoError", 
"Error", 0}},
 
  248         {0x00000040,  6, 
"BPI_wraparound_error0", 
"WRAP_ERROR_0", 0, 
 
  250             VALUES{
"NoError", 
"Error", 0}},
 
  251         {0x00000100,  8, 
"RegisterStatus1", 
"VALID_1", 0, 
 
  253             VALUES{
"Valid", 
"Invalid", 0}},
 
  254         {0x00000200,  9, 
"FallbackStatus1", 
"FALLBACK_1", 0, 
 
  257             VALUES{
"Normal", 
"Fallback", 0}},
 
  258         {0x00000400, 10, 
"InternalTrigger1", 
"IPROG_1", 0, 
 
  260             VALUES{
"External", 
"Internal", 0}},
 
  261         {0x00000800, 11, 
"WatchdogTimeout1", 
"WTO_ERROR_1", 0, 
 
  263             VALUES{
"Valid", 
"Invalid", 0}},
 
  264         {0x00001000, 12, 
"ID_error1", 
"ID_ERROR_1", 0, 
 
  266             VALUES{
"NoError", 
"Error", 0}},
 
  267         {0x00002000, 13, 
"CRC_error1", 
"CRC_ERROR_1", 0, 
 
  269             VALUES{
"NoError", 
"Error", 0}},
 
  270         {0x00004000, 14, 
"BPI_wraparound_error1", 
"WRAP_ERROR_1", 0, 
 
  272             VALUES{
"NoError", 
"Error", 0}},
 
  278         {0x00000001,  0, 
"CRC_error", 
"CRC_ERROR", 0, 
 
  282         {0x00000002,  1, 
"DecryptorSecuritySet", 
"PART_SECURED", 0, 
 
  286         {0x00000004,  2, 
"MMCM_locked", 
"MMCM_LOCK", 0, 
 
  290         {0x00000008,  3, 
"DCI_matched", 
"DCI_MATCH", 0, 
 
  294         {0x00000010,  4, 
"StartupFinished", 
"EOS", 0, 
 
  298         {0x00000020,  5, 
"GTS_CFG_B", 
"GTS_CFG_B", 0, 
 
  301             VALUES{
"IoDisabled", 
"IoEnabled", 0}},
 
  302         {0x00000040,  6, 
"GWE", 
"GWE", 0, 
 
  306             VALUES{
"WriteDisabled", 
"WriteEnabled", 0}},
 
  307         {0x00000080,  7, 
"GHIGH_B", 
"GHIGH_B", 0, 
 
  310             VALUES{
"InterconnectDisabled", 
"InterconnectEnabled", 0}},
 
  311         {0x00000700,  8, 
"Mode", 
"MODE", 0, 
 
  314             VALUES{
"MasterSerial", 
"MasterSPI", 
"MasterBPI-Up", 
"MasterBPI-Down", 
 
  315                 "MasterSelectMap", 
"JTAG", 
"SlaveSelectMap", 
"SlaveSerial", 0}},
 
  316         {0x00000800, 11, 
"INIT_complete", 
"INIT_COMPLETE", 0, 
 
  320         {0x00001000, 12, 
"INIT_B", 
"INIT_B", 0, 
 
  323             VALUES{
"Deasserted", 
"Asserted", 0}},
 
  324         {0x00002000, 13, 
"DONE_released", 
"RELEASE_DONE", 0, 
 
  327             VALUES{
"DrivenLow", 
"Released", 0}},
 
  328         {0x00004000, 14, 
"DONE", 
"DONE", 0, 
 
  331             VALUES{
"NotDone", 
"Done", 0}},
 
  332         {0x00008000, 15, 
"ID_error", 
"ID_ERROR", 0, 
 
  335             VALUES{
"NoError", 
"Error", 0}}, 
 
  336         {0x00010000, 16, 
"Decrypt_error", 
"DEC_ERROR", 0, 
 
  339             VALUES{
"NoError", 
"Error", 0}}, 
 
  340         {0x00020000, 17, 
"Decrypt_error", 
"SYSMON_OVER_TEMP", 0, 
 
  343             VALUES{
"NoError", 
"Error", 0}},
 
  344         {0x001c0000, 18, 
"StartupState", 
"STARTUP_STATE", 0, 
 
  347             VALUES{
"0", 
"1", 
"3", 
"2", 
"7", 
"6", 
"4", 
"5", 0}},
 
  348         {0x01c00000, 22, 
"FlashTypeSelect", 
"FS", 0, 
 
  352         {0x06000000, 25, 
"BusWidth", 
"BUS_WIDTH", 0, 
 
  355             VALUES{
"1", 
"8", 
"16", 
"32", 0}},
 
  356         {0x06000000, 28, 
"HswapenPin", 
"HSWAPEN_B", 0, 
 
  359             VALUES{
"0", 
"1", 
"16", 
"32", 0}},
 
  379         for(
uint32_t field = 0; subfields[field].
mMask != 0; field++) {
 
  380             const Subfield& subfield = subfields[field];
 
  383             const char** ptr = subfield.
mValues;
 
  384             for(
uint32_t i = 0; *ptr != 0; i++, ptr++) {
 
  385                 if(inSetting == *ptr) 
return (i << subfield.
mShift) & subfield.
mMask;
 
  392 #ifndef GENERATE_STATIC_DEVICE_INFO 
  413         using namespace torc::common;
 
  459         typedef std::map<TileTypeIndex, std::string> TileTypeIndexToName;
 
  460         typedef std::map<std::string, TileTypeIndex> TileTypeNameToIndex;
 
  461         TileTypeIndexToName tileTypeIndexToName;
 
  462         TileTypeNameToIndex tileTypeNameToIndex;
 
  464         for(TileTypeIndex tileTypeIndex(0); tileTypeIndex < tileTypeCount; tileTypeIndex++) {
 
  466             tileTypeIndexToName[tileTypeIndex] = tileTypeName;
 
  467             tileTypeNameToIndex[tileTypeName] = tileTypeIndex;
 
  472     std::cout << 
"Mapping: " << tileTypeName << 
"(" << tileTypeIndex << 
") = ColumnType " << ttwp->second << std::endl;
 
  477         columnTypes.resize(colCount);
 
  480             for(TileCol col; col < colCount; col++) {
 
  484                 TileTypeIndexToColumnType::iterator ttwp = ttwe;
 
  485                 for(TileRow row; row < rowCount; row++) {
 
  498                         columnTypes[col] = 
static_cast<EColumnType>(ttwp->second);
 
  505             if(blockType == 2) 
break;
 
  510         std::fstream tilemapStream(generatedMap.string().c_str(), std::ios::out);
 
  511         for(TileRow row; row < rowCount; row++) {
 
  512             for(TileCol col; col < colCount; col++) {
 
  517                 if(col + 1 < colCount) tilemapStream << 
",";
 
  519             tilemapStream << std::endl;
 
  521         tilemapStream.close();
 
  524         setDeviceInfo(DeviceInfo(tileCount, rowCount, colCount, columnTypes));
 
  536         using namespace torc::common;
 
  579             bool blockUsed = 
false;
 
  580             for(
uint32_t half = 0; half < 2; half++) {
 
  582                 for(
uint32_t farRow = 0; farRow < rowCount; farRow++) {
 
  593                         for(
uint32_t farMinor = 0; farMinor < width; farMinor++) {
 
  595                                 farRow, farMajor, farMinor);
 
  599                             blockFrameIndexBounds++;
 
  607                         if(farRow == 0 && half == 0) {
 
  614                                 if(col == finalColumn) {
 
  624                             if(col == finalColumn)
 
  636                     if(debug) std::cout << 
"Last frame index:   [" << i << 
", " << frameIndex 
 
  648               std::cout << 
"Bit Value at index: (" << i << 
", " << j << 
") : " << 
mBitColumnIndexes[i][j] << std::endl;
 
  650               std::cout << 
"Xdl Value at index: (" << i << 
", " << k << 
") : " << 
mXdlColumnIndexes[i][k] << std::endl;
 
  704         packets.insert(packets.end(), 8, dummy);
 
  708         packets.push_back(dummy);
 
  709         packets.push_back(dummy);
 
  712         packets.push_back(nop);
 
  717         packets.push_back(nop);
 
  720         packets.push_back(nop);
 
  721         packets.push_back(nop);
 
  752         packets.push_back(nop);
 
  782         packets.insert(packets.end(), 8, nop);
 
  815         packets.push_back(nop);
 
  816         packets.push_back(nop);
 
  819         packets.push_back(nop);
 
  822         packets.insert(packets.end(), 100, nop);
 
  825         packets.push_back(nop);
 
  855         packets.push_back(nop);
 
  856         packets.push_back(nop);
 
  859         packets.insert(packets.end(), 400, nop);
 
  901         packets.insert(packets.end(), 8, dummy);
 
  905         packets.push_back(dummy);
 
  906         packets.push_back(dummy);
 
  909         packets.push_back(nop);
 
  912         packets.push_back(nop);
 
  913         packets.push_back(nop);
 
  933             packets.push_back(nop);
 
  936             packets.insert(packets.end(), 4, nop);
 
  939             packets.push_back(nop);
 
  972             packets.push_back(nop);
 
  984         packets.insert(packets.end(), 100, nop);
 
  989             packets.push_back(nop);
 
  992             packets.push_back(nop);
 
 1001         packets.insert(packets.end(), 16, nop);
 
 1007         boost::shared_array<uint32_t> frameWords;
 
 1009         Virtex6::iterator p = begin();
 
 1010         Virtex6::iterator e = end();
 
 1058         int32_t bitColumnIndex[inBlockCount];
 
 1059         int32_t bitColumnBound[inBlockCount];
 
 1060         for(
uint32_t i = 0; i < inBlockCount; i++) {
 
 1071         for(
uint32_t i = 0; i < inBlockCount; i++) {
 
 1072             int startIndex = bitColumnIndex[i];
 
 1073             for(
int j = 0; j < bitColumnBound[i]; j++)
 
 1084         int32_t xdlColumnIndex[inBlockCount];
 
 1085         int32_t xdlColumnBound[inBlockCount];
 
 1086         for(
uint32_t i = 0; i < inBlockCount; i++) {
 
 1100         for(
uint32_t i = 0; i < inBlockCount; i++) {
 
 1101             int startIndex = xdlColumnIndex[i];
 
 1102             for(
int j = 0; j < xdlColumnBound[i]; j++)
 
ColumnDefVector mColumnDefs
Column type widths. 
static const char * sOpcodeName[eOpcodeCount]
Packet opcode names. 
virtual uint32_t getRowPadFrames(void) const 
Return the number of pad frames after each row. 
Encapsulation of a tile row in an unsigned 16-bit integer. 
static const char * sPacketTypeName[ePacketTypeCount]
Packet type names. 
TileTypeNameToColumnType mTileTypeNameToColumnType
Encapsulation of a tile column in an unsigned 16-bit integer. 
Device database, including complete wiring and logic support. 
IndexVector mBitColumnIndexes[Virtex6::eFarBlockTypeCount]
Vector to store frame indexes of XDL columns. 
TileTypeCount getTileTypeCount(void) const 
Returns the tile type count for this device. 
TileRow getRowCount(void) const 
Returns the row count for this device. 
static const char * sRegisterName[eRegisterCount]
Configuration register names. 
virtual VirtexPacketVector generateFullBitstreamPrefix(void)
Return a packet vector with the full bitstream prefix. 
uint32_t mFrameRowCount
Number of frame rows. 
static const Subfield sBOOTSTS[]
Boot History Status Register (BOOTSTS) subfields. 
Header for the DirectoryTree class. 
VirtexFrameBlocks mFrameBlocks
Input Frame blocks. 
virtual VirtexPacketVector generatePartialBitstreamSuffix(EBitstreamType inBitstreamType)
Return a packet vector with the partial bitstream suffix. 
IndexVector mXdlColumnIndexes[Virtex6::eFarBlockTypeCount]
Vector to store frame indexes of Bitstream columns. 
uint16_t getRowCount(void) const 
Returns the row count. 
Frame< uint32_t > VirtexFrame
Virtex frame type. 
const TileInfo & getTileInfo(TileIndex inTileIndex) const 
Returns the TileInfo object for the specified tile. 
Header for the Virtex6 class. 
FrameAddressToIndex mFrameAddressToIndex
Map of frame addressee to frame indexes. 
TileTypeIndexToColumnType mTileTypeIndexToColumnType
Static device information class for Xilinx bitstreams.  This class facilitates the creation of frame ...
VirtexFrameBlocks getBitstreamFrames(uint32_t inBlockCount, uint32_t inBitCol, uint32_t inFrameRow=0)
Returns frames for queried bitstream coordinates. 
uint16_t getColCount(void) const 
Returns the column count. 
static const Subfield sCOR0[]
Configuration Options Register 0 (COR) subfields. 
virtual uint32_t getFrameRowCount(void) const 
Return the number of frame rows for the current device. 
FrameIndexToAddress mFrameIndexToAddress
Map of frame indexes to frame addresses. 
static const Subfield sMASK0[]
Control Mask Register (MASK) subfields. 
TileCount getTileCount(void) const 
Returns the tile count for this device. 
EDevice mDevice
Bitstream device enumeration. 
uint32_t mBlockFrameIndexBounds[Virtex6::eFarBlockTypeCount]
Array to hold frame index boundaries for blocks. 
static const Subfield sCOR1[]
Configuration Options Register 1 (COR) subfields. 
uint32_t mShift
The subfield LSB position. 
static const char * sCommandName[eCommandCount]
Configuration command names. 
const char * mConfigGuideName
The subfield name documented in the configuration guide. 
boost::uint32_t uint32_t
Imported type name. 
EColumnType
Major column types. 
VirtexFrame::word_t word_t
FrameSet word type. 
uint32_t mMask
The subfield bit mask. 
static const Subfield sCTL1[]
Control Register 1 (CTL) subfields. 
DeviceInfo mDeviceInfo
Device information. 
Tile map, tile type, and wire information for the family and device. 
uint32_t mTopRowCount
The number of top bitstream rows. 
ERegister
Configuration register enumeration. 
FrameSet< FRAME_TYPE > mBlock[Bitstream::eBlockTypeCount]
FrameSets for each of the eight block types. 
Encapsulation of a tile count in an unsigned 32-bit integer. 
uint32_t mBottomRowCount
The number of bottom bitstream rows. 
Encapsulation of a tile within a device tile map. 
EBitstreamType
The bitstream type to generate.  Use eBitstreamFull to fully reconfigure a device, eBitstreamTypePartialActive to partially reconfigure it while it continues to run, or eBitstreamTypePartialShutdown to partially recongifure it after shutting it down. 
const char * getTileTypeName(TileTypeIndex inTileTypeIndex) const 
Returns the tile type name for the given tile type index. 
const ColumnTypeVector & getColumnTypes(void) const 
Returns the column type vector. 
boost::filesystem::path path
const TileTypeIndex & getTypeIndex(void) const 
Returns the tile type index for this tile. 
void setRowCounts(void)
Set the number of top and bottom bitstream rows. 
virtual VirtexPacketVector generatePartialBitstreamPrefix(EBitstreamType inBitstreamType)
Return a packet vector with the partial bitstream prefix. 
static const Subfield sSTAT[]
Status Register (STAT) subfields. 
boost::shared_ptr< VirtexFrame > FrameSharedPtr
Shared pointer encapsulation of a Frame. 
std::vector< VirtexPacket > VirtexPacketVector
Vector of Virtex packets. 
virtual uint32_t getFrameLength(void) const 
Return the frame length for the current device. 
EFarBlockType
Frame Address Register block type constants. 
static VirtexPacket makeType1Write(uint32_t inAddress, uint32_t inWord)
Construct a type 1 write packet. 
static uint32_t makeSubfield(ERegister inRegister, const std::string &inSubfield, const std::string &inSetting)
Return the masked value for a subfield of the specified register. 
const char * mBitgenName
The subfield name documented in bitgen. 
static const boost::filesystem::path & getWorkingPath(void)
Returns the absolute path to the working directory. 
Encapsulation of a tile type count in an unsigned 16-bit integer. 
const WordSharedArray getWords(void) const 
brief Returns the raw packet words, including the header word. 
EFarTopBottom
Frame Address Register top and bottom constants. 
TileCol getColCount(void) const 
Returns the column count for this device. 
Encapsulation of a tile type index in an unsigned 16-bit integer. 
boost::uint16_t uint16_t
Imported type name. 
Header for the DDB class. 
FrameBlocks< VirtexFrame > VirtexFrameBlocks
Virtex frame blocks type. 
DEPRECATED void initializeFullFrameBlocks(void)
Loads full bitstream frames into block data structure. 
virtual void initializeFrameMaps(void)
Initialize the maps between frame indexes and frame addresses.  This is generally only useful for int...
Template base for encapsulated integers, to enforce strong typing. 
boost::uint32_t uint32_t
Imported type name. 
void setDeviceInfo(const DeviceInfo &rhs)
Assign static device information for the current bitstream. 
virtual void initializeDeviceInfo(const std::string &inDeviceName)
Initialize the device information. 
Bitstream packet for Virtex class architectures. 
static const Subfield sCTL0[]
Control Register 0 (CTL) subfields. 
static uint32_t makeHeader(EPacketType inType, EOpcode inOpcode, uint32_t inAddress, uint32_t inCount)
Construct a packet header. 
const char ** mValues
The allowable subfield values. 
static const Subfield sWBSTAR[]
Warm Boot Start Address Register (WBSTAR) subfields. 
std::map< uint32_t, uint32_t > mXdlColumnToBitColumn
Map of XDL column indexes to bitstream column indexes. 
VirtexFrameBlocks getXdlFrames(uint32_t inBlockCount, uint32_t inXdlCol, uint32_t inFrameRow=0)
Returns frames for queried xdl coordinates. 
TileIndex getTileIndex(TileRow inRow, TileCol inCol) const 
Returns the tile index for the given [row,column] pair. 
static const Subfield sTIMER[]
Watchdog Timer Register (TIMER) subfields. 
virtual VirtexPacketVector generateFullBitstreamSuffix(void)
Return a packet vector with the full bitstream suffix. 
WORD_TYPE word_t
Frame word type. 
Device database types for Xilinx architectures.