Bitstream Interpretation Library (BIL)  0.1
Namespaces | Classes | Typedefs | Functions | Variables
bil Namespace Reference

Namespaces

namespace  PacketOpcode
 Namespace for packet opcode constants.
namespace  RegisterAddress
 Namespace for register address type.
namespace  V5CfgBlock
 Namespace for Virtex-5 configuration block constants.
namespace  V5CfgColumn
 Namespace for Virtex-5 configuration column constants.
namespace  DeviceID
 Namespace for device ID type.
namespace  V5CommandCode
 Namespace for Virtex-5 command code constants.
namespace  V5RegisterAddress
 Namespace for Virtex-5 register address constants.
namespace  NetType
 Namespace for net type constants.
namespace  XDLKeywords
 Namespace for XDL keyword constants.
namespace  xdlparser_detail
namespace  PIPDirection
 Namespace for PIP direction constants.
namespace  XDLRCKeywords
 Namespace for XDLRC keyword constants.
namespace  xdlrcparser_detail

Classes

class  BitFileData
 Models the contents of a Xilinx bit file. More...
class  Bitstream
 Models a Virtex bitstream. More...
class  BuswidthPattern
 A special pattern for buswidth detection. More...
class  DummyWord
 A word of dummy data. More...
class  Packet
 Abstract base class for packets in a bitstream. More...
class  PacketVisitor
 Abstract visitor base class for bitstream packets. More...
class  SyncWord
 A special synchronization word. More...
class  Type1Packet
 A type 1 packet. More...
class  Type2Packet
 Type 2 data packet. More...
class  V5BitstreamDeviceDetector
 Visitor for determining target device type of a Virtex-5 bitstream. More...
class  V5BitstreamReader
 Loads Virtex-5 bitstream raw data. More...
class  V5BitstreamSyntaxChecker
 Visitor for checking syntax of a Virtex-5 bitstream. More...
class  V5BitstreamXMLWriter
 Writes a Virtex-5 bitstream into XML. More...
class  V5PacketVisitor
 Visitor base class for Virtex-5 bitstream packets. More...
class  CfgDecoder
 Decodes configuration data by using a configuration data base. More...
class  V5AddressLayout
 Configuration address layout of a Virtex-5 device. More...
class  V5AddressLayoutRegistry
 A registry to hold and lookup V5AddressLayout instances. More...
class  V5CfgFrame
 Holds a configuration frame of a Virtex-5 device. More...
class  V5Configuration
 Configuration of a Virtex-5 device. More...
class  V5FrameAddress
 Models an address in Virtex-5 configuration memory. More...
class  CfgExtractor
 Extracts data from configuration. More...
class  V5CfgExtractor
 Extracts data from a Virtex-5 configuration. More...
class  V5CfgTileMap
 Holds V5CfgTileMapEntry instances for a grid of tiles. More...
struct  V5CfgTileMapEntry
 Denotes a tiles associated configuration data chunk. More...
class  CorrelationUnit
 Holds a data unit for correlation. More...
class  Correlator
 Correlates the data of a Design with its binary configuration data. More...
class  XDLExtractor
 Extracts a list of correlation units from a XDL design. More...
class  DeviceRegistry
 A registry associating device IDs with their names and vice versa. More...
class  CommandLineException
 Exception for command line errors. More...
class  Exception
 Base exception class. More...
class  IOException
 Exception for I/O errors. More...
class  DeviceCfgDb
 Holds a device's configuration bit mapping. More...
class  DeviceCfgDbFiller
 Fills a DeviceCfgDb with initial data. More...
class  DeviceCfgDbStats
 Prints statistics of a DeviceCfgDb. More...
class  PIPBitValue
 The value of a PIPs associated configuration bits. More...
class  PIPControlSet
 A set of interdependent PIPs. More...
class  TileTypeCfgDb
 Holds configuration bit mapping of a tile type. More...
class  Register
 Abstract base class for packet processor's registers. More...
class  RegisterLookup
 A lookup table for registers. More...
class  V5CMDRegister
 A register for executing commands. More...
class  V5CRCRegister
 A register for doing cyclic redundancy checks. More...
class  V5FARRegister
 A register holding a frame address. More...
class  V5FDRIRegister
 A register for storing configuration data. More...
class  V5IDCODERegister
 A register for setting/checking the target device type. More...
class  V5MFWRRegister
 Register for use with bitstream compression. More...
class  V5PacketProcessor
 Executes bitstreams in order to get their configuration data. More...
class  WordRegister
 A standard register containing a 32 bit word. More...
class  StreamTokenizer
 Reads data from a stream and returns it token by token. More...
class  XMLWriter
 A simple XML stream writer. More...
class  Design
 Models a XDL design. More...
class  Instance
 Defines a XDL instance. More...
class  Net
 Defines a XDL net. More...
class  PinRef
 References a pin on a distinct primitive site. More...
class  PIPRef
 References a PIP on a distinct tile. More...
class  XDLParser
 Parser for XDL text file format. More...
class  Device
 Models the topmost XDLRC entity. More...
class  Element
 An element of a primitive. More...
class  Pin
 A pin of a primitive. More...
class  PinWire
 Attaches a tile wire to a pin of a primitive site. More...
class  PIP
 A programmable interface point. More...
class  PrimitiveSite
 A primitive site. More...
class  PrimitiveSiteType
 Per TileType data of a primitive site. More...
class  PrimitiveType
 A primitive type. More...
class  Tile
 Per instance data of tiles. More...
class  TileType
 Tile type data. More...
class  Wire
 Describes a wire. More...
class  WireConnection
 A connection to a wire on a tile. More...
class  XDLRCParser
 Parser for XDLRC text file format. More...
class  TileLookup2D
 A 2-dimensional lookup for tiles. More...

Typedefs

typedef std::vector
< V5CfgColumn::column_t
V5CfgColumnSequence
 V5CfgColumnSequence holds a sequence of column types.
typedef std::vector
< CorrelationUnit
CorrelationUnits
 A list of CorrelationUnits.
typedef std::vector< size_t > TileIndices
 A list with tile indices.
typedef std::vector< PIPBitValuePIPBitValues
 A list of PIPBitValue instances.
typedef std::vector< size_t > BitPositions
typedef std::vector
< PIPControlSet
PIPControlSets
 A list of PIPControlSet instances.
typedef std::vector
< TileTypeCfgDb
TileTypeCfgDbs
 A list of TileTypeCfgDb instances.
typedef std::vector< InstanceInstances
 An ordered list of Instance.
typedef std::vector< NetNets
 An ordered list of Nets.
typedef std::vector< PinRefPinRefs
 An ordered list of PinRefs.
typedef std::vector< PIPRefPIPRefs
 An ordered list of PIPRefs.
typedef std::vector< std::string > ConfigurationOptions
 An ordered list of configuration options.
typedef std::vector< ElementElements
 An ordered list of elements.
typedef std::vector< PinPins
 An ordered list of pins.
typedef std::vector< PinWirePinWires
 An ordered list of pin wires.
typedef std::vector< PIPPIPs
 An ordered list of PIPs.
typedef std::vector
< PrimitiveSite
PrimitiveSites
 An ordered list of primitive sites.
typedef std::vector
< PrimitiveSiteType
PrimitiveSiteTypes
 An ordered list of primitive site types.
typedef std::vector
< PrimitiveType
PrimitiveTypes
 An ordered list of primitive types.
typedef std::vector< TileTiles
 An ordered list of tiles.
typedef std::vector< TileTypeTileTypes
 An ordered list of tile types.
