torc::bitstream::Virtex7 Class Reference

Virtex7 bitstream. More...

#include <Virtex7.hpp>

Inheritance diagram for torc::bitstream::Virtex7:

Inheritance graph
[legend]
Collaboration diagram for torc::bitstream::Virtex7:

Collaboration graph
[legend]

List of all members.

Public Types

enum  ERegister {
  eRegisterCRC = 0, eRegisterFAR, eRegisterFDRI, eRegisterFDRO,
  eRegisterCMD, eRegisterCTL0, eRegisterMASK, eRegisterSTAT,
  eRegisterLOUT, eRegisterCOR0, eRegisterMFWR, eRegisterCBC,
  eRegisterIDCODE, eRegisterAXSS, eRegisterCOR1, eRegisterWBSTAR = 16,
  eRegisterTIMER, eRegisterBOOTSTS = 22, eRegisterCTL1 = 24, eRegisterCount
}
 Configuration register enumeration. More...
enum  ECommand {
  eCommandNULL = 0, eCommandWCFG, eCommandMFW, eCommandDGHIGH,
  eCommandLFRM = eCommandDGHIGH, eCommandRCFG, eCommandSTART, eCommandRCAP,
  eCommandRCRC, eCommandAGHIGH, eCommandSWITCH, eCommandGRESTORE,
  eCommandSHUTDOWN, eCommandGCAPTURE, eCommandDESYNCH, eCommandReserved,
  eCommandIPROG, eCommandCRCC, eCommandLTIMER, eCommandCount
}
 Configuration register enumeration. More...
enum  EFar {
  eFarMaskBlockType = 0x03800000, eFarShiftBlockType = 23, eFarMaskTopBottom = 0x00400000, eFarShiftTopBottom = 22,
  eFarMaskRow = 0x003e0000, eFarShiftRow = 17, eFarMaskMajor = 0x0001ff80, eFarShiftMajor = 7,
  eFarMaskMinor = 0x0000007f, eFarShiftMinor = 0
}
 Frame Address Register subfields. More...
enum  EFarTopBottom { eFarTop = 0, eFarBottom = 1 }
 Frame Address Register top and bottom constants. More...
enum  EFarBlockType {
  eFarBlockType0 = 0, eFarBlockType1, eFarBlockType2, eFarBlockType3,
  eFarBlockType4, eFarBlockType5, eFarBlockType6, eFarBlockType7,
  eFarBlockTypeCount
}
 Frame Address Register block type constants. More...
enum  { eStartAddr = 0x1fffffff, eTimerValue = 0x3fffffff }
 Assorted Constants. More...
enum  EColumnType { eColumnTypeEmpty = 0 }
 Major Column Types. More...
enum  { eFrameLength = 101 }
 Frame length. More...

Public Member Functions

virtual void initializeDeviceInfo (const std::string &inDeviceName)
 Initialize the Device Information.
virtual uint32_t getFrameLength (void) const
 Return the frame length for the current device.

Static Public Member Functions

static uint32_t makeSubfield (ERegister inRegister, const std::string &inSubfield, const std::string &inSetting)
 Set the number of top and bottom bitstream rows.

Protected Types

typedef boost::uint32_t uint32_t
 Imported type name.
typedef std::map< uint32_t,
Virtex7::FrameAddress > 
FrameIndexToAddress
 Map from frame index to frame address.
typedef std::map
< Virtex7::FrameAddress,
uint32_t
FrameAddressToIndex
 Map from frame address to frame index.

Protected Attributes

uint32_t mTopRowCount
 The number of top bitstream rows.
uint32_t mBottomRowCount
 The number of bottom bitstream rows.
FrameIndexToAddress mFrameIndexToAddress
 Map of frame indexes to frame addresses.
FrameAddressToIndex mFrameAddressToIndex
 Map of frame addresses to frame indexes.

Static Protected Attributes

static const char * sPacketTypeName [ePacketTypeCount]
 Configuration controller registers.
static const char * sOpcodeName [eOpcodeCount]
 Packet Opcode names.
static const char * sRegisterName [eRegisterCount]
 Configuration Register names.
