19 #ifndef TORC_BITSTREAM_VIRTEX2_HPP
20 #define TORC_BITSTREAM_VIRTEX2_HPP
22 #include <boost/cstdint.hpp>
23 #include <boost/filesystem.hpp>
28 namespace torc {
namespace architecture {
class DDB; } }
33 namespace bitstream {
class Virtex2UnitTest; }
34 namespace bitstream {
class Virtex2FarUnitTest; }
168 if(diffBlockType)
return diffBlockType < 0;
170 if(diffMajor)
return diffMajor < 0;
188 using namespace torc::common;
234 #endif // TORC_BITSTREAM_VIRTEX2_HPP
ColumnDefVector mColumnDefs
Column type widths.
VirtexFrameBlocks getBitstreamFrames(uint32_t inBlockCount, uint32_t inBitCol)
Returns frames for queried bitstream coordinates.
static const char * sOpcodeName[eOpcodeCount]
Packet opcode names.
TileTypeNameToColumnType mTileTypeNameToColumnType
Header for the VirtexBitstream class.
friend std::ostream & operator<<(std::ostream &os, const Virtex2::FrameAddress &rhs)
virtual void initializeFrameMaps(void)
Initialize the maps between frame indexes and frame addresses. This is generally only useful for int...
VirtexFrameBlocks getXdlFrames(uint32_t inBlockCount, uint32_t inXdlCol)
Returns frames for queried xdl coordinates.
boost::uint32_t uint32_t
Imported type name.
void testVirtex2Device(const std::string &inDeviceName, const boost::filesystem::path &inWorkingPath)
Bitstream column definition for Xilinx bitstreams. For every block type 0 through 8...
FrameAddress(uint32_t inAddress)
EDevice mDevice
Bitstream device enumeration.
ERegister
Configuration register enumeration.
Virtex2(void)
Basic constructor.
boost::uint32_t uint32_t
Imported type name.
static const Subfield sSTAT[]
Status Register (STAT) subfields.
std::map< uint32_t, Virtex2::FrameAddress > FrameIndexToAddress
Map from frame index to frame address.
virtual void readPackets(std::istream &inStream)
Virtex Frame Address base-class.
virtual uint32_t getFrameLength(void) const
friend class torc::bitstream::bitstream::Virtex2FarUnitTest
std::vector< uint32_t > IndexVector
Array of vectors to store frame indexes of each block type.
virtual bool operator<(const VirtexFrameAddress &vrhs) const
IndexVector mBitColumnIndexes[Virtex2::eFarBlockTypeCount]
Vector to store frame indexes of XDL columns.
friend std::ostream & operator<<(std::ostream &os, const Virtex2 &rhs)
Insert the bitstream header into an output stream.
void initializeFullFrameBlocks(void)
Loads full bitstream frames into block data structure.
boost::filesystem::path path
friend class torc::bitstream::bitstream::Virtex2UnitTest
uint32_t mBlockFrameIndexBounds[Virtex2::eFarBlockTypeCount]
Array to hold frame index boundaries for blocks.
virtual bool operator==(const VirtexFrameAddress &vrhs) const
FrameAddress(EFarBlockType inBlockType, uint32_t inMajor, uint32_t inMinor)
static const char * sCommandName[eCommandCount]
Configuration command names.
EFarBlockType
Frame Address Register block type constants.
boost::uint32_t uint32_t
Imported type name.
EFar
Frame Address Register subfields.
EColumnType
Major column types.
std::map< uint32_t, uint32_t > mXdlColumnToBitColumn
Map of XDL column indexes to bitstream column indexes.
static const char * sPacketTypeName[ePacketTypeCount]
Packet type names.
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.
std::map< Virtex2::FrameAddress, uint32_t > FrameAddressToIndex
Map from frame address to frame index.
string mPrivateDeviceName
static const char * sRegisterName[eRegisterCount]
Configuration register names.
ECommand
Configuration command enumeration for eRegisterCMD.
Header for the VirtexBitstream class.
virtual void assign(uint32_t inAddress)
IndexVector mXdlColumnIndexes[Virtex2::eFarBlockTypeCount]
Vector to store frame indexes of Bitstream columns.
FrameIndexToAddress mFrameIndexToAddress
Map of frame indexes to frame addresses.
static const Subfield sCTL[]
Control Register (CTL) subfields.
static const Subfield sCOR[]
Configuration Options Register (COR) subfields.
static const Subfield sMASK[]
Control Mask Register (MASK) subfields.
virtual void initializeDeviceInfo(const std::string &inDeviceName)
Initialize the device information.
void testVirtex2FullMapping(const boost::filesystem::path &inWorkingPath)
FrameAddressToIndex mFrameAddressToIndex
Map of frame addressee to frame indexes.
virtual uint32_t getFrameRowCount(void) const
Return the number of frame rows for the current device.