typedef std::vector< WireWires
 An ordered list of wires.
typedef std::vector
< WireConnection
WireConnections
 An ordered list of connections.

Functions

void readBitfile (BitFileData &bfd, std::istream &inputStream)
 Reads bitfile data from stream.
void writeBitfile (const BitFileData &bfd, std::ostream &outputStream)
 Writes data in bitfile format to a stream.
void writeBitFileMetaXML (const BitFileData &bfd, XMLWriter &xmlWriter)
 Writes bitfile meta data out to XML using a given XML writer.
size_t isBuswidthPattern (const boost::uint32_t *words, size_t wordCount)
 Tells if some data starts with a buswidth pattern.
size_t writeBuswidthPattern (boost::uint32_t *words, size_t wordCount)
 Writes out a buswidth pattern as raw data.
Packetnew_clone (const Packet &src)
 Creates a polymorphic copy of a packet.
size_t isSyncWord (const boost::uint32_t *words, size_t wordCount)
 Tells if some data starts with a sync word.
size_t writeSyncWord (boost::uint32_t *words, size_t wordCount)
 Writes out a sync word as raw data.
size_t isType1Packet (const boost::uint32_t *words, size_t wordCount)
 Tells if some data starts with type 1 packet raw data.
size_t type1PacketWordCount (const Type1Packet &type1Packet)
 Gets raw data size of a packet.
size_t writeType1Packet (const Type1Packet &type1Packet, boost::uint32_t *words, size_t wordCount)
 Writes out a type 1 packet as raw data.
size_t readType1Packet (Type1Packet &type1Packet, const boost::uint32_t *words, size_t wordCount)
 Reads in a type 1 packet from raw data.
size_t isType2Packet (const boost::uint32_t *words, size_t wordCount)
 Tells if some data starts with type 2 packet raw data.
size_t type2PacketWordCount (const Type2Packet &type2Packet)
 Gets raw data size of a packet.
size_t writeType2Packet (const Type2Packet &type2Packet, boost::uint32_t *words, size_t wordCount)
 Writes out a type 2 packet as raw data.
size_t readType2Packet (Type2Packet &type2Packet, const boost::uint32_t *words, size_t wordCount)
 Reads in a type 2 packet from raw data.
DeviceID::ID_t detectV5DeviceType (Bitstream &bitstream)
 Detects target device type of a Virtex-5 bitstream.
void readV5Bitstream (Bitstream &bitstream, const boost::uint32_t *words, size_t wordCount)
 Loads Virtex-5 bitstream raw data.
void writeV5BitstreamXML (XMLWriter &xmlWriter, const Bitstream &bs)
 Writes a Virtex-5 bitstream into XML.
void printPIPs (const PIPRefs &pipRefs, const Device &device, std::ostream &outputStream)
 Prints out the given PIPs as a text list.
bool operator== (const V5AddressLayout &al1, const V5AddressLayout &al2)
 Tests two V5AddressLayout instances for memberwise equality.
bool operator!= (const V5AddressLayout &al1, const V5AddressLayout &al2)
 Tests two V5AddressLayout instances for memberwise inequality.
void dumpConfiguration (const V5Configuration &cfg, std::ostream &cfgOut, std::ostream &indexOut)
 Writes all frames in a V5Configuration to a stream.
bool operator== (const V5FrameAddress &fa1, const V5FrameAddress &fa2)
 Tests two V5FrameAddress instances for memberwise equality.
bool operator!= (const V5FrameAddress &fa1, const V5FrameAddress &fa2)
 Tests two V5FrameAddress instances for memberwise inequality.
bool operator< (const V5FrameAddress &fa1, const V5FrameAddress &fa2)
 Tests two V5FrameAddress instances for memberwise <.
bool operator> (const V5FrameAddress &fa1, const V5FrameAddress &fa2)
 Tests two V5FrameAddress instances for memberwise >
bool operator<= (const V5FrameAddress &fa1, const V5FrameAddress &fa2)
 Tests two V5FrameAddress instances for memberwise <=.
bool operator>= (const V5FrameAddress &fa1, const V5FrameAddress &fa2)
 Tests two V5FrameAddress instances for memberwise >=.
std::string toRawAddressString (const V5FrameAddress &address)
 Gets a raw address string representation of the frame address.
std::string toExpandedString (const V5FrameAddress &address)
 Gets a string expanded representation of the frame address.
std::string toSymbolicString (const V5FrameAddress &address)
 Gets a symbolic string representation of the frame address.
size_t getCfgDataWordCount (const V5CfgTileMapEntry &where)
 Gets number of words a V5CfgTileMapEntry references.
size_t getCfgData (boost::uint32_t *data, size_t dataWordCount, const V5Configuration &src, const V5CfgTileMapEntry &where)
 Gets configuration data referenced by a V5CfgTileMapEntry.
std::string removePackageAndSpeed (const char *deviceName)
 Removes package name and speed grade (if present) from a device name.
std::string removeSpeed (const char *deviceName)
 Removes speed grade (if present) from a device name.
bool operator== (const PIPBitValue &val1, const PIPBitValue &val2)
 Tests two PIPBitValue instances for memberwise equality.
bool operator!= (const PIPBitValue &val1, const PIPBitValue &val2)
 Tests two PIPBitValue instances for memberwise inequality.
bool operator< (const PIPBitValue &val1, const PIPBitValue &val2)
 Tests two PIPBitValue instances for memberwise <.
bool operator> (const PIPBitValue &val1, const PIPBitValue &val2)
 Tests two PIPBitValue instances for memberwise >
bool operator<= (const PIPBitValue &val1, const PIPBitValue &val2)
 Tests two PIPBitValue instances for memberwise <=.
bool operator>= (const PIPBitValue &val1, const PIPBitValue &val2)
 Tests two PIPBitValue instances for memberwise >=.
void writeBinary (const Device &data, std::ostream &outputStream)
 Writes data from a Device into a binary stream.
void readBinary (Device &data, std::istream &inputStream)
 Reads data into a Device from a binary stream.
void writeBinary (const DeviceCfgDb &data, std::ostream &outputStream)
 Writes data from a DeviceCfgDb into a binary stream.
void readBinary (DeviceCfgDb &data, std::istream &inputStream)
 Reads data into a DeviceCfgDb from a binary stream.
void writeBinary (const DeviceRegistry &data, std::ostream &outputStream)
 Writes data from a DeviceRegistry into a binary stream.
void readBinary (DeviceRegistry &data, std::istream &inputStream)
 Reads data into a DeviceRegistry from a binary stream.
void writeBinary (const Element &data, std::ostream &outputStream)
 Writes data from a Element into a binary stream.
void readBinary (Element &data, std::istream &inputStream)
 Reads data into a Element from a binary stream.
void writeBinary (const Pin &data, std::ostream &outputStream)
 Writes data from a Pin into a binary stream.
void readBinary (Pin &data, std::istream &inputStream)
 Reads data into a Pin from a binary stream.
void writeBinary (const PinWire &data, std::ostream &outputStream)
 Writes data from a PinWire into a binary stream.
void readBinary (PinWire &data, std::istream &inputStream)
 Reads data into a PinWire from a binary stream.
void writeBinary (const PIPBitValue &data, std::ostream &outputStream)
 Writes data from a PIPBitValue into a binary stream.
void readBinary (PIPBitValue &data, std::istream &inputStream)
 Reads data into a PIPBitValue from a binary stream.
void writeBinary (const PIP &data, std::ostream &outputStream)
 Writes data from a PIP into a binary stream.