static const char * sCommandName [eCommandCount]
 Configuration Command names.
static const Subfield sCOR0 []
 Configurations Options Register 0 (COR) subfields.
static const Subfield sCOR1 []
 Configurations Options Register 1 (COR) subfields.
static const Subfield sSTAT []
 Status Register (STAT) subfields.
static const Subfield sCTL0 []
 Control Register 0 (CTL) subfields.
static const Subfield sCTL1 []
 Control Register 1 (CTL) subfields.
static const Subfield sMASK0 []
 Control Mask Register (MASK) subfields.
static const Subfield sWBSTAR []
 Warm Boot Start Address Register (WBSTAR) subfields.
static const Subfield sTIMER []
 Watchdog Timer Register (TIMER) subfields.
static const Subfield sBOOTSTS []
 Boot History Status Register (BOOTSTS) subfields.

Friends

class torc::bitstream::bitstream::Virtex7UnitTest
class torc::bitstream::bitstream::Virtex7FarUnitTest
void testVirtex7Device (const std::string &inDeviceName, const boost::filesystem::path &inWorkingPath)
std::ostream & operator<< (std::ostream &os, const Virtex7 &rhs)
 Insert the bitstream header into and output stream.

Classes

class  FrameAddress


Detailed Description

Virtex7 bitstream.

Definition at line 39 of file Virtex7.hpp.


Member Typedef Documentation

typedef boost::uint32_t torc::bitstream::Virtex7::uint32_t [protected]

Imported type name.

Reimplemented from torc::bitstream::VirtexBitstream.

Definition at line 47 of file Virtex7.hpp.

typedef std::map<uint32_t, Virtex7::FrameAddress> torc::bitstream::Virtex7::FrameIndexToAddress [protected]

Map from frame index to frame address.

Definition at line 217 of file Virtex7.hpp.

typedef std::map<Virtex7::FrameAddress, uint32_t> torc::bitstream::Virtex7::FrameAddressToIndex [protected]

Map from frame address to frame index.

Definition at line 219 of file Virtex7.hpp.


Member Enumeration Documentation

Configuration register enumeration.

See also:
Type 1 Packet Registers: UG470, v1.1, March 28, 2011, Table 5-19.

Definition at line 53 of file Virtex7.hpp.

Configuration register enumeration.

See also:
Command Register Codes: UG470, v1.1, March 28, 2011, Table 5-21.

Definition at line 61 of file Virtex7.hpp.

Frame Address Register subfields.

See also:
Frame Address Register Description: UG470, v1.1, March 28 2011, Table 5-20.

Definition at line 69 of file Virtex7.hpp.

Frame Address Register top and bottom constants.

See also:
Frame Address Register Description: UG470, v1.1, March 28, 2011, Table 5-20.

Definition at line 79 of file Virtex7.hpp.

Frame Address Register block type constants.

Definition at line 82 of file Virtex7.hpp.

anonymous enum

Assorted Constants.

See also:
WBSTAR Register Description: UG470, v1.1, March 28, 2011, Table 5-31.

Definition at line 87 of file Virtex7.hpp.

Major Column Types.

These are defined and used for internal purposes only, and are not derived from any Xilinx documentation.

Definition at line 96 of file Virtex7.hpp.

anonymous enum

Frame length.

Constant frame length of 101 32-bit words for the entire Virtex7 family.

See also:
Frame Address Register (00001): UG470, v1.1, March 28, 2011.

Definition at line 100 of file Virtex7.hpp.


Member Function Documentation

uint32_t torc::bitstream::Virtex7::makeSubfield ( ERegister  inRegister,
const std::string &  inSubfield,
const std::string &  inSetting 
) [static]

Set the number of top and bottom bitstream rows.

Return the masked value for a subfield of the specified register.

Basic Constructor.Return the masked value for a subfield of the specified register.

Definition at line 360 of file Virtex7.cpp.

void torc::bitstream::Virtex7::initializeDeviceInfo ( const std::string &  inDeviceName  )  [virtual]

Initialize the Device Information.

Reimplemented from torc::bitstream::Bitstream.

Definition at line 400 of file Virtex7.cpp.

