19 #ifndef TORC_ARCHITECTURE_TILES_HPP
20 #define TORC_ARCHITECTURE_TILES_HPP
30 namespace architecture {
73 operator const char*(void)
const {
return mString; }
114 return inA.first < inB.first;
119 return inA.first < inB.first;
138 return mTiles[inTileIndex]; }
141 {
return mWires[inTileTypeIndex]; }
144 {
return mWires[inTileTypeIndex][inWireIndex]; }
147 {
return mWires[
mTiles[inTileIndex].mTypeIndex][inWireIndex]; }
176 return TileIndex((p == e || p->first != inName) ? -1 : p->second);
190 return WireIndex((p == e || p->first != inName) ? -1 : p->second);
197 #endif // TORC_ARCHITECTURE_TILES_HPP
xilinx::TileIndex TileIndex
Imported type name.
Encapsulation of a wire belonging to a compact segment.
xilinx::TileCount TileCount
Imported type name.
CharStringWrapper & operator=(const char *inString)
Assignment operator.
TileRow mRowCount
The tile row count for this device.
Encapsulation of a tile index in an unsigned 32-bit integer.
Encapsulation of a tile row in an unsigned 16-bit integer.
~CharStringWrapper(void)
Non-virtual destructor.
Encapsulation of a tile column in an unsigned 16-bit integer.
std::pair< std::string, xilinx::WireIndex > WireNameIndexPair
Wrapper for a wire name with corresponding wire index.
Device database, including complete wiring and logic support.
TileTypeCount getTileTypeCount(void) const
Returns the tile type count for this device.
TileRow getRowCount(void) const
Returns the row count for this device.
static bool CompareWirePairByName(const WireNameIndexPair &inA, const WireNameIndexPair &inB)
Compare wire pairs by name, for ordering purposes.
const TileInfo & getTileInfo(TileIndex inTileIndex) const
Returns the TileInfo object for the specified tile.
T * end(void)
Returns the non-constant end iterator.
Header for the WireInfo class.
CharStringWrapper(const char *inString)
Public constructor.
const WireInfo & getWireInfo(TileTypeIndex inTileTypeIndex, WireIndex inWireIndex) const
Returns the WireInfo object for the specified tile type and wire index.
Array< const CharStringWrapper > mTileTypeNames
The tile type names for this family.
TileCol mColCount
The tile column count for this device.
size_t readTileWireInfo(DigestStream &inStream)
Read the family wire info.
Device database console streams class.
const Array< const WireInfo > & getWireInfo(TileTypeIndex inTileTypeIndex) const
Returns the WireInfo array for the specified tile type.
size_t readTileTypes(DigestStream &inStream)
Read the family tile types.
xilinx::TileTypeIndex TileTypeIndex
Imported type name.
TileTypeCount mTileTypeCount
The number of tile types for this family.
Encapsulation of a wire index in an unsigned 16-bit integer.
boost::uint32_t uint32_t
Imported type name.
TileCount getTileCount(void) const
Returns the tile count for this device.
xilinx::TileTypeCount TileTypeCount
Imported type name.
std::string string
Imported type name.
Header for the DDBConsoleStreams class.
Wrapper around char* for use with the Array template.
static pod undefined(void)
Tile map, tile type, and wire information for the family and device.
Array< const TileInfo > mTiles
The tile information for this device.
Encapsulation of a wire count in an unsigned 16-bit integer.
Encapsulation of a tile count in an unsigned 32-bit integer.
Encapsulation of a tile within a device tile map.
const WireInfo & getWireInfo(TileIndex inTileIndex, WireIndex inWireIndex) const
Returns the WireInfo object for the specified tile index and wire index.
Array2D< const WireNameIndexPair > mOrderedWireNames
The wire name to wire index mapping for each tile type for this family.
Encapsulation of a 2D static array.
const char * getTileTypeName(TileTypeIndex inTileTypeIndex) const
Returns the tile type name for the given tile type index.
TileCount mTileCount
The tile count for this device.
TileIndex findTileIndex(const string &inName) const
Returns the tile index for the given tile name.
TileIndex ** mTileMap
The two-dimensional tile map for this device.
static bool CompareTilePairByName(const TileNameIndexPair &inA, const TileNameIndexPair &inB)
Compare tile pairs by name, for ordering purposes.
Encapsulation of a tile type count in an unsigned 16-bit integer.
Header for the Array class.
Header for the DigestStream class.
TileCol getColCount(void) const
Returns the column count for this device.
xilinx::WireCount WireCount
Imported type name.
WireIndex findWireIndex(TileTypeIndex inTileTypeIndex, const string &inName) const
Returns the wire index for the given wire name in the given tile type.
Encapsulation of a tile type index in an unsigned 16-bit integer.
T * begin(void)
Returns the non-constant begin iterator.
Header for the TileInfo class.
Encapsulation of a wire within a tile type.
char * mString
The char* string.
~Tiles(void)
Non-virtual destructor.
Array2D< const WireInfo > mWires
The wire information for this family.
std::pair< std::string, xilinx::TileIndex > TileNameIndexPair
Wrapper for a tile name with corresponding tile index.
Encapsulation of a device or family digest stream.
size_t readTileMap(DigestStream &inStream)
Read the device tile map.
Tiles(void)
Protected constructor.
boost::uint16_t uint16_t
Imported type name.
WireCount getWireCount(TileTypeIndex inTileTypeIndex) const
Returns the wire count for the specified tile type.
xilinx::WireIndex WireIndex
Imported type name.
CharStringWrapper(void)
Null constructor.
TileIndex getTileIndex(TileRow inRow, TileCol inCol) const
Returns the tile index for the given [row,column] pair.
Array< const TileNameIndexPair > mOrderedTileNames
The tile name to tile index mapping for this device.
Encapsulation of a static array.
xilinx::TileRow TileRow
Imported type name.
Device database types for Xilinx architectures.
xilinx::TileCol TileCol
Imported type name.