void readBinary (PIP &data, std::istream &inputStream)
 Reads data into a PIP from a binary stream.
void writeBinary (const PIPControlSet &data, std::ostream &outputStream)
 Writes data from a PIPControlSet into a binary stream.
void readBinary (PIPControlSet &data, std::istream &inputStream)
 Reads data into a PIPControlSet from a binary stream.
void writeBinary (const PrimitiveSite &data, std::ostream &outputStream)
 Writes data from a PrimitiveSite into a binary stream.
void readBinary (PrimitiveSite &data, std::istream &inputStream)
 Reads data into a PrimitiveSite from a binary stream.
void writeBinary (const PrimitiveSiteType &data, std::ostream &outputStream)
 Writes data from a PrimitiveSiteType into a binary stream.
void readBinary (PrimitiveSiteType &data, std::istream &inputStream)
 Reads data into a PrimitiveSiteType from a binary stream.
void writeBinary (const PrimitiveType &data, std::ostream &outputStream)
 Writes data from a PrimitiveType into a binary stream.
void readBinary (PrimitiveType &data, std::istream &inputStream)
 Reads data into a PrimitiveType from a binary stream.
void writeBinary (const Tile &data, std::ostream &outputStream)
 Writes data from a Tile into a binary stream.
void readBinary (Tile &data, std::istream &inputStream)
 Reads data into a Tile from a binary stream.
void writeBinary (const TileType &data, std::ostream &outputStream)
 Writes data from a TileType into a binary stream.
void readBinary (TileType &data, std::istream &inputStream)
 Reads data into a TileType from a binary stream.
void writeBinary (const TileTypeCfgDb &data, std::ostream &outputStream)
 Writes data from a TileTypeCfgDb into a binary stream.
void readBinary (TileTypeCfgDb &data, std::istream &inputStream)
 Reads data into a TileTypeCfgDb from a binary stream.
void writeBinary (const V5AddressLayout &data, std::ostream &outputStream)
 Writes data from a V5AddressLayout into a binary stream.
void readBinary (V5AddressLayout &data, std::istream &inputStream)
 Reads data into a V5AddressLayout from a binary stream.
void writeBinary (const V5CfgTileMap &data, std::ostream &outputStream)
 Writes data from a V5CfgTileMap into a binary stream.
void readBinary (V5CfgTileMap &data, std::istream &inputStream)
 Reads data into a V5CfgTileMap from a binary stream.
void writeBinary (const Wire &data, std::ostream &outputStream)
 Writes data from a Wire into a binary stream.
void readBinary (Wire &data, std::istream &inputStream)
 Reads data into a Wire from a binary stream.
void writeBinary (const WireConnection &data, std::ostream &outputStream)
 Writes data from a WireConnection into a binary stream.
void readBinary (WireConnection &data, std::istream &inputStream)
 Reads data into a WireConnection from a binary stream.
template<typename T >
boost::enable_if
< boost::is_pod< T >, void >
::type 
writeBinary (const T &data, std::ostream &outputStream)
 Writes POD data into a binary stream.
template<typename T >
boost::enable_if
< boost::is_pod< T >, void >
::type 
writeBinary (const std::vector< T > &data, std::ostream &outputStream)
 Writes POD data from a std::vector into a binary stream.
template<typename K , typename V , typename C , typename A >
void writeBinary (const std::map< K, V, C, A > &data, std::ostream &outputStream)
 Writes data from a std::map into a binary stream.
void writeBinary (const std::string &data, std::ostream &outputStream)
 Writes data from a std::string into a binary stream.
template<typename T >
boost::enable_if
< boost::is_pod< T >, void >
::type 
readBinary (T &data, std::istream &inputStream)
 Reads POD data from a binary stream.
template<typename T >
boost::enable_if
< boost::is_pod< T >, void >
::type 
readBinary (std::vector< T > &data, std::istream &inputStream)
 Reads POD data into a std::vector from a binary stream.
template<typename K , typename V , typename C , typename A >
void readBinary (std::map< K, V, C, A > &data, std::istream &inputStream)
 Reads data into a std::map from a binary stream.
void readBinary (std::string &data, std::istream &inputStream)
 Reads data into a std::string from a binary stream.
boost::uint32_t calc8BitCRC32 (boost::uint32_t oldCRC, boost::uint8_t data8Bit)
 Calculates the CRC32 value from 8 bit data and an initial value.
boost::uint32_t calc5BitCRC32 (boost::uint32_t oldCRC, boost::uint8_t data5Bit)
 Calculates the CRC32 value from 5 bit data and an initial value.
boost::uint16_t swapBigLittleEndian (const boost::uint16_t &x)
 Swaps given 16 bit value from big endian to little endian and vice versa (i.e. exchanges first octet for second).
boost::uint32_t swapBigLittleEndian (const boost::uint32_t &x)
 Swaps given 32 bit value from big endian to little endian and vice versa (i.e. exchanges first octet for fourth, and second for third).
boost::uint64_t swapBigLittleEndian (const boost::uint64_t &x)
 Swaps given 64 bit value from big endian to little endian and vice versa (i.e. exchanges first octet for eighth, second for seventh, third for sixth, and fourth for fifth).
template<typename type >
type swapBigEndian (const type &x)
 Swaps given value from big endian to endianess of the system and vice versa.
template<typename type >
type swapLittleEndian (const type &x)
 Swaps given value from little endian to endianess of the system and vice versa.
void printHex (std::ostream &os, boost::uint32_t word)
 Prints a 32 bit word in hexadecimal representation to a stream.
void printHex (std::ostream &os, const boost::uint32_t *words, size_t wordCount)
 Prints 32 bit words in hexadecimal representation to a stream.
std::string hexString (boost::uint32_t word)
 Gets hexadecimal string representation of a 32 bit word.
std::string hexString (const boost::uint32_t *words, size_t wordCount)
 Gets hexadecimal string representation of 32 bit words.
bool operator== (const PIPRef &ref1, const PIPRef &ref2)
 Tests two PIPRef instances for memberwise equality.
bool operator!= (const PIPRef &ref1, const PIPRef &ref2)
 Tests two PIPRef instances for memberwise inequality.
bool operator< (const PIPRef &ref1, const PIPRef &ref2)
 Tests two PIPRef instances for memberwise <.
bool operator> (const PIPRef &ref1, const PIPRef &ref2)
 Tests two PIPRef instances for memberwise >
bool operator<= (const PIPRef &ref1, const PIPRef &ref2)
 Tests two PIPRef instances for memberwise <=.
bool operator>= (const PIPRef &ref1, const PIPRef &ref2)
 Tests two PIPRef instances for memberwise >=.
std::string pipRefString (const PIPRef &pipRef, const Tiles &tiles, const TileTypes &tileTypes)
 Converts a PIPRef to a text representation.
bool operator== (const PinWire &pw1, const PinWire &pw2)
 Tests two PinWire instances for memberwise equality.
bool operator!= (const PinWire &pw1, const PinWire &pw2)
 Tests two PinWire instances for memberwise inequality.
bool operator== (const PIP &pip1, const PIP &pip2)
 Tests two PIP instances for memberwise equality.
bool operator!= (const PIP &pip1, const PIP &pip2)
 Tests two PIP instances for memberwise inequality.
bool operator< (const PIP &pip1, const PIP &pip2)
 Tests two PIP instances for memberwise <.
bool operator> (const PIP &pip1, const PIP &pip2)
 Tests two PIP instances for memberwise >
bool operator<= (const PIP &pip1, const PIP &pip2)
 Tests two PIP instances for memberwise <=.