virtual uint32_t torc::bitstream::Virtex7::getFrameLength ( void   )  const [inline, virtual]

Return the frame length for the current device.

Reimplemented from torc::bitstream::Bitstream.

Definition at line 163 of file Virtex7.hpp.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Virtex7 rhs 
) [friend]

Insert the bitstream header into and output stream.

Definition at line 1124 of file OutputStreamHelpers.cpp.


Member Data Documentation

const char * torc::bitstream::Virtex7::sPacketTypeName [static, protected]

Initial value:

 {
        "[UNKNOWN TYPE 0]", "TYPE1", "TYPE2", "[UNKNOWN TYPE 3]", "[UNKNOWN TYPE 4]", 
        "[UNKNOWN TYPE 5]", "[UNKNOWN TYPE 6]", "[UNKNOWN TYPE 7]"
    }
Configuration controller registers.

Packet Type names.

Definition at line 106 of file Virtex7.hpp.

const char * torc::bitstream::Virtex7::sOpcodeName [static, protected]

Initial value:

 {
        "NOP", "READ", "WRITE", "RESERVED"
    }
Packet Opcode names.

Definition at line 108 of file Virtex7.hpp.

const char * torc::bitstream::Virtex7::sRegisterName [static, protected]

Initial value:

 {
        "CRC", "FAR", "FDRI", "FDRO", "CMD", "CTL0", "MASK", "STAT", "LOUT", "COR0", 
        "MFWR", "CBC", "IDCODE", "AXSS", "COR1", "[UNKNOWN REG 15]","WBSTAR", "TIMER",
        "[UNKNOWN REG 18]","[UNKNOWN REG 19]", "[UNKNOWN REG 20]", "[UNKNOWN REG 21]", 
        "BOOTSTS", "[UNKNOWN REG 23]", "CTL1"
    }
Configuration Register names.

Definition at line 110 of file Virtex7.hpp.

const char * torc::bitstream::Virtex7::sCommandName [static, protected]

Initial value:

 {
        "NULL", "WCFG", "MFW", "DGHIGH/LFRM", "RCFG", "START", "RCAP", "RCRC", 
        "AGHIGH", "SWITCH", "GRESTORE", "SHUTDOWN", "GCAPTURE", "DESYNCH", "Reserved", 
        "IPROG", "CRCC", "LTIMER"
    }
Configuration Command names.

Definition at line 112 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sCOR0 [static, protected]

Configurations Options Register 0 (COR) subfields.

See also:
Configurations Options Register 0 (COR0): UG470, v1.1, March 28, 2011, Table 5-27.

Definition at line 114 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sCOR1 [static, protected]

Initial value:

 {
        {0x00000003, 0, "BPI_page_size", "BPI_PAGE_SIZE", 0,
            
            
            VALUES{"1", "4", "8", "Reserved", 0}},
        {0x0000000C, 2, "BPI_1st_read_cycle", "BPI_1ST_READ_CYCLES", 0,
            
            
            VALUES{"1", "2", "3", "4", 0}},
            
        {0x00000100,  8, "ContinuousReadbackCRC", "RBCRC_EN", 0, 
            
            
            VALUES{"Enabled", "disabled", 0}},
            
        {0x00000200,  9, "InitAsCRCErrorPin", "RBCRC_NO_PIN", 0,
            
            
            VALUES{"Disabled", "Enabled", 0}},
        {0x00018000, 15, "ActionReadbackCRC", "RBCRC_ACTION", 0,
            
            
            VALUES{"Continue", "Halt", "CorrectAndHalt", "CorrectAndContinue", 0}},
        {0x00020000, 17, "PersistDeassertAtDesynch", "PERSIST_DEASSERT_AT_DESYNCH", 0,
            
            
            VALUES{"Disabled", "Enabled", 0}},
        {0, 0, 0, 0, 0, 0}
    }
Configurations Options Register 1 (COR) subfields.

See also:
Configurations Options Register 1 (COR1): UG470 v1.1, March 28, 2011, Table 5-29 .

Definition at line 116 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sSTAT [static, protected]

Status Register (STAT) subfields.

