19 #ifndef TORC_BITSTREAM_SPARTAN3E_HPP 
   20 #define TORC_BITSTREAM_SPARTAN3E_HPP 
   22 #include <boost/cstdint.hpp> 
   23 #include <boost/filesystem.hpp> 
   27 namespace torc { 
namespace architecture { 
class DDB; } }
 
   32 namespace bitstream { 
class Spartan3EUnitTest; }
 
   33 namespace bitstream { 
class Spartan3EFarUnitTest; }
 
   93         static const Subfield 
sCOR[];
 
   97         static const Subfield 
sCTL[];
 
  160                 if(diffColumn) 
return diffColumn < 0;
 
  162                 if(diffMajor) 
return diffMajor < 0;
 
  171             using namespace torc::common;
 
  205 #endif // TORC_BITSTREAM_SPARTAN3E_HPP 
EColumnType
Major column types. 
 
static const char * sOpcodeName[eOpcodeCount]
Packet opcode names. 
 
ColumnDefVector mColumnDefs
Column type widths. 
 
static const Subfield sMASK[]
Control Mask Register (MASK) subfields. 
 
FrameIndexToAddress mFrameIndexToAddress
Map of frame indexes to frame addresses. 
 
FrameAddressToIndex mFrameAddressToIndex
Map of frame addressee to frame indexes. 
 
bool operator<(const FrameAddress &rhs) const 
 
TileTypeNameToColumnType mTileTypeNameToColumnType
 
static const char * sRegisterName[eRegisterCount]
Configuration register names. 
 
friend std::ostream & operator<<(std::ostream &os, const Spartan3E &rhs)
Insert the bitstream header into an output stream. 
 
friend class torc::bitstream::bitstream::Spartan3EUnitTest
 
std::map< Spartan3E::FrameAddress, uint32_t > FrameAddressToIndex
Map from frame address to frame index. 
 
static const char * sCommandName[eCommandCount]
Configuration command names. 
 
EFar
Frame Address Register subfields. 
 
static const Subfield sCTL[]
Control Register (CTL) subfields. 
 
virtual uint32_t getFrameLength(void) const 
 
static const char * sPacketTypeName[ePacketTypeCount]
Packet type names. 
 
Bitstream column definition for Xilinx bitstreams.  For every block type 0 through 8...
 
void testSpartan3EDevice(const std::string &inDeviceName, const boost::filesystem::path &inWorkingPath)
 
EDevice mDevice
Bitstream device enumeration. 
 
virtual void initializeFrameMaps(void)
Initialize the maps between frame indexes and frame addresses.  This is generally only useful for int...
 
friend std::ostream & operator<<(std::ostream &os, const Spartan3E::FrameAddress &rhs)
 
boost::uint32_t uint32_t
Imported type name. 
 
static const Subfield sCOR[]
Configuration Options Register (COR) subfields. 
 
ECommand
Configuration command enumeration for eRegisterCMD. 
 
boost::filesystem::path path
 
Spartan3E(void)
Basic constructor. 
 
virtual void initializeDeviceInfo(const std::string &inDeviceName)
Initialize the device information. 
 
Header for the SpartanBitstream class. 
 
std::map< uint32_t, Spartan3E::FrameAddress > FrameIndexToAddress
Map from frame index to frame address. 
 
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. 
 
static const Subfield sSTAT[]
Status Register (STAT) subfields. 
 
FrameAddress(uint32_t inColumn, uint32_t inMajor, uint32_t inMinor)
 
EFarTopBottom
Frame Address Register top and bottom constants. 
 
FrameAddress(uint32_t inAddress)
 
std::vector< uint32_t > ColumnIndexVector
Array of vectors to store frame indexes of each block type. 
 
friend class torc::bitstream::bitstream::Spartan3EFarUnitTest
 
EFarBlockType
Frame Address Register block type constants. 
 
void assign(uint32_t inAddress)
 
boost::uint32_t uint32_t
Imported type name. 
 
ColumnIndexVector mBitColumnIndexes[Spartan3E::eFarBlockTypeCount]
Vector to store frame indexes of XDL columns. 
 
ERegister
Configuration register enumeration. 
 
ColumnIndexVector mXdlColumnIndexes[Spartan3E::eFarBlockTypeCount]
Vector to store frame indexes of Bitstream columns. 
 
bool operator==(const FrameAddress &rhs) const