bool operator>= (const PIP &pip1, const PIP &pip2)
 Tests two PIP instances for memberwise >=.
bool operator== (const WireConnection &c1, const WireConnection &c2)
 Tests two WireConnection instances for memberwise equality.
bool operator!= (const WireConnection &c1, const WireConnection &c2)
 Tests two WireConnection instances for memberwise inequality.
bool extractPosition (const char *name, unsigned &x, unsigned &y)
 Extracts the X and Y coordinate from a XDL(RC) name.
std::string pipString (const PIP &pip, const Wires &wires)
 Converts a PIP to a text representation.

Variables

const size_t BITFILE_HEADER_SIZE = 13
const boost::uint8_t BITFILE_HEADER [BITFILE_HEADER_SIZE]
const char BITFILE_KEY_SOURCEFILENAME = 'a'
const char BITFILE_KEY_TARGETDEVICENAME = 'b'
const char BITFILE_KEY_CREATIONDATE = 'c'
const char BITFILE_KEY_CREATIONTIME = 'd'
const char BITFILE_KEY_BITSTREAM = 'e'

Typedef Documentation

V5CfgColumnSequence holds a sequence of column types.

This sequence of column types defines a row. Since all rows inside a block do not differ, it defines also the whole resource grid for a block.

Definition at line 73 of file V5CfgColumn.hpp.

typedef std::vector<CorrelationUnit> bil::CorrelationUnits

A list of CorrelationUnits.

Definition at line 186 of file CorrelationUnit.hpp.

typedef std::vector<size_t> bil::TileIndices

A list with tile indices.

Definition at line 19 of file XDLExtractor.hpp.

typedef std::vector<PIPBitValue> bil::PIPBitValues

A list of PIPBitValue instances.

Definition at line 141 of file PIPBitValue.hpp.

typedef std::vector<size_t> bil::BitPositions

Definition at line 16 of file PIPControlSet.hpp.

typedef std::vector<PIPControlSet> bil::PIPControlSets

A list of PIPControlSet instances.

Definition at line 96 of file PIPControlSet.hpp.

typedef std::vector<TileTypeCfgDb> bil::TileTypeCfgDbs

A list of TileTypeCfgDb instances.

Definition at line 92 of file TileTypeCfgDb.hpp.

typedef std::vector<Instance> bil::Instances

An ordered list of Instance.

Definition at line 184 of file Instance.hpp.

typedef std::vector<Net> bil::Nets

An ordered list of Nets.

Definition at line 143 of file Net.hpp.

typedef std::vector<PinRef> bil::PinRefs

An ordered list of PinRefs.

Definition at line 90 of file PinRef.hpp.

typedef std::vector<PIPRef> bil::PIPRefs

An ordered list of PIPRefs.

Definition at line 132 of file PIPRef.hpp.

typedef std::vector<std::string> bil::ConfigurationOptions

An ordered list of configuration options.

Definition at line 18 of file Element.hpp.

typedef std::vector<Element> bil::Elements

An ordered list of elements.

Definition at line 96 of file Element.hpp.

typedef std::vector<Pin> bil::Pins

An ordered list of pins.

Definition at line 92 of file Pin.hpp.

typedef std::vector<PinWire> bil::PinWires

An ordered list of pin wires.

Definition at line 106 of file PinWire.hpp.

typedef std::vector<PIP> bil::PIPs

An ordered list of PIPs.

Definition at line 163 of file PIP.hpp.

typedef std::vector<PrimitiveSite> bil::PrimitiveSites

An ordered list of primitive sites.

Definition at line 92 of file PrimitiveSite.hpp.

An ordered list of primitive site types.

Definition at line 94 of file PrimitiveSiteType.hpp.

typedef std::vector<PrimitiveType> bil::PrimitiveTypes

An ordered list of primitive types.

Definition at line 129 of file PrimitiveType.hpp.

typedef std::vector<Tile> bil::Tiles

An ordered list of tiles.

Definition at line 177 of file Tile.hpp.

typedef std::vector<TileType> bil::TileTypes

An ordered list of tile types.

Definition at line 149 of file TileType.hpp.

typedef std::vector<Wire> bil::Wires

An ordered list of wires.

Definition at line 91 of file Wire.hpp.

typedef std::vector<WireConnection> bil::WireConnections

An ordered list of connections.

Definition at line 148 of file WireConnection.hpp.


Function Documentation

void bil::readBitfile ( BitFileData bfd,
std::istream &  inputStream 
)

Reads bitfile data from stream.

Parameters:
bfdBitFileData instance to read into.
inputStreamStream to read from.
Exceptions:
.

Definition at line 64 of file BitFileReader.cpp.

void bil::writeBitfile ( const BitFileData bfd,
std::ostream &  outputStream 
)

Writes data in bitfile format to a stream.

Parameters:
bfdData to write.
outputStreamStream to write into.
Exceptions:
.

Definition at line 47 of file BitFileWriter.cpp.

void bil::writeBitFileMetaXML ( const BitFileData bfd,
XMLWriter xmlWriter 
)

Writes bitfile meta data out to XML using a given XML writer.

Parameters:
xmlWriterXMLWriter instance to be used.
bfdThe bitfile data.
Exceptions:
.

Definition at line 19 of file BitFileXMLWriter.cpp.

size_t bil::isBuswidthPattern ( const boost::uint32_t *  words,
size_t  wordCount 
)

Tells if some data starts with a buswidth pattern.

Parameters:
wordsPointer to data.
wordCountNumber of data words.
Returns:
Returns 2, if data starts with buswidth pattern, 0 otherwise.

Definition at line 17 of file BuswidthPatternRawData.cpp.

size_t bil::writeBuswidthPattern ( boost::uint32_t *  words,
size_t  wordCount 
)

Writes out a buswidth pattern as raw data.

Parameters:
wordsPointer to buffer to write into.
wordCountNumber of words in buffer.
Returns:
Returns 2, i.e. number of words written.
Exceptions:
.

Definition at line 29 of file BuswidthPatternRawData.cpp.

Packet* bil::new_clone ( const Packet src)

Creates a polymorphic copy of a packet.

Parameters:
srcReference to packet to copy.
Returns:
Pointer to the copied instance.

Definition at line 17 of file Packet.cpp.

size_t bil::isSyncWord ( const boost::uint32_t *  words,
size_t  wordCount 
)

Tells if some data starts with a sync word.

Parameters:
wordsPointer to data.
wordCountNumber of data words.
Returns:
Returns 1, if data starts with sync word. Otherwise returns 0.

Definition at line 16 of file SyncWordRawData.cpp.

size_t bil::writeSyncWord ( boost::uint32_t *  words,
size_t  wordCount 
)

Writes out a sync word as raw data.

Parameters:
wordsPointer to buffer to write into.
wordCountNumber of words in buffer.
Returns:
Returns 1, i.e. number of words written.
Exceptions:
.

Definition at line 27 of file SyncWordRawData.cpp.

size_t bil::isType1Packet ( const boost::uint32_t *  words,
size_t  wordCount 
)

Tells if some data starts with type 1 packet raw data.

Parameters:
wordsPointer to data.
wordCountNumber of data words.
Returns:
Returns number of words the type 1 packet raw data occupies, if data starts with it. Otherwise returns 0.

Definition at line 24 of file Type1PacketRawData.cpp.

size_t bil::type1PacketWordCount ( const Type1Packet type1Packet)

Gets raw data size of a packet.

Parameters:
type1PacketThe type 1 packet in question.
Returns:
Number of packet raw data words.

