#include <Virtex7.hpp>
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 |
Definition at line 39 of file Virtex7.hpp.
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] |
typedef std::map<Virtex7::FrameAddress, uint32_t> torc::bitstream::Virtex7::FrameAddressToIndex [protected] |
Configuration register enumeration.
Definition at line 53 of file Virtex7.hpp.
Configuration register enumeration.
Definition at line 61 of file Virtex7.hpp.
Frame Address Register subfields.
Definition at line 69 of file Virtex7.hpp.
Frame Address Register top and bottom constants.
Definition at line 79 of file Virtex7.hpp.
anonymous enum |
Assorted Constants.
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.
Definition at line 100 of file Virtex7.hpp.
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.
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.
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]" }
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" }
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" }
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" }
Definition at line 112 of file Virtex7.hpp.
const Bitstream::Subfield torc::bitstream::Virtex7::sCOR0 [static, protected] |
Configurations Options Register 0 (COR) subfields.
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} }
Definition at line 116 of file Virtex7.hpp.
const Bitstream::Subfield torc::bitstream::Virtex7::sSTAT [static, protected] |
Status Register (STAT) subfields.
Definition at line 118 of file Virtex7.hpp.
const Bitstream::Subfield torc::bitstream::Virtex7::sCTL0 [static, protected] |
Control Register 0 (CTL) subfields.
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} }
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} }
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} }
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} }
Definition at line 128 of file Virtex7.hpp.
const Bitstream::Subfield torc::bitstream::Virtex7::sBOOTSTS [static, protected] |
Boot History Status Register (BOOTSTS) subfields.
Definition at line 130 of file Virtex7.hpp.
uint32_t torc::bitstream::Virtex7::mTopRowCount [protected] |
uint32_t torc::bitstream::Virtex7::mBottomRowCount [protected] |