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