Definition at line 41 of file Type1PacketRawData.cpp.

size_t bil::writeType1Packet ( const Type1Packet type1Packet,
boost::uint32_t *  words,
size_t  wordCount 
)

Writes out a type 1 packet as raw data.

Parameters:
type1PacketThe type 1 packet to be written.
wordsPointer to buffer to write into.
wordCountNumber of words in buffer.
Returns:
Number of words written.
Exceptions:
.

Definition at line 51 of file Type1PacketRawData.cpp.

size_t bil::readType1Packet ( Type1Packet type1Packet,
const boost::uint32_t *  words,
size_t  wordCount 
)

Reads in a type 1 packet from raw data.

Parameters:
type1PacketThe type 1 packet in which to read.
wordsPointer to type 1 raw data to read from.
wordCountNumber of data words.
Returns:
Number of words read.
Exceptions:
.

Definition at line 80 of file Type1PacketRawData.cpp.

size_t bil::isType2Packet ( const boost::uint32_t *  words,
size_t  wordCount 
)

Tells if some data starts with type 2 packet raw data.

Parameters:
wordsPointer to data.
wordCountNumber of data words.
Returns:
Returns number of words the type 2 packet raw data occupies, if data starts with it. Otherwise returns 0.

Definition at line 21 of file Type2PacketRawData.cpp.

size_t bil::type2PacketWordCount ( const Type2Packet type2Packet)

Gets raw data size of a packet.

Parameters:
type2PacketThe type 2 packet in question.
Returns:
Number of packet raw data words.

Definition at line 38 of file Type2PacketRawData.cpp.

size_t bil::writeType2Packet ( const Type2Packet type2Packet,
boost::uint32_t *  words,
size_t  wordCount 
)

Writes out a type 2 packet as raw data.

Parameters:
type2PacketThe type 2 packet to be written.
wordsPointer to buffer to write into.
wordCountNumber of words in buffer.
Returns:
Number of words written.
Exceptions:
.

Definition at line 48 of file Type2PacketRawData.cpp.

size_t bil::readType2Packet ( Type2Packet type2Packet,
const boost::uint32_t *  words,
size_t  wordCount 
)

Reads in a type 2 packet from raw data.

Parameters:
type2PacketThe type 2 packet in which to read.
wordsPointer to type 2 raw data to read from.
wordCountNumber of data words.
Returns:
Number of words read.
Exceptions:
.

Definition at line 75 of file Type2PacketRawData.cpp.

DeviceID::ID_t bil::detectV5DeviceType ( Bitstream bitstream)

Detects target device type of a Virtex-5 bitstream.

Convenience functions for using V5BitstreamDeviceDetector.

Exceptions:
.

Definition at line 63 of file V5BitstreamDeviceDetector.cpp.

void bil::readV5Bitstream ( Bitstream bitstream,
const boost::uint32_t *  words,
size_t  wordCount 
)

Loads Virtex-5 bitstream raw data.

Convenience functions for using V5BitstreamReader.

Parameters:
bitstreamBitstream instance to load packets into.
wordsPointer to data words to load.
wordCountNumber of data words to load.
Exceptions:
.

Definition at line 123 of file V5BitstreamReader.cpp.

void bil::writeV5BitstreamXML ( XMLWriter xmlWriter,
const Bitstream bs 
)

Writes a Virtex-5 bitstream into XML.

Convenience functions for using V5BitstreamXMLWriter.

Parameters:
xmlWriterThe XMLWriter instance to be used for writing.
bsBitstream to be written.
Exceptions:
.

Definition at line 148 of file V5BitstreamXMLWriter.cpp.

void bil::printPIPs ( const PIPRefs pipRefs,
const Device device,
std::ostream &  outputStream 
)

Prints out the given PIPs as a text list.

Parameters:
pipRefsThe PIPs to print out.
deviceThe device the PIPs are on.
outputStreamStream to print on.
Exceptions:
.

Definition at line 11 of file CfgPrint.cpp.

bool bil::operator== ( const V5AddressLayout &  al1,
const V5AddressLayout &  al2 
)
inline

Tests two V5AddressLayout instances for memberwise equality.

Definition at line 181 of file V5AddressLayout.hpp.

bool bil::operator!= ( const V5AddressLayout &  al1,
const V5AddressLayout &  al2 
)
inline

Tests two V5AddressLayout instances for memberwise inequality.

Definition at line 190 of file V5AddressLayout.hpp.

void bil::dumpConfiguration ( const V5Configuration cfg,
std::ostream &  cfgOut,
std::ostream &  indexOut 
)

Writes all frames in a V5Configuration to a stream.

Parameters:
cfgV5Configuration instance which contents to be dumped.
cfgOutStream to write the frame data into.
indexOutStream to write textual frame offsets into.
Exceptions:
.

Definition at line 15 of file V5ConfigurationDump.cpp.

bool bil::operator== ( const V5FrameAddress &  fa1,
const V5FrameAddress &  fa2 
)
inline

Tests two V5FrameAddress instances for memberwise equality.

Definition at line 261 of file V5FrameAddress.hpp.

bool bil::operator!= ( const V5FrameAddress &  fa1,
const V5FrameAddress &  fa2 
)
inline

Tests two V5FrameAddress instances for memberwise inequality.

Definition at line 271 of file V5FrameAddress.hpp.

bool bil::operator< ( const V5FrameAddress &  fa1,
const V5FrameAddress &  fa2 
)
inline

Tests two V5FrameAddress instances for memberwise <.

Definition at line 278 of file V5FrameAddress.hpp.

bool bil::operator> ( const V5FrameAddress &  fa1,
const V5FrameAddress &  fa2 
)
inline

Tests two V5FrameAddress instances for memberwise >

Definition at line 288 of file V5FrameAddress.hpp.

bool bil::operator<= ( const V5FrameAddress &  fa1,
const V5FrameAddress &  fa2 
)
inline

Tests two V5FrameAddress instances for memberwise <=.

Definition at line 294 of file V5FrameAddress.hpp.

bool bil::operator>= ( const V5FrameAddress &  fa1,
const V5FrameAddress &  fa2 
)
inline

Tests two V5FrameAddress instances for memberwise >=.

Definition at line 300 of file V5FrameAddress.hpp.

std::string bil::toRawAddressString ( const V5FrameAddress address)

Gets a raw address string representation of the frame address.

Returns:
Returns a hexadecimal string denoting the raw frame address.

Definition at line 17 of file V5FrameAddressString.cpp.

std::string bil::toExpandedString ( const V5FrameAddress address)

Gets a string expanded representation of the frame address.

Returns:
Returns a string consisting of the five integer address parts separated by space.

Definition at line 26 of file V5FrameAddressString.cpp.

std::string bil::toSymbolicString ( const V5FrameAddress address)

Gets a symbolic string representation of the frame address.

Returns:
Returns a string consisting of the five integer address parts separated by space, whereas the block index and the upper half flag are represented by names rather than integers.

Definition at line 38 of file V5FrameAddressString.cpp.

size_t bil::getCfgDataWordCount ( const V5CfgTileMapEntry where)

Gets number of words a V5CfgTileMapEntry references.

Parameters:
whereA V5CfgTileMapEntry referencing configuration data.
Returns:
The number of words referenced.

Definition at line 26 of file V5CfgTileMapEntry.cpp.

size_t bil::getCfgData ( boost::uint32_t *  data,
size_t  dataWordCount,
const V5Configuration src,
const V5CfgTileMapEntry where 
)

Gets configuration data referenced by a V5CfgTileMapEntry.

