#include <Spartan6.hpp>
Public Types | |
enum | ERegister { eRegisterCRC = 0, eRegisterFARMAJ, eRegisterFARMIN, eRegisterFDRI, eRegisterFDRO, eRegisterCMD, eRegisterCTL, eRegisterMASK, eRegisterSTAT, eRegisterLOUT, eRegisterCOR1, eRegisterCOR2, eRegisterPWRDN_REG, eRegisterFLR, eRegisterIDCODE, eRegisterCWDT, eRegisterHC_OPT_REG, eRegisterCSBO, eRegisterGENERAL1, eRegisterGENERAL2, eRegisterGENERAL3, eRegisterGENERAL4, eRegisterGENERAL5, eRegisterMODE_REG, eRegisterPU_GWE, eRegisterPU_GTS, eRegisterMFWR, eRegisterCCLK_FREQ, eRegisterSEU_OPT, eRegisterEXP_SIGN, eRegisterRDBK_SIGN, eRegisterBOOSTS, eRegisterEYE_MASK, eRegisterCBC_REG, eRegisterCount } |
Configuration register enumeration. More... | |
enum | ECommand { eCommandNULL = 0, eCommandWCFG, eCommandMFW, eCommandLFRM, eCommandRCFG, eCommandSTART, eCommandRCRC = 7, eCommandAGHIGH, eCommandGRESTORE = 10, eCommandSHUTDOWN, eCommandDESYNC = 13, eCommandIPROG, eCommandCount } |
Configuration command enumeration for eRegisterCMD. More... | |
enum | EFarMaj { eFarMajMaskBlock = 0xf000, eFarMajShiftBlock = 12, eFarMajMaskRow = 0x0f00, eFarMajShiftRow = 8, eFarMajMaskMajor = 0x00ff, eFarMajShiftMajor = 0 } |
Frame Address Register Major subfields. More... | |
enum | EFarMin { eFarMinMaskBlock = 0xc000, eFarMinShiftBlock = 12, eFarMinMaskMinor = 0x01ff, eFarMinShiftMinor = 0 } |
Frame Address Register Minor subfields. More... | |
enum | EFarBlockType { eFarBlockType0 = 0, eFarBlockType1, eFarBlockType2, eFarBlockType3, eFarBlockType4, eFarBlockType5, eFarBlockType6, eFarBlockType7, eFarBlockTypeCount } |
Frame Address Register top and bottom constants. More... | |
enum | { eFrameLength = 41 } |
Frame length. More... | |
Static Public Member Functions | |
static uint16_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::uint16_t | uint16_t |
Imported type name. | |
typedef boost::uint32_t | uint32_t |
Imported type name. | |
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 | sCOR1 [] |
Configuration Options Register 1 (COR1) subfields. | |
static const Subfield | sCOR2 [] |
Configuration Options Register 2 (COR2) subfields. | |
static const Subfield | sSTAT [] |
Status Register (STAT) subfields. | |
static const Subfield | sCTL [] |
Control Register 0 (CTL0) subfields. | |
static const Subfield | sMASK [] |
Control Mask Register (MASK) subfields. | |
static const Subfield | sPWRDN_REG [] |
Suspend Register (PWRDN_REG) subfields. | |
static const Subfield | sHC_OPT_REG [] |
HC_OPT_REG Register (PWRDN_REG) subfields. | |
static const Subfield | sMODE_REG [] |
Mode Register (Mode) subfields. | |
static const Subfield | sBOOSTS [] |
BOOSTS Register (BOOSTS) subfields. | |
static const Subfield | sSEU_OPT [] |
SEU_OPT Register (SEU_OPT) subfields. | |
Friends | |
class | torc::bitstream::bitstream::Spartan6UnitTest |
std::ostream & | operator<< (std::ostream &os, const Spartan6 &rhs) |
Insert the bitstream header into an output stream. | |
Classes | |
class | FrameMajorAddress |
class | FrameMinorAddress |
Definition at line 31 of file Spartan6.hpp.
typedef boost::uint16_t torc::bitstream::Spartan6::uint16_t [protected] |
Imported type name.
Reimplemented from torc::bitstream::Spartan6Bitstream.
Definition at line 36 of file Spartan6.hpp.
typedef boost::uint32_t torc::bitstream::Spartan6::uint32_t [protected] |
Imported type name.
Reimplemented from torc::bitstream::Spartan6Bitstream.
Definition at line 37 of file Spartan6.hpp.
Configuration register enumeration.
Definition at line 43 of file Spartan6.hpp.
Configuration command enumeration for eRegisterCMD.
Definition at line 53 of file Spartan6.hpp.
Frame Address Register Major subfields.
Definition at line 59 of file Spartan6.hpp.
Frame Address Register Minor subfields.
Definition at line 67 of file Spartan6.hpp.
Frame Address Register top and bottom constants.
Frame Address Register block type constants.
Definition at line 75 of file Spartan6.hpp.
anonymous enum |
Frame length.
Constant frame length of 41 32-bit words for the entire Spartan6 family. Note that this length applies only to non-IOB frames. IOB frame lengths are defined by the bitstream FLR register plus one.
Definition at line 81 of file Spartan6.hpp.
uint16_t torc::bitstream::Spartan6::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 327 of file Spartan6.cpp.
std::ostream& operator<< | ( | std::ostream & | os, | |
const Spartan6 & | rhs | |||
) | [friend] |
Insert the bitstream header into an output stream.
Definition at line 215 of file OutputStreamHelpers.cpp.
const char * torc::bitstream::Spartan6::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 87 of file Spartan6.hpp.
const char * torc::bitstream::Spartan6::sOpcodeName [static, protected] |
Initial value:
{ "NOP", "READ", "WRITE", "RESERVED" }
Definition at line 89 of file Spartan6.hpp.
const char * torc::bitstream::Spartan6::sRegisterName [static, protected] |
Initial value:
{ "CRC", "FARMAJ", "FARMIN", "FDRI", "FDRO", "CMD", "CTL", "MASK", "STAT", "LOUT", "COR1", "COR2", "PWRDN_REG", "FLR", "IDCODE", "CWDT", "HC_OPT_REG", "CSBO", "GENERAL1", "GENERAL2", "GENERAL3", "GENERAL4", "GENERAL5", "MODE_REG", "PU_GWE", "PU_GTS", "MFWR", "CCLK_FREQ", "SEU_OPT", "EXP_SIGN", "RDBK_SIGN", "BOOSTS", "EYE_MASK", "CBC_REG" }
Definition at line 91 of file Spartan6.hpp.
const char * torc::bitstream::Spartan6::sCommandName [static, protected] |
Initial value:
{ "NULL", "WCFG", "MFW", "LFRM", "RCFG", "START", "[UNKNOWN COMMAND 6]", "RCRC", "AGHIGH", "[UNKNOWN COMMAND 9]", "GRESTORE", "SHUTDOWN", "[UNKNOWN COMMAND 12]", "DESYNC", "IPROG" }
Definition at line 93 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sCOR1 [static, protected] |
Initial value:
{ {0x0003, 0, "StartupClk", "SSCLKSRC", 0, VALUES{"Cclk", "UserClk", "JtagClk", "TCK", 0}}, {0x0004, 2, "DriveDone", "DRIVE_DONE", 0, VALUES{"No", "Yes", 0}}, {0x0008, 3, "DonePipe", "DONE_PIPE", 0, VALUES{"No", "Yes", 0}}, {0x0010, 4, "CRC_Bypass", "CRC_BYPASS", 0, VALUES{"0", "1", 0}}, {0x1000, 15, "Drive_Awake", "DRIVE_AWAKE", 0, VALUES{"0", "1", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 95 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sCOR2 [static, protected] |
Initial value:
{ {0x0007, 0, "GWE_cycle", "GWE_CYCLE", 6, VALUES{"[UNDEFINED 0]", "2", "3", "4", "5", "6", "[UNDEFINED 6]", "[UNDEFINED 7]", 0}}, {0x0038, 3, "GTS_cycle", "GTS_CYCLE", 5, VALUES{"[UNDEFINED 0]", "2", "3", "4", "5", "6", "[UNDEFINED 6]", "[UNDEFINED 7]", 0}}, {0x01c0, 6, "LCK_cycle", "LOCK_CYCLE", 7, VALUES{"1", "2", "3", "4", "5", "6", "[UNDEFINED 6]", "NoWait", 0}}, {0x0E00, 9, "DONE_cycle", "DONE_CYCLE", 4, VALUES{"[UNDEFINED 0]", "2", "3", "4", "5", "6", "[UNDEFINED 6]", "[UNDEFINED 7]", 0}}, {0x8000, 15, "Reset_on_err", "RESET_ON_ERROR", 0, VALUES{"Disable", "Enable", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 97 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sSTAT [static, protected] |
Status Register (STAT) subfields.
Definition at line 99 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sCTL [static, protected] |
Initial value:
{ {0x0002, 1, "CRC_EXTSTAT_DISABLE", "CRC_EXTSTAT_DISABLE", 0, VALUES{"0", "1", 0}}, {0x0004, 2, "USE_EFUSE_KEY", "USE_EFUSE_KEY", 0, VALUES{"0", "1", 0}}, {0x0008, 3, "Persist", "PERSIST", 0, VALUES{"No", "Yes", 0}}, {0x0030, 4, "Security", "SBITS", 0, VALUES{"None", "Level1", "Level2", "Level2", 0}}, {0x0040, 6, "DEC", "DEC", 0, VALUES{"No", "Yes", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 101 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sMASK [static, protected] |
Initial value:
{ {0x0001, 0, "RESERVED", "RESERVED", 0, VALUES{"Protected", "Writable", 0}}, {0x0002, 1, "CRC_EXTSTAT_DISABLE", "CRC_EXTSTAT_DISABLE", 0, VALUES{"Protected", "Writable", 0}}, {0x0004, 2, "USE_EFUSE_KEY", "USE_EFUSE_KEY", 0, VALUES{"Protected", "Writable", 0}}, {0x0008, 3, "Persist", "PERSIST", 0, VALUES{"Protected", "Writable", 0}}, {0x0030, 4, "Security", "SBITS", 0, VALUES{"Protected", "[UNKNOWN 1]", "[UNKNOWN 2]", "Writable", 0}}, {0x0040, 6, "DEC", "DEC", 0, VALUES{"Protected", "Writable", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 103 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sPWRDN_REG [static, protected] |
Initial value:
{ {0x0001, 0, "KEEP_SCLK", "KEEP_SCLK", 1, VALUES{"0", "1", 0}}, {0x0004, 2, "EN_PWRDN", "EN_PWRDN", 0, VALUES{"0", "1", 0}}, {0x0010, 4, "EN_PGSR", "EN_PGSR", 0, VALUES{"No", "Yes", 0}}, {0x0020, 5, "FILTER", "FILTER_B", 0, VALUES{"0", "1", 0}}, {0x4000, 14, "EN_EYES", "EN_EYES", 0, VALUES{"Disable", "Enable", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 105 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sHC_OPT_REG [static, protected] |
Initial value:
{ {0x0040, 6, "INIT_SKIP", "INIT_SKIP", 0, VALUES{"0", "1", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 107 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sMODE_REG [static, protected] |
Initial value:
{ {0x0080, 0, "BOOTVSEL", "BOOTVSEL", 0, VALUES{"[READ ONLY]", 0}}, {0x0400, 8, "BOOTMODE", "BOOTMODE", 1, VALUES{"0", "1", 0}}, {0x1000, 11, "BUSWIDTH", "BUSWIDTH", 0, VALUES{"0", "1", "2", 0}}, {0x2000, 13, "NEW_MODE", "NEW_MODE", 0, VALUES{"No", "Yes", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 109 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sBOOSTS [static, protected] |
BOOSTS Register (BOOSTS) subfields.
Definition at line 111 of file Spartan6.hpp.
const Bitstream::Subfield torc::bitstream::Spartan6::sSEU_OPT [static, protected] |
Initial value:
{ {0x0001, 0, "SEU_ENABLE", "SEU_ENABLE", 0, VALUES{"DISABLE", "ENABLE", 0}}, {0x0002, 1, "GLUT_MASK", "GLUT_MASK", 1, VALUES{"Unmask", "Mask LUTRAM/SRL", 0}}, {0x0008, 3, "SEU_RUN_ON_ERR", "SEU_RUN_ON_ERR", 0, VALUES{"Halt", "Run", 0}}, {0x0010, 4, "SEU_FREQ", "SEU_FREQ", 0, VALUES{"1be", 0}}, {0, 0, 0, 0, 0, 0} }
Definition at line 113 of file Spartan6.hpp.