See also:
Status Register Description: UG470, v1.1, March 28, 2011, Table 5-25.

Definition at line 118 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sCTL0 [static, protected]

Control Register 0 (CTL) subfields.

See also:
Control Register 0 (CTL0): UG470, v1.1, March 28, 2011, Table 5-23

Definition at line 120 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sCTL1 [static, protected]

Initial value:

 {
        {0, 0, 0, 0, 0, 0}
    }
Control Register 1 (CTL) subfields.

See also:
Control Register 1 (CTL1): UG470, v1.1, March 28, 2011, Table 5-36

Definition at line 122 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sMASK0 [static, protected]

Initial value:

 {
        {0x00000001,  0, "GTS_USER_B", "GTS_USER_B", 0, VALUES{"Protected", "Writable", 0}},
        {0x00000008,  3, "Persist", "PERSIST", 0,  VALUES{"Protected", "Writable", 0}},
        {0x00000030,  4, "Security", "SBITS", 0, 
            VALUES{"Protected", "[UNKNOWN 1]", "[UNKNOWN 2]", "Writable", 0}},
        {0x00000040,  6, "Encrypt", "DEC", 0,  VALUES{"Protected", "Writable", 0}},
        {0x00000080,  7, "FARSRC", "FARSRC", 0,  VALUES{"Protected", "Writable", 0}},
        {0x00000100,  8, "GLUTMASK", "GLUTMASK", 0,  VALUES{"Protected", "Writable", 0}},
        {0x00001000, 12, "OverTempPowerDown", "OverTempPowerDown", 0, 
            VALUES{"Protected", "Writable", 0}},
        {0x40000000, 30, "ICAP_sel", "ICAP_SEL", 0, VALUES{"Protected", "Writable", 0}},
        {0x80000000, 31, "EFUSE_key", "EFUSE_KEY", 0, VALUES{"Protected", "Writable", 0}},
        {0, 0, 0, 0, 0, 0}
    }
Control Mask Register (MASK) subfields.

See also:
Control Register 0 (CTL0): UG470, v1.1, March 28, 2011, Table 5-22.

Definition at line 124 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sWBSTAR [static, protected]

Initial value:

 {
        {0x40000000, 30, "NextRevisionSelect", "RS[1:0]", 0,
            
            VALUES{"00", "01", "10", "11", 0}},
        {0x20000000, 29, "RevisionSelectTristate", "RS_TS_B", 0,
            
            VALUES{"Disabled", "Enabled", 0}},
        {0, 0, 0, 0, 0, 0}
    }
Warm Boot Start Address Register (WBSTAR) subfields.

See also:
WBSTAR Register Descrption: UG470, v1.1, March 28, 2011, Table 5-31.

Definition at line 126 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sTIMER [static, protected]

Initial value:

 {
        {0x40000000, 30, "TimerForConfig", "TIMER_CFG_MON", 0,
            
            VALUES{"Disabled", "Enabled", 0}},
        {0x80000000, 31, "TimerForUser", "TIMER_USR_MON", 0,
            
            VALUES{"Disabled", "Enabled", 0}},
        {0, 0, 0, 0, 0, 0}
    }
Watchdog Timer Register (TIMER) subfields.

See also:
TIMER Register Description: UG470, v1.1, March 28, 2011, Table 5-33.

Definition at line 128 of file Virtex7.hpp.

const Bitstream::Subfield torc::bitstream::Virtex7::sBOOTSTS [static, protected]

Boot History Status Register (BOOTSTS) subfields.

See also:
BOOTSTS Register Description: UG470, v1.1, March 28, 2011, Table 5-35.

Definition at line 130 of file Virtex7.hpp.

The number of top bitstream rows.

Definition at line 132 of file Virtex7.hpp.

The number of bottom bitstream rows.

Definition at line 134 of file Virtex7.hpp.

Map of frame indexes to frame addresses.

Definition at line 222 of file Virtex7.hpp.

Map of frame addresses to frame indexes.

Definition at line 224 of file Virtex7.hpp.


The documentation for this class was generated from the following files:

Generated on Thu Oct 13 16:49:51 2011 for TORC by  doxygen 1.5.6