Parameters:
dataAddress of buffer to copy in.
dataWordCountSize of buffer in words.
srcThe configuration data from which to copy.
whereA V5CfgTileMapEntry referencing configuration data.
Returns:
The number of words copied to given buffer.

Definition at line 37 of file V5CfgTileMapEntry.cpp.

std::string bil::removePackageAndSpeed ( const char *  deviceName)

Removes package name and speed grade (if present) from a device name.

Parameters:
deviceNameDevice name to shorten.
Returns:
Device name without package name or speed grade.

Definition at line 13 of file DeviceNameUtil.cpp.

std::string bil::removeSpeed ( const char *  deviceName)

Removes speed grade (if present) from a device name.

Parameters:
deviceNameDevice name to shorten.
Returns:
Device name without speed grade.

Definition at line 26 of file DeviceNameUtil.cpp.

bool bil::operator== ( const PIPBitValue &  val1,
const PIPBitValue &  val2 
)
inline

Tests two PIPBitValue instances for memberwise equality.

Definition at line 101 of file PIPBitValue.hpp.

bool bil::operator!= ( const PIPBitValue &  val1,
const PIPBitValue &  val2 
)
inline

Tests two PIPBitValue instances for memberwise inequality.

Definition at line 108 of file PIPBitValue.hpp.

bool bil::operator< ( const PIPBitValue &  val1,
const PIPBitValue &  val2 
)
inline

Tests two PIPBitValue instances for memberwise <.

Definition at line 115 of file PIPBitValue.hpp.

bool bil::operator> ( const PIPBitValue &  val1,
const PIPBitValue &  val2 
)
inline

Tests two PIPBitValue instances for memberwise >

Definition at line 122 of file PIPBitValue.hpp.

bool bil::operator<= ( const PIPBitValue &  val1,
const PIPBitValue &  val2 
)
inline

Tests two PIPBitValue instances for memberwise <=.

Definition at line 128 of file PIPBitValue.hpp.

bool bil::operator>= ( const PIPBitValue &  val1,
const PIPBitValue &  val2 
)
inline

Tests two PIPBitValue instances for memberwise >=.

Definition at line 134 of file PIPBitValue.hpp.

void bil::writeBinary ( const Device data,
std::ostream &  outputStream 
)

Writes data from a Device into a binary stream.

Parameters:
dataThe Device to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file DeviceBS.cpp.

void bil::readBinary ( Device data,
std::istream &  inputStream 
)

Reads data into a Device from a binary stream.

Parameters:
dataThe Device to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 22 of file DeviceBS.cpp.

void bil::writeBinary ( const DeviceCfgDb data,
std::ostream &  outputStream 
)

Writes data from a DeviceCfgDb into a binary stream.

Parameters:
dataThe DeviceCfgDb to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file DeviceCfgDbBS.cpp.

void bil::readBinary ( DeviceCfgDb data,
std::istream &  inputStream 
)

Reads data into a DeviceCfgDb from a binary stream.

Parameters:
dataThe DeviceCfgDb to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 19 of file DeviceCfgDbBS.cpp.

void bil::writeBinary ( const DeviceRegistry data,
std::ostream &  outputStream 
)

Writes data from a DeviceRegistry into a binary stream.

Parameters:
dataThe DeviceRegistry to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file DeviceRegistryBS.cpp.

void bil::readBinary ( DeviceRegistry data,
std::istream &  inputStream 
)

Reads data into a DeviceRegistry from a binary stream.

Parameters:
dataThe DeviceRegistry to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 19 of file DeviceRegistryBS.cpp.

void bil::writeBinary ( const Element data,
std::ostream &  outputStream 
)

Writes data from a Element into a binary stream.

Parameters:
dataThe Element to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file ElementBS.cpp.

void bil::readBinary ( Element data,
std::istream &  inputStream 
)

Reads data into a Element from a binary stream.

Parameters:
dataThe Element to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file ElementBS.cpp.

void bil::writeBinary ( const Pin data,
std::ostream &  outputStream 
)

Writes data from a Pin into a binary stream.

Parameters:
dataThe Pin to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PinBS.cpp.

void bil::readBinary ( Pin data,
std::istream &  inputStream 
)

Reads data into a Pin from a binary stream.

Parameters:
dataThe Pin to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file PinBS.cpp.

void bil::writeBinary ( const PinWire data,
std::ostream &  outputStream 
)

Writes data from a PinWire into a binary stream.

Parameters:
dataThe PinWire to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PinWireBS.cpp.

void bil::readBinary ( PinWire data,
std::istream &  inputStream 
)

Reads data into a PinWire from a binary stream.

Parameters:
dataThe PinWire to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file PinWireBS.cpp.

void bil::writeBinary ( const PIPBitValue data,
std::ostream &  outputStream 
)

Writes data from a PIPBitValue into a binary stream.

Parameters:
dataThe PIPBitValue to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PIPBitValueBS.cpp.

void bil::readBinary ( PIPBitValue data,
std::istream &  inputStream 
)

Reads data into a PIPBitValue from a binary stream.

Parameters:
dataThe PIPBitValue to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file PIPBitValueBS.cpp.

void bil::writeBinary ( const PIP data,
std::ostream &  outputStream 
)

Writes data from a PIP into a binary stream.

Parameters:
dataThe PIP to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PIPBS.cpp.

void bil::readBinary ( PIP data,
std::istream &  inputStream 
)

Reads data into a PIP from a binary stream.

Parameters:
dataThe PIP to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 21 of file PIPBS.cpp.

void bil::writeBinary ( const PIPControlSet data,
std::ostream &  outputStream 
)

Writes data from a PIPControlSet into a binary stream.

Parameters:
dataThe PIPControlSet to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PIPControlSetBS.cpp.

void bil::readBinary ( PIPControlSet data,
std::istream &  inputStream 
)

Reads data into a PIPControlSet from a binary stream.

Parameters:
dataThe PIPControlSet to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file PIPControlSetBS.cpp.

void bil::writeBinary ( const PrimitiveSite data,
std::ostream &  outputStream 
)

Writes data from a PrimitiveSite into a binary stream.

Parameters:
dataThe PrimitiveSite to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PrimitiveSiteBS.cpp.

void bil::readBinary ( PrimitiveSite data,
std::istream &  inputStream 
)

Reads data into a PrimitiveSite from a binary stream.

Parameters:
dataThe PrimitiveSite to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file PrimitiveSiteBS.cpp.

void bil::writeBinary ( const PrimitiveSiteType data,
std::ostream &  outputStream 
)

Writes data from a PrimitiveSiteType into a binary stream.

Parameters:
dataThe PrimitiveSiteType to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PrimitiveSiteTypeBS.cpp.

void bil::readBinary ( PrimitiveSiteType data,
std::istream &  inputStream 
)

Reads data into a PrimitiveSiteType from a binary stream.

Parameters:
dataThe PrimitiveSiteType to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file PrimitiveSiteTypeBS.cpp.

void bil::writeBinary ( const PrimitiveType data,
std::ostream &  outputStream 
)

Writes data from a PrimitiveType into a binary stream.

Parameters:
dataThe PrimitiveType to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file PrimitiveTypeBS.cpp.

void bil::readBinary ( PrimitiveType data,
std::istream &  inputStream 
)

Reads data into a PrimitiveType from a binary stream.

Parameters:
dataThe PrimitiveType to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 22 of file PrimitiveTypeBS.cpp.

void bil::writeBinary ( const Tile data,
std::ostream &  outputStream 
)

Writes data from a Tile into a binary stream.

Parameters:
dataThe Tile to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file TileBS.cpp.

