torc-master
|
#include <Spartan6.hpp>
Data Structures | |
class | FrameMajorAddress |
class | FrameMinorAddress |
Public Member Functions | |
virtual uint32_t | getFrameLength (void) const |
Return the frame length for the current device. More... | |
virtual void | readPackets (std::istream &inStream) |
Read bitstream packets from a stream. More... | |
virtual void | writePackets (std::ostream &inStream) |
Write bitstream packets to a stream. More... | |
virtual void | preflightPackets (void) |
Preflight the packets. More... | |
virtual void | updatePacketLength (void) |
Update the header packet length. More... | |
void | write (std::ostream &inStream, uint8_t inVal) |
Write a uint8_t to the stream. More... | |
void | write (std::ostream &inStream, uint16_t inVal) |
Write a uint16_t to the stream. More... | |
void | write (std::ostream &inStream, uint32_t inVal) |
Write a uint32_t to the stream. More... | |
virtual void | write (std::ostream &inStream) |
Write the bitstream header and packets to a stream. More... | |
void | writeHeaderString (std::ostream &inStream, const string &inString) |
Write a Xilinx-style header string to the stream. More... | |
virtual void | readHeader (std::istream &inStream) |
Read the bitstream header. More... | |
void | cleanDateAndTime (void) |
Clean up the header date and time by replacing embedded spaces with zeros. More... | |
virtual void | initializeDeviceInfo (const std::string &inDeviceName) |
Initialize the maps between frame indexes and frame addresses. This is generally only useful for internal purposes. More... | |
virtual void | initializeFrameMaps (void) |
Initialize the maps between frame indexes and frame addresses. This is generally only useful for internal purposes. More... | |
virtual void | writeDeviceInfo (std::ostream &inStream, const std::string &inDeviceName) |
Output static device information to a stream. More... | |
void | setDeviceInfo (const DeviceInfo &rhs) |
Assign static device information for the current bitstream. More... | |
void | setDevice (const std::string &inDeviceName) |
Assign the device enumeration constant for the given device name. More... | |
virtual void | read (std::istream &inStream, bool inCleanDateAndTime=true) |
Read the bitstream header and packets from a stream. More... | |
virtual void | writeHeader (std::ostream &inStream) |
Write the bitstream header to the stream. More... | |
void | setDesignName (const string &inDesignName) |
Set the design name. More... | |
void | setDeviceName (const string &inDeviceName) |
Set the device name. More... | |
void | setDesignDate (const string &inDesignDate) |
Set the design date. More... | |
void | setDesignTime (const string &inDesignTime) |
Set the design time. More... | |
const string & | getDesignName (void) const |
Return the design name. More... | |
const string & | getDeviceName (void) const |
Return the device name. More... | |
const string & | getDesignDate (void) const |
Return the design date. More... | |
const string & | getDesignTime (void) const |
Return the design time. More... | |
uint32_t | getBitstreamByteLength (void) const |
Return the bitstream packet length in bytes. More... | |
uint32_t | getHeaderByteLength (void) const |
Return the bitstream header length in bytes. 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. More... | |
static bool | expect (std::istream &inStream, uint8_t inExpected) |
Look for the expected uint8_t in the stream and return true if it matches. More... | |
static bool | expect (std::istream &inStream, uint16_t inExpected) |
Look for the expected uint16_t in the stream and return true if it matches. More... | |
static bool | expect (std::istream &inStream, uint32_t inExpected) |
Look for the expected uint32_t in the stream and return true if it matches. More... | |
static void | readHeaderString (std::istream &inStream, string &outString) |
Read and return a bitstream header string. More... | |
static bool | readHeader (std::istream &inStream, string &outDesignName, string &outDeviceName, string &outDesignDate, string &outDesignTime, uint32_t &outBitstreamLength, uint32_t &outHeaderLength) |
Read a bitstream header, and return its fields. More... | |
static void | writeSubfieldSettings (std::ostream &inStream, uint32_t inWord, const Subfield *inSubfields) |
Insert 32 bit subfield settings into an output stream. More... | |
static void | writeSubfieldSettings (std::ostream &inStream, uint16_t inWord, const Subfield *inSubfields) |
Insert 16 bit subfield settings into an output stream. More... | |
Data Fields | |
EDevice | mDevice |
Bitstream device enumeration. More... | |
string | mDesignName |
Header design name. More... | |
string | mDeviceName |
Header device name. More... | |
string | mDesignDate |
Header design date. More... | |
string | mDesignTime |
Header design time. More... | |
uint32_t | mBitstreamByteLength |
Bitstream packet length in bytes. More... | |
uint32_t | mHeaderByteLength |
Header length in bytes. More... | |
ColumnDefVector | mColumnDefs |
Column type widths. More... | |
TileTypeNameToColumnType | mTileTypeNameToColumnType |
TileTypeIndexToColumnType | mTileTypeIndexToColumnType |
DeviceInfo | mDeviceInfo |
Device information. More... | |
Protected Types | |
typedef boost::uint16_t | uint16_t |
Imported type name. More... | |
typedef boost::uint32_t | uint32_t |
Static Protected Attributes | |
static const char * | sPacketTypeName [ePacketTypeCount] |
Packet type names. More... | |
static const char * | sOpcodeName [eOpcodeCount] |
Packet opcode names. More... | |
static const char * | sRegisterName [eRegisterCount] |
Configuration register names. More... | |
static const char * | sCommandName [eCommandCount] |
Configuration command names. More... | |
static const Subfield | sCOR1 [] |
Configuration Options Register 1 (COR1) subfields. More... | |
static const Subfield | sCOR2 [] |
Configuration Options Register 2 (COR2) subfields. More... | |
static const Subfield | sSTAT [] |
Status Register (STAT) subfields. More... | |
static const Subfield | sCTL [] |
Control Register 0 (CTL0) subfields. More... | |
static const Subfield | sMASK [] |
Control Mask Register (MASK) subfields. More... | |
static const Subfield | sPWRDN_REG [] |
Suspend Register (PWRDN_REG) subfields. More... | |
static const Subfield | sHC_OPT_REG [] |
HC_OPT_REG Register (PWRDN_REG) subfields. More... | |
static const Subfield | sMODE_REG [] |
Mode Register (Mode) subfields. More... | |
static const Subfield | sBOOSTS [] |
BOOSTS Register (BOOSTS) subfields. More... | |
static const Subfield | sSEU_OPT [] |
SEU_OPT Register (SEU_OPT) subfields. More... | |
Friends | |
class | torc::bitstream::bitstream::Spartan6UnitTest |
std::ostream & | operator<< (std::ostream &os, const Spartan6 &rhs) |
Insert the bitstream header into an output stream. More... | |
Spartan6 bitstream.
Definition at line 31 of file Spartan6.hpp.
|
inherited |
Imported type name.
Definition at line 64 of file bitstream/Bitstream.hpp.
|
inherited |
Imported type name.
Definition at line 60 of file bitstream/Bitstream.hpp.
|
inherited |
Mapping from tile indexes to column types.
Definition at line 254 of file bitstream/Bitstream.hpp.
|
inherited |
Mapping from tile type names to column types.
Definition at line 251 of file bitstream/Bitstream.hpp.
|
protected |
Imported type name.
Definition at line 36 of file Spartan6.hpp.
|
protected |
Definition at line 37 of file Spartan6.hpp.
|
inherited |
Imported type name.
Definition at line 61 of file bitstream/Bitstream.hpp.
|
inherited |
The block type count is fixed at eight across all Xilinx architectures.
Enumerator | |
---|---|
eBlockTypeCount |
Definition at line 44 of file bitstream/Bitstream.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.
Enumerator | |
---|---|
eFrameLength |
Definition at line 82 of file Spartan6.hpp.
|
inherited |
The bitstream type to generate. Use eBitstreamFull to fully reconfigure a device, eBitstreamTypePartialActive to partially reconfigure it while it continues to run, or eBitstreamTypePartialShutdown to partially recongifure it after shutting it down.
Enumerator | |
---|---|
eBitstreamTypeFull | |
eBitstreamTypePartialActive | |
eBitstreamTypePartialShutdown |
Definition at line 49 of file bitstream/Bitstream.hpp.
Configuration command enumeration for eRegisterCMD.
Enumerator | |
---|---|
eCommandNULL | |
eCommandWCFG | |
eCommandMFW | |
eCommandLFRM | |
eCommandRCFG | |
eCommandSTART | |
eCommandRCRC | |
eCommandAGHIGH | |
eCommandGRESTORE | |
eCommandSHUTDOWN | |
eCommandDESYNC | |
eCommandIPROG | |
eCommandCount |
Definition at line 54 of file Spartan6.hpp.
Frame Address Register top and bottom constants.
Frame Address Register block type constants.
Enumerator | |
---|---|
eFarBlockType0 | |
eFarBlockType1 | |
eFarBlockType2 | |
eFarBlockType3 | |
eFarBlockType4 | |
eFarBlockType5 | |
eFarBlockType6 | |
eFarBlockType7 | |
eFarBlockTypeCount |
Definition at line 76 of file Spartan6.hpp.
Frame Address Register Major subfields.
Enumerator | |
---|---|
eFarMajMaskBlock | |
eFarMajShiftBlock | |
eFarMajMaskRow | |
eFarMajShiftRow | |
eFarMajMaskMajor | |
eFarMajShiftMajor |
Definition at line 60 of file Spartan6.hpp.
Frame Address Register Minor subfields.
Enumerator | |
---|---|
eFarMinMaskBlock | |
eFarMinShiftBlock | |
eFarMinMaskMinor | |
eFarMinShiftMinor |
Definition at line 68 of file Spartan6.hpp.
|
inherited |
The frames to include in a partial bitstream. Use eFrameIncludeOnlyDirtyFrames to include only dirty frames, or eFrameStateAllUsedFrames to include all allocated frames, dirty or not. Note that if not all frames were allocated, eFrameStateAllUsedFrames is not the same as a full bitstream.
Enumerator | |
---|---|
eFrameIncludeOnlyDirtyFrames | |
eFrameIncludeAllUsedFrames |
Definition at line 56 of file bitstream/Bitstream.hpp.
|
inherited |
Packet opcode enumeration.
Enumerator | |
---|---|
eOpcodeNOP | |
eOpcodeRead | |
eOpcodeWrite | |
eOpcodeReserved | |
eOpcodeCount |
Definition at line 44 of file Spartan6Packet.hpp.
|
inherited |
Packet subfields.
Definition at line 49 of file Spartan6Packet.hpp.
|
inherited |
Packet type enumeration.
Enumerator | |
---|---|
ePacketType1 | |
ePacketType2 | |
ePacketTypeCount |
Definition at line 40 of file Spartan6Packet.hpp.
Configuration register enumeration.
Definition at line 43 of file Spartan6.hpp.
|
inherited |
Synchronization words.
Enumerator | |
---|---|
eSynchronizationDummy | |
eSynchronizationSync0 | |
eSynchronizationSync1 | |
eSynchronizationBusWidthSync0 | |
eSynchronizationBusWidthSync1 | |
eSynchronizationBusWidthDetect0 | |
eSynchronizationBusWidthDetect1 |
Definition at line 63 of file Spartan6Packet.hpp.
|
inlineinherited |
Clean up the header date and time by replacing embedded spaces with zeros.
Definition at line 183 of file bitstream/Bitstream.hpp.
|
inlinestaticinherited |
Look for the expected uint8_t in the stream and return true if it matches.
Definition at line 89 of file bitstream/Bitstream.hpp.
|
inlinestaticinherited |
Look for the expected uint16_t in the stream and return true if it matches.
Definition at line 97 of file bitstream/Bitstream.hpp.
|
inlinestaticinherited |
Look for the expected uint32_t in the stream and return true if it matches.
Definition at line 105 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Return the bitstream packet length in bytes.
The length includes all packet data, but does not include the bitstream header.
Definition at line 340 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Return the design date.
Definition at line 335 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Return the design name.
Definition at line 331 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Return the design time.
Definition at line 337 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Return the device name.
Definition at line 333 of file bitstream/Bitstream.hpp.
|
inlinevirtual |
Return the frame length for the current device.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 178 of file Spartan6.hpp.
|
inlineinherited |
Return the bitstream header length in bytes.
Definition at line 342 of file bitstream/Bitstream.hpp.
|
inlinevirtualinherited |
Initialize the maps between frame indexes and frame addresses. This is generally only useful for internal purposes.
Reimplemented in torc::bitstream::Virtex7, torc::bitstream::Virtex6, torc::bitstream::Virtex5, torc::bitstream::Virtex4, torc::bitstream::Spartan3E, torc::bitstream::Virtex2, torc::bitstream::Virtex, torc::bitstream::Virtex2P, and torc::bitstream::VirtexE.
Definition at line 214 of file bitstream/Bitstream.hpp.
|
inlinevirtualinherited |
Initialize the maps between frame indexes and frame addresses. This is generally only useful for internal purposes.
Reimplemented in torc::bitstream::Virtex7, torc::bitstream::Virtex6, torc::bitstream::Virtex5, torc::bitstream::Virtex4, torc::bitstream::Spartan3E, torc::bitstream::Virtex2, torc::bitstream::Virtex, and torc::bitstream::VirtexE.
Definition at line 217 of file bitstream/Bitstream.hpp.
|
static |
Return the masked value for a subfield of the specified register.
Definition at line 329 of file Spartan6.cpp.
|
virtualinherited |
Preflight the packets.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 53 of file Spartan6Bitstream.cpp.
|
inlinevirtualinherited |
Read the bitstream header and packets from a stream.
Definition at line 266 of file bitstream/Bitstream.hpp.
|
inlinestaticinherited |
Read a bitstream header, and return its fields.
Definition at line 142 of file bitstream/Bitstream.hpp.
|
inlinevirtualinherited |
Read the bitstream header.
Definition at line 274 of file bitstream/Bitstream.hpp.
|
inlinestaticinherited |
Read and return a bitstream header string.
Definition at line 124 of file bitstream/Bitstream.hpp.
|
virtualinherited |
Read bitstream packets from a stream.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 27 of file Spartan6Bitstream.cpp.
|
inlineinherited |
Set the design date.
Definition at line 327 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Set the design name.
Definition at line 323 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Set the design time.
Definition at line 329 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Assign the device enumeration constant for the given device name.
Definition at line 225 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Assign static device information for the current bitstream.
Definition at line 223 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Set the device name.
Definition at line 325 of file bitstream/Bitstream.hpp.
|
virtualinherited |
Update the header packet length.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 126 of file Spartan6Bitstream.cpp.
|
inlineinherited |
Write a uint8_t to the stream.
Definition at line 67 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Write a uint16_t to the stream.
Definition at line 72 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Write a uint32_t to the stream.
Definition at line 77 of file bitstream/Bitstream.hpp.
|
inlinevirtualinherited |
Write the bitstream header and packets to a stream.
Definition at line 280 of file bitstream/Bitstream.hpp.
|
virtualinherited |
Output static device information to a stream.
This is used to generate the static column maps for bitstream frame mapping.
Definition at line 74 of file Bitstream.cpp.
|
inlinevirtualinherited |
Write the bitstream header to the stream.
Definition at line 293 of file bitstream/Bitstream.hpp.
|
inlineinherited |
Write a Xilinx-style header string to the stream.
Definition at line 82 of file bitstream/Bitstream.hpp.
|
virtualinherited |
Write bitstream packets to a stream.
Reimplemented from torc::bitstream::Bitstream.
Definition at line 47 of file Spartan6Bitstream.cpp.
|
staticinherited |
Insert 32 bit subfield settings into an output stream.
Definition at line 26 of file Bitstream.cpp.
|
staticinherited |
Insert 16 bit subfield settings into an output stream.
Definition at line 50 of file Bitstream.cpp.
|
friend |
Insert the bitstream header into an output stream.
Definition at line 222 of file bitstream/OutputStreamHelpers.cpp.
|
friend |
Definition at line 32 of file Spartan6.hpp.
|
inherited |
Bitstream packet length in bytes.
This is the length in bytes of all the bitstream packets, without the bitstream header.
Definition at line 242 of file bitstream/Bitstream.hpp.
|
inherited |
Column type widths.
Definition at line 249 of file bitstream/Bitstream.hpp.
|
inherited |
Header design date.
Definition at line 236 of file bitstream/Bitstream.hpp.
|
inherited |
Header design name.
Definition at line 232 of file bitstream/Bitstream.hpp.
|
inherited |
Header design time.
Definition at line 238 of file bitstream/Bitstream.hpp.
|
inherited |
Bitstream device enumeration.
Definition at line 230 of file bitstream/Bitstream.hpp.
|
inherited |
Device information.
Definition at line 257 of file bitstream/Bitstream.hpp.
|
inherited |
Header device name.
Definition at line 234 of file bitstream/Bitstream.hpp.
|
inherited |
Header length in bytes.
This is the length of the header itself, as opposed to mBitstreamByteLength, which is the length of bitstream reported by the header.
Definition at line 246 of file bitstream/Bitstream.hpp.
|
inherited |
Definition at line 255 of file bitstream/Bitstream.hpp.
|
inherited |
Definition at line 252 of file bitstream/Bitstream.hpp.
|
staticprotected |
BOOSTS Register (BOOSTS) subfields.
Definition at line 112 of file Spartan6.hpp.
|
staticprotected |
Configuration command names.
Definition at line 94 of file Spartan6.hpp.
|
staticprotected |
Configuration Options Register 1 (COR1) subfields.
Definition at line 96 of file Spartan6.hpp.
|
staticprotected |
Configuration Options Register 2 (COR2) subfields.
Definition at line 98 of file Spartan6.hpp.
|
staticprotected |
Control Register 0 (CTL0) subfields.
Definition at line 102 of file Spartan6.hpp.
|
staticprotected |
HC_OPT_REG Register (PWRDN_REG) subfields.
Definition at line 108 of file Spartan6.hpp.
|
staticprotected |
Control Mask Register (MASK) subfields.
Definition at line 104 of file Spartan6.hpp.
|
staticprotected |
Mode Register (Mode) subfields.
Definition at line 110 of file Spartan6.hpp.
|
staticprotected |
Packet opcode names.
Definition at line 90 of file Spartan6.hpp.
|
staticprotected |
Packet type names.
Definition at line 88 of file Spartan6.hpp.
|
staticprotected |
Suspend Register (PWRDN_REG) subfields.
Definition at line 106 of file Spartan6.hpp.
|
staticprotected |
Configuration register names.
Definition at line 92 of file Spartan6.hpp.
|
staticprotected |
SEU_OPT Register (SEU_OPT) subfields.
Definition at line 114 of file Spartan6.hpp.
|
staticprotected |
Status Register (STAT) subfields.
Definition at line 100 of file Spartan6.hpp.