#include <Spartan3E.hpp>
Public Types | |
enum | ERegister { eRegisterCRC = 0, eRegisterFAR, eRegisterFDRI, eRegisterFDRO, eRegisterCMD, eRegisterCTL, eRegisterMASK, eRegisterSTAT, eRegisterLOUT, eRegisterCOR, eRegisterMFWR, eRegisterFLR, eRegisterIDCODE = 14, eRegisterCount } |
Configuration register enumeration. More... | |
enum | ECommand { eCommandNULL = 0, eCommandWCFG, eCommandMFWR, eCommandLFRM, eCommandRCFG, eCommandSTART, eCommandRCAP, eCommandRCRC, eCommandAGHIGH, eCommandSWITCH, eCommandGRESTORE, eCommandSHUTDOWN, eCommandGCAPTURE, eCommandDESYNCH, eCommandCount } |
Configuration command enumeration for eRegisterCMD. More... | |
enum | EFar { eFarMaskColumn = 0x06000000, eFarShiftColumn = 25, eFarMaskMajor = 0x01fe0000, eFarShiftMajor = 17, eFarMaskMinor = 0x0001fe00, eFarShiftMinor = 9 } |
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 | EColumnType { eColumnTypeEmpty = 0, eColumnTypeBram, eColumnTypeBramInt, eColumnTypeClb, eColumnTypeClock, eColumnTypeClockLL, eColumnTypeTerm, eColumnTypeIob, eColumnTypeCount } |
Major column types. More... | |
Public Member Functions | |
Spartan3E (void) | |
Basic constructor. | |
virtual void | initializeDeviceInfo (const std::string &inDeviceName) |
Initialize the device information. | |
virtual void | initializeFrameMaps (void) |
Initialize the maps between frame indexes and frame addresses. This is generally only useful for internal purposes. | |
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) |
Return the masked value for a subfield of the specified register. | |
Protected Types | |
typedef boost::uint32_t | uint32_t |
Imported type name. | |
typedef std::map< uint32_t, Spartan3E::FrameAddress > | FrameIndexToAddress |
Map from frame index to frame address. | |
typedef std::map < Spartan3E::FrameAddress, uint32_t > | FrameAddressToIndex |
Map from frame address to frame index. | |
typedef std::vector< uint32_t > | ColumnIndexVector |
Array of vectors to store frame indexes of each block type. | |
Protected Attributes | |
FrameIndexToAddress | mFrameIndexToAddress |
Map of frame indexes to frame addresses. | |
FrameAddressToIndex | mFrameAddressToIndex |
Map of frame addressee to frame indexes. | |
ColumnIndexVector | mBitColumnIndexes [Spartan3E::eFarBlockTypeCount] |
Vector to store frame indexes of XDL columns. | |
ColumnIndexVector | mXdlColumnIndexes [Spartan3E::eFarBlockTypeCount] |
Vector to store frame indexes of Bitstream columns. | |
Static Protected Attributes | |
static const char * | sPacketTypeName [ePacketTypeCount] |
Packet type names. | |
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 | sCOR [] |
Configuration Options Register (COR) subfields. | |
static const Subfield | sSTAT [] |
Status Register (STAT) subfields. | |
static const Subfield | sCTL [] |
Control Register (CTL) subfields. | |
static const Subfield | sMASK [] |
Control Mask Register (MASK) subfields. | |
Friends | |
class | torc::bitstream::bitstream::Spartan3EUnitTest |
class | torc::bitstream::bitstream::Spartan3EFarUnitTest |
void | testSpartan3EDevice (const std::string &inDeviceName, const boost::filesystem::path &inWorkingPath) |
std::ostream & | operator<< (std::ostream &os, const Spartan3E &rhs) |
Insert the bitstream header into an output stream. | |
Classes | |
class | FrameAddress |
Definition at line 38 of file Spartan3E.hpp.
typedef boost::uint32_t torc::bitstream::Spartan3E::uint32_t [protected] |
Imported type name.
Reimplemented from torc::bitstream::SpartanBitstream.
Definition at line 46 of file Spartan3E.hpp.
typedef std::map<uint32_t, Spartan3E::FrameAddress> torc::bitstream::Spartan3E::FrameIndexToAddress [protected] |
typedef std::map<Spartan3E::FrameAddress, uint32_t> torc::bitstream::Spartan3E::FrameAddressToIndex [protected] |
typedef std::vector<uint32_t> torc::bitstream::Spartan3E::ColumnIndexVector [protected] |
Array of vectors to store frame indexes of each block type.
Definition at line 186 of file Spartan3E.hpp.
Configuration register enumeration.
Definition at line 52 of file Spartan3E.hpp.
Configuration command enumeration for eRegisterCMD.
Definition at line 58 of file Spartan3E.hpp.
Frame Address Register subfields.
Definition at line 64 of file Spartan3E.hpp.
Major column types.
These are defined and used for internal purposes only, and are not derived from any Xilinx documentation.
Definition at line 78 of file Spartan3E.hpp.
torc::bitstream::Spartan3E::Spartan3E | ( | void | ) | [inline] |
uint32_t torc::bitstream::Spartan3E::makeSubfield | ( | ERegister | inRegister, | |
const std::string & | inSubfield, | |||
const std::string & | inSetting | |||
) | [static] |
Return the masked value for a subfield of the specified register.
Definition at line 186 of file Spartan3E.cpp.
void torc::bitstream::Spartan3E::initializeDeviceInfo | ( | const std::string & | inDeviceName | ) | [virtual] |
Initialize the device information.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 218 of file Spartan3E.cpp.
void torc::bitstream::Spartan3E::initializeFrameMaps | ( | void | ) | [virtual] |
Initialize the maps between frame indexes and frame addresses. This is generally only useful for internal purposes.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 313 of file Spartan3E.cpp.
virtual uint32_t torc::bitstream::Spartan3E::getFrameLength | ( | void | ) | const [inline, virtual] |
Return the frame length for the current device.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 167 of file Spartan3E.hpp.
std::ostream& operator<< | ( | std::ostream & | os, | |
const Spartan3E & | rhs | |||
) | [friend] |
Insert the bitstream header into an output stream.
Definition at line 88 of file OutputStreamHelpers.cpp.
const char * torc::bitstream::Spartan3E::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]" }
Definition at line 85 of file Spartan3E.hpp.
const char * torc::bitstream::Spartan3E::sOpcodeName [static, protected] |
Initial value:
{ "NOP", "READ", "WRITE", "RESERVED" }
Definition at line 87 of file Spartan3E.hpp.
const char * torc::bitstream::Spartan3E::sRegisterName [static, protected] |
Initial value:
{ "CRC", "FAR", "FDRI", "FDRO", "CMD", "CTL", "MASK", "STAT", "LOUT", "COR", "MFWR", "FLR", "[UNKNOWN_REGISTER 12]", "[UNKNOWN_REGISTER 13]", "IDCODE" }
Definition at line 89 of file Spartan3E.hpp.
const char * torc::bitstream::Spartan3E::sCommandName [static, protected] |
Initial value:
{ "NULL", "WCFG", "MFWR", "LFRM", "RCFG", "START", "RCAP", "RCRC", "AGHIGH", "SWITCH", "GRESTORE", "SHUTDOWN", "GCAPTURE", "DESYNCH" }
Definition at line 91 of file Spartan3E.hpp.
const Bitstream::Subfield torc::bitstream::Spartan3E::sCOR [static, protected] |
Configuration Options Register (COR) subfields.
Definition at line 93 of file Spartan3E.hpp.
const Bitstream::Subfield torc::bitstream::Spartan3E::sSTAT [static, protected] |
Status Register (STAT) subfields.
Definition at line 95 of file Spartan3E.hpp.
const Bitstream::Subfield torc::bitstream::Spartan3E::sCTL [static, protected] |
Initial value:
{ {0x00000001, 0, "GTS_USER_B", "GTS_USER_B", 0, VALUES{"IoDisabled", "IoActive", 0}}, {0x00000008, 3, "Persist", "PERSIST", 0, VALUES{"No", "Yes", 0}}, {0x00000030, 4, "Security", "SBITS", 0, VALUES{"None", "Level1", "Level2", "Level2", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 97 of file Spartan3E.hpp.
const Bitstream::Subfield torc::bitstream::Spartan3E::sMASK [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}}, {0x00000080, 4, "Security", "SBITS", 0, VALUES{"Protected", "[UNKNOWN 1]", "[UNKNOWN 2]", "Writable", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 99 of file Spartan3E.hpp.
ColumnIndexVector torc::bitstream::Spartan3E::mBitColumnIndexes[Spartan3E::eFarBlockTypeCount] [protected] |
ColumnIndexVector torc::bitstream::Spartan3E::mXdlColumnIndexes[Spartan3E::eFarBlockTypeCount] [protected] |