void bil::readBinary ( Tile data,
std::istream &  inputStream 
)

Reads data into a Tile from a binary stream.

Parameters:
dataThe Tile to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 25 of file TileBS.cpp.

void bil::writeBinary ( const TileType data,
std::ostream &  outputStream 
)

Writes data from a TileType into a binary stream.

Parameters:
dataThe TileType to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file TileTypeBS.cpp.

void bil::readBinary ( TileType data,
std::istream &  inputStream 
)

Reads data into a TileType from a binary stream.

Parameters:
dataThe TileType to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 23 of file TileTypeBS.cpp.

void bil::writeBinary ( const TileTypeCfgDb data,
std::ostream &  outputStream 
)

Writes data from a TileTypeCfgDb into a binary stream.

Parameters:
dataThe TileTypeCfgDb to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file TileTypeCfgDbBS.cpp.

void bil::readBinary ( TileTypeCfgDb data,
std::istream &  inputStream 
)

Reads data into a TileTypeCfgDb from a binary stream.

Parameters:
dataThe TileTypeCfgDb to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file TileTypeCfgDbBS.cpp.

void bil::writeBinary ( const V5AddressLayout data,
std::ostream &  outputStream 
)

Writes data from a V5AddressLayout into a binary stream.

Parameters:
dataThe V5AddressLayout to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file V5AddressLayoutBS.cpp.

void bil::readBinary ( V5AddressLayout data,
std::istream &  inputStream 
)

Reads data into a V5AddressLayout from a binary stream.

Parameters:
dataThe V5AddressLayout to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 21 of file V5AddressLayoutBS.cpp.

void bil::writeBinary ( const V5CfgTileMap data,
std::ostream &  outputStream 
)

Writes data from a V5CfgTileMap into a binary stream.

Parameters:
dataThe V5CfgTileMap to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file V5CfgTileMapBS.cpp.

void bil::readBinary ( V5CfgTileMap data,
std::istream &  inputStream 
)

Reads data into a V5CfgTileMap from a binary stream.

Parameters:
dataThe V5CfgTileMap to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 21 of file V5CfgTileMapBS.cpp.

void bil::writeBinary ( const Wire data,
std::ostream &  outputStream 
)

Writes data from a Wire into a binary stream.

Parameters:
dataThe Wire to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file WireBS.cpp.

void bil::readBinary ( Wire data,
std::istream &  inputStream 
)

Reads data into a Wire from a binary stream.

Parameters:
dataThe Wire to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 20 of file WireBS.cpp.

void bil::writeBinary ( const WireConnection data,
std::ostream &  outputStream 
)

Writes data from a WireConnection into a binary stream.

Parameters:
dataThe WireConnection to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 13 of file WireConnectionBS.cpp.

void bil::readBinary ( WireConnection data,
std::istream &  inputStream 
)

Reads data into a WireConnection from a binary stream.

Parameters:
dataThe WireConnection to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 22 of file WireConnectionBS.cpp.

template<typename T >
boost::enable_if<boost::is_pod<T>, void>::type bil::writeBinary ( const T &  data,
std::ostream &  outputStream 
)
inline

Writes POD data into a binary stream.

Template Parameters:
TType of the data.
Parameters:
dataThe data to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 31 of file BinarySerialization.hpp.

template<typename T >
boost::disable_if< boost::is_pod< T >, void >::type bil::writeBinary ( const std::vector< T > &  data,
std::ostream &  outputStream 
)
inline

Writes POD data from a std::vector into a binary stream.

Writes non-POD data from a std::vector into a binary stream.

Template Parameters:
TType of the data inside vector.
Parameters:
dataThe vector to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 47 of file BinarySerialization.hpp.

template<typename K , typename V , typename C , typename A >
void bil::writeBinary ( const std::map< K, V, C, A > &  data,
std::ostream &  outputStream 
)
inline

Writes data from a std::map into a binary stream.

Template Parameters:
KType of map keys.
VType of map values.
Parameters:
dataThe map to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 90 of file BinarySerialization.hpp.

void bil::writeBinary ( const std::string &  data,
std::ostream &  outputStream 
)

Writes data from a std::string into a binary stream.

Strings longer than 255 chars are truncated to that length.

Parameters:
dataThe string to write.
outputStreamThe stream to write into.
Exceptions:
.

Definition at line 12 of file BinarySerialization.cpp.

template<typename T >
boost::enable_if<boost::is_pod<T>, void>::type bil::readBinary ( T &  data,
std::istream &  inputStream 
)
inline

Reads POD data from a binary stream.

Template Parameters:
TType of the data.
Parameters:
dataThe data to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 125 of file BinarySerialization.hpp.

template<typename T >
boost::disable_if< boost::is_pod< T >, void >::type bil::readBinary ( std::vector< T > &  data,
std::istream &  inputStream 
)
inline

Reads POD data into a std::vector from a binary stream.

Reads non-POD data into a std::vector from a binary stream.

Template Parameters:
TType of the data inside vector.
Parameters:
dataThe vector to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 141 of file BinarySerialization.hpp.

template<typename K , typename V , typename C , typename A >
void bil::readBinary ( std::map< K, V, C, A > &  data,
std::istream &  inputStream 
)
inline

Reads data into a std::map from a binary stream.

Template Parameters:
KType of map keys.
VType of map values.
Parameters:
dataThe map to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 186 of file BinarySerialization.hpp.

void bil::readBinary ( std::string &  data,
std::istream &  inputStream 
)

Reads data into a std::string from a binary stream.

Parameters:
dataThe string to read into.
inputStreamThe stream to read from.
Exceptions:
.

Definition at line 30 of file BinarySerialization.cpp.

boost::uint32_t bil::calc8BitCRC32 ( boost::uint32_t  oldCRC,
boost::uint8_t  data8Bit 
)

Calculates the CRC32 value from 8 bit data and an initial value.

The algorithm uses 0x82f63b78 as generator polynomial, i.e. the reversed Castagnoli polynomial (0x1edc6f41).

Parameters:
oldCRCinitial value for CRC
data8Bit8 bit of data
Returns:
CRC value of given data.

Definition at line 73 of file CRC32.cpp.

boost::uint32_t bil::calc5BitCRC32 ( boost::uint32_t  oldCRC,
boost::uint8_t  data5Bit 
)

Calculates the CRC32 value from 5 bit data and an initial value.

The algorithm uses 0x82f63b78 as generator polynomial, i.e. the reversed Castagnoli polynomial (0x1edc6f41).

Parameters:
oldCRCinitial value for CRC
data5Bit5 bit of data
Returns:
CRC value of given data.

Definition at line 79 of file CRC32.cpp.

boost::uint16_t bil::swapBigLittleEndian ( const boost::uint16_t &  x)
inline

Swaps given 16 bit value from big endian to little endian and vice versa (i.e. exchanges first octet for second).

Parameters:
xThe value.
Returns:
The endianess swapped value.

Definition at line 21 of file EndianConversion.hpp.

boost::uint32_t bil::swapBigLittleEndian ( const boost::uint32_t &  x)
inline

Swaps given 32 bit value from big endian to little endian and vice versa (i.e. exchanges first octet for fourth, and second for third).

Parameters:
xThe value.
Returns:
The endianess swapped value.

Definition at line 33 of file EndianConversion.hpp.

boost::uint64_t bil::swapBigLittleEndian ( const boost::uint64_t &  x)
inline

Swaps given 64 bit value from big endian to little endian and vice versa (i.e. exchanges first octet for eighth, second for seventh, third for sixth, and fourth for fifth).

Parameters:
xThe value.
Returns:
The endianess swapped value.

Definition at line 48 of file EndianConversion.hpp.

template<typename type >
type bil::swapBigEndian ( const type &  x)
inline

Swaps given value from big endian to endianess of the system and vice versa.

Parameters:
xThe big endian value.
Returns:
The converted value.

Definition at line 68 of file EndianConversion.hpp.

template<typename type >
type bil::swapLittleEndian ( const type &  x)
inline

Swaps given value from little endian to endianess of the system and vice versa.

Parameters:
xThe little endian value.
Returns:
The converted value.

Definition at line 86 of file EndianConversion.hpp.

void bil::printHex ( std::ostream &  os,
boost::uint32_t  word 
)

Prints a 32 bit word in hexadecimal representation to a stream.

The hexadecimal representation will have a fixed width of 8 digits (unused digits will be zero) and be prefixed with 0x.

Parameters:
osStream to print in.
wordWord to print.

Definition at line 13 of file HexPrint.cpp.

void bil::printHex ( std::ostream &  os,
const boost::uint32_t *  words,
size_t  wordCount 
)

Prints 32 bit words in hexadecimal representation to a stream.

The hexadecimal representation will have a fixed width of 8 digits (unused digits will be zero) and be prefixed with 0x.

Parameters:
osStream to print in.
wordsPointer to words to print.
wordCountNumber of words to print.

Definition at line 21 of file HexPrint.cpp.

std::string bil::hexString ( boost::uint32_t  word)

Gets hexadecimal string representation of a 32 bit word.

The hexadecimal representation will have a fixed width of 8 digits (unused digits will be zero) and be prefixed with 0x.

Parameters:
wordWord to print.
Returns:
The hexadecimal string.

Definition at line 34 of file HexPrint.cpp.

std::string bil::hexString ( const boost::uint32_t *  words,
size_t  wordCount 
)

Gets hexadecimal string representation of 32 bit words.

The hexadecimal representation will have a fixed width of 8 digits (unused digits will be zero) and be prefixed with 0x.

Parameters:
wordsPointer to words to print.
wordCountNumber of words to print.
Returns:
The hexadecimal string.

Definition at line 44 of file HexPrint.cpp.

bool bil::operator== ( const PIPRef &  ref1,
const PIPRef &  ref2 
)
inline

Tests two PIPRef instances for memberwise equality.

Definition at line 91 of file PIPRef.hpp.

bool bil::operator!= ( const PIPRef &  ref1,
const PIPRef &  ref2 
)
inline

Tests two PIPRef instances for memberwise inequality.

Definition at line 98 of file PIPRef.hpp.

bool bil::operator< ( const PIPRef &  ref1,
const PIPRef &  ref2 
)
inline

Tests two PIPRef instances for memberwise <.

Definition at line 105 of file PIPRef.hpp.

bool bil::operator> ( const PIPRef &  ref1,
const PIPRef &  ref2 
)
inline

Tests two PIPRef instances for memberwise >

Definition at line 113 of file PIPRef.hpp.

bool bil::operator<= ( const PIPRef &  ref1,
const PIPRef &  ref2 
)
inline

Tests two PIPRef instances for memberwise <=.

Definition at line 119 of file PIPRef.hpp.

bool bil::operator>= ( const PIPRef &  ref1,
const PIPRef &  ref2 
)
inline

Tests two PIPRef instances for memberwise >=.

Definition at line 125 of file PIPRef.hpp.

std::string bil::pipRefString ( const PIPRef pipRef,
const Tiles tiles,
const TileTypes tileTypes 
)

Converts a PIPRef to a text representation.

Parameters:
pipRefThe PIPRef to convert.
tilesThe tiles the PIPRef references.
tileTypesThe types of the referenced tiles.
Returns:
The string with the PIPRef text representation.
Exceptions:
.

Definition at line 12 of file PIPRefString.cpp.

bool bil::operator== ( const PinWire &  pw1,
const PinWire &  pw2 
)
inline

Tests two PinWire instances for memberwise equality.

Definition at line 92 of file PinWire.hpp.

bool bil::operator!= ( const PinWire &  pw1,
const PinWire &  pw2 
)
inline

Tests two PinWire instances for memberwise inequality.

Definition at line 99 of file PinWire.hpp.

bool bil::operator== ( const PIP &  pip1,
const PIP &  pip2 
)
inline

Tests two PIP instances for memberwise equality.

Definition at line 119 of file PIP.hpp.

bool bil::operator!= ( const PIP &  pip1,
const PIP &  pip2 
)
inline

Tests two PIP instances for memberwise inequality.

Definition at line 127 of file PIP.hpp.

bool bil::operator< ( const PIP &  pip1,
const PIP &  pip2 
)
inline

Tests two PIP instances for memberwise <.

Definition at line 134 of file PIP.hpp.

bool bil::operator> ( const PIP &  pip1,
const PIP &  pip2 
)
inline

Tests two PIP instances for memberwise >

Definition at line 144 of file PIP.hpp.

bool bil::operator<= ( const PIP &  pip1,
const PIP &  pip2 
)
inline

Tests two PIP instances for memberwise <=.

Definition at line 150 of file PIP.hpp.

bool bil::operator>= ( const PIP &  pip1,
const PIP &  pip2 
)
inline

Tests two PIP instances for memberwise >=.

Definition at line 156 of file PIP.hpp.

bool bil::operator== ( const WireConnection &  c1,
const WireConnection &  c2 
)
inline

Tests two WireConnection instances for memberwise equality.

Definition at line 132 of file WireConnection.hpp.

bool bil::operator!= ( const WireConnection &  c1,
const WireConnection &  c2 
)
inline

Tests two WireConnection instances for memberwise inequality.

Definition at line 141 of file WireConnection.hpp.

bool bil::extractPosition ( const char *  name,
unsigned &  x,
unsigned &  y 
)

Extracts the X and Y coordinate from a XDL(RC) name.

Some XDL(RC) entities have got names like T_X::Y# (where T stands for a typename and # for a positive integer number).

Parameters:
nameName to extract from.
xResulting X coordinate.
yResulting Y coordinate.
Returns:
True, if coordinates were successfully extracted; false otherwise.

Definition at line 13 of file NameSplit.cpp.

std::string bil::pipString ( const PIP pip,
const Wires wires 
)

Converts a PIP to a text representation.

Parameters:
pipThe PIP to convert.
wiresThe wires the PIP references.
Returns:
The string with the PIP text representation.
Exceptions:
.

Definition at line 11 of file PIPString.cpp.


Variable Documentation

const size_t bil::BITFILE_HEADER_SIZE = 13

Definition at line 17 of file BitFileSections.hpp.

const boost::uint8_t bil::BITFILE_HEADER
Initial value:
{
0x00, 0x09,
0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x00,
0x00, 0x01
}

Definition at line 9 of file BitFileSections.cpp.

const char bil::BITFILE_KEY_SOURCEFILENAME = 'a'

Definition at line 24 of file BitFileSections.hpp.

const char bil::BITFILE_KEY_TARGETDEVICENAME = 'b'

Definition at line 25 of file BitFileSections.hpp.

const char bil::BITFILE_KEY_CREATIONDATE = 'c'

Definition at line 26 of file BitFileSections.hpp.

const char bil::BITFILE_KEY_CREATIONTIME = 'd'

Definition at line 27 of file BitFileSections.hpp.

const char bil::BITFILE_KEY_BITSTREAM = 'e'

Definition at line 28 of file BitFileSections.hpp.