torc::architecture::Tiles Class Reference

Tile map, tile type, and wire information for the family and device. More...

#include <Tiles.hpp>

Collaboration diagram for torc::architecture::Tiles:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ~Tiles (void)
 Non-virtual destructor.
const TileInfogetTileInfo (TileIndex inTileIndex) const
 Returns the TileInfo object for the specified tile.
const Array< const WireInfo > & getWireInfo (TileTypeIndex inTileTypeIndex) const
 Returns the WireInfo array for the specified tile type.
const WireInfogetWireInfo (TileTypeIndex inTileTypeIndex, WireIndex inWireIndex) const
 Returns the WireInfo object for the specified tile type and wire index.
TileCount getTileCount (void) const
 Returns the tile count for this device.
TileTypeCount getTileTypeCount (void) const
 Returns the tile type count for this device.
TileRow getRowCount (void) const
 Returns the row count for this device.
TileCol getColCount (void) const
 Returns the column count for this device.
WireCount getWireCount (TileTypeIndex inTileTypeIndex) const
 Returns the wire count for the specified tile type.
TileIndex getTileIndex (TileRow inRow, TileCol inCol) const
 Returns the tile index for the given [row,column] pair.
const char * getTileTypeName (TileTypeIndex inTileTypeIndex) const
 Returns the tile type name for the given tile type index.
TileIndex findTileIndex (const string &inName) const
 Returns the tile index for the given tile name.
WireIndex findWireIndex (TileTypeIndex inTileTypeIndex, const string &inName) const
 Returns the wire index for the given wire name in the given tile type.

Protected Types

typedef std::string string
 Imported type name.
typedef boost::uint16_t uint16_t
 Imported type name.
typedef boost::uint32_t uint32_t
 Imported type name.
typedef xilinx::TileRow TileRow
 Imported type name.
typedef xilinx::TileCol TileCol
 Imported type name.
typedef xilinx::TileCount TileCount
 Imported type name.
typedef xilinx::TileIndex TileIndex
 Imported type name.
typedef xilinx::TileTypeCount TileTypeCount
 Imported type name.
typedef xilinx::TileTypeIndex TileTypeIndex
 Imported type name.
typedef xilinx::WireCount WireCount
 Imported type name.
typedef xilinx::WireIndex WireIndex
 Imported type name.
typedef std::pair< std::string,
xilinx::TileIndex
TileNameIndexPair
 Wrapper for a tile name with corresponding tile index.
typedef std::pair< std::string,
xilinx::WireIndex
WireNameIndexPair
 Wrapper for a wire name with corresponding wire index.

Protected Member Functions

size_t readTileTypes (DigestStream &inStream)
 Read the family tile types.
size_t readTileWireInfo (DigestStream &inStream)
 Read the family wire info.
size_t readTileMap (DigestStream &inStream)
 Read the device tile map.
 Tiles (void)
 Protected constructor.

Static Protected Member Functions

static bool CompareTilePairByName (const TileNameIndexPair &inA, const TileNameIndexPair &inB)
 Compare tile pairs by name, for ordering purposes.
static bool CompareWirePairByName (const WireNameIndexPair &inA, const WireNameIndexPair &inB)
 Compare wire pairs by name, for ordering purposes.

Protected Attributes

TileCount mTileCount
 The tile count for this device.
TileRow mRowCount
 The tile row count for this device.
TileCol mColCount
 The tile column count for this device.
TileIndex ** mTileMap
 The two-dimensional tile map for this device.
Array< const TileInfomTiles
 The tile information for this device.
Array< const TileNameIndexPairmOrderedTileNames
 The tile name to tile index mapping for this device.
TileTypeCount mTileTypeCount
 The number of tile types for this family.
Array< const CharStringWrappermTileTypeNames
 The tile type names for this family.
Array2D< const WireInfomWires
 The wire information for this family.
Array2D< const WireNameIndexPairmOrderedWireNames
 The wire name to wire index mapping for each tile type for this family.

Friends

class DDB
 The database has access to our protected functions.

Classes

class  CharStringWrapper
 Wrapper around char* for use with the Array template. More...


Detailed Description

Tile map, tile type, and wire information for the family and device.

The tile map defines the tile layout for the current device. Every tile is associated with a tile type that has been defined for the family. The wire type information is likewise device independent, and is therefore included in this class.

Definition at line 35 of file Tiles.hpp.


Member Typedef Documentation

typedef std::string torc::architecture::Tiles::string [protected]

Imported type name.

Definition at line 41 of file Tiles.hpp.

typedef boost::uint16_t torc::architecture::Tiles::uint16_t [protected]

Imported type name.

Definition at line 42 of file Tiles.hpp.

typedef boost::uint32_t torc::architecture::Tiles::uint32_t [protected]

Imported type name.

Definition at line 43 of file Tiles.hpp.

Imported type name.

Definition at line 44 of file Tiles.hpp.

Imported type name.

Definition at line 45 of file Tiles.hpp.

Imported type name.

Definition at line 46 of file Tiles.hpp.

Imported type name.

Definition at line 47 of file Tiles.hpp.

Imported type name.

Definition at line 48 of file Tiles.hpp.

Imported type name.

Definition at line 49 of file Tiles.hpp.

Imported type name.

Definition at line 50 of file Tiles.hpp.

Imported type name.

Definition at line 51 of file Tiles.hpp.

typedef std::pair<std::string, xilinx::TileIndex> torc::architecture::Tiles::TileNameIndexPair [protected]

Wrapper for a tile name with corresponding tile index.

Definition at line 53 of file Tiles.hpp.

typedef std::pair<std::string, xilinx::WireIndex> torc::architecture::Tiles::WireNameIndexPair [protected]

Wrapper for a wire name with corresponding wire index.

Definition at line 55 of file Tiles.hpp.


Constructor & Destructor Documentation

torc::architecture::Tiles::Tiles ( void   )  [inline, protected]

Protected constructor.

Definition at line 122 of file Tiles.hpp.

torc::architecture::Tiles::~Tiles ( void   )  [inline]

Non-virtual destructor.

Definition at line 127 of file Tiles.hpp.


Member Function Documentation

size_t torc::architecture::Tiles::readTileTypes ( DigestStream inStream  )  [protected]

Read the family tile types.

Todo:
Throw a proper exception.

Todo:
Throw a proper exception.

Definition at line 25 of file Tiles.cpp.

size_t torc::architecture::Tiles::readTileWireInfo ( DigestStream inStream  )  [protected]

Read the family wire info.

Todo:
Throw a proper exception.

Todo:
Throw a proper exception.

Todo:
Throw a proper exception.

Definition at line 58 of file Tiles.cpp.

size_t torc::architecture::Tiles::readTileMap ( DigestStream inStream  )  [protected]

Read the device tile map.

Todo:
Throw a proper exception.

Todo:
Throw a proper exception.

Definition at line 226 of file Tiles.cpp.

static bool torc::architecture::Tiles::CompareTilePairByName ( const TileNameIndexPair inA,
const TileNameIndexPair inB 
) [inline, static, protected]

Compare tile pairs by name, for ordering purposes.

Definition at line 111 of file Tiles.hpp.

static bool torc::architecture::Tiles::CompareWirePairByName ( const WireNameIndexPair inA,
const WireNameIndexPair inB 
) [inline, static, protected]

Compare wire pairs by name, for ordering purposes.

Definition at line 116 of file Tiles.hpp.

const TileInfo& torc::architecture::Tiles::getTileInfo ( TileIndex  inTileIndex  )  const [inline]

Returns the TileInfo object for the specified tile.

Definition at line 136 of file Tiles.hpp.

const Array<const WireInfo>& torc::architecture::Tiles::getWireInfo ( TileTypeIndex  inTileTypeIndex  )  const [inline]

Returns the WireInfo array for the specified tile type.

Definition at line 139 of file Tiles.hpp.

const WireInfo& torc::architecture::Tiles::getWireInfo ( TileTypeIndex  inTileTypeIndex,
WireIndex  inWireIndex 
) const [inline]

Returns the WireInfo object for the specified tile type and wire index.

Definition at line 142 of file Tiles.hpp.

TileCount torc::architecture::Tiles::getTileCount ( void   )  const [inline]

Returns the tile count for this device.

Definition at line 145 of file Tiles.hpp.

TileTypeCount torc::architecture::Tiles::getTileTypeCount ( void   )  const [inline]

Returns the tile type count for this device.

Definition at line 147 of file Tiles.hpp.

TileRow torc::architecture::Tiles::getRowCount ( void   )  const [inline]

Returns the row count for this device.

Definition at line 149 of file Tiles.hpp.

TileCol torc::architecture::Tiles::getColCount ( void   )  const [inline]

Returns the column count for this device.

Definition at line 151 of file Tiles.hpp.

WireCount torc::architecture::Tiles::getWireCount ( TileTypeIndex  inTileTypeIndex  )  const [inline]

Returns the wire count for the specified tile type.

Definition at line 153 of file Tiles.hpp.

TileIndex torc::architecture::Tiles::getTileIndex ( TileRow  inRow,
TileCol  inCol 
) const [inline]

Returns the tile index for the given [row,column] pair.

Definition at line 157 of file Tiles.hpp.

const char* torc::architecture::Tiles::getTileTypeName ( TileTypeIndex  inTileTypeIndex  )  const [inline]

Returns the tile type name for the given tile type index.

Definition at line 160 of file Tiles.hpp.

TileIndex torc::architecture::Tiles::findTileIndex ( const string inName  )  const [inline]

Returns the tile index for the given tile name.

The search has logarithmic complexity.

Returns:
TileIndex(-1) if the name does not exist, or the corresponding tile index otherwise.

Definition at line 166 of file Tiles.hpp.

WireIndex torc::architecture::Tiles::findWireIndex ( TileTypeIndex  inTileTypeIndex,
const string inName 
) const [inline]

Returns the wire index for the given wire name in the given tile type.

The search has logarithmic complexity.

Returns:
WireIndex(-1) if the name does not exist, or the corresponding wire index otherwise.

Definition at line 178 of file Tiles.hpp.


Friends And Related Function Documentation

friend class DDB [friend]

The database has access to our protected functions.

Definition at line 38 of file Tiles.hpp.


Member Data Documentation

The tile count for this device.

Definition at line 83 of file Tiles.hpp.

The tile row count for this device.

Definition at line 85 of file Tiles.hpp.

The tile column count for this device.

Definition at line 87 of file Tiles.hpp.

The two-dimensional tile map for this device.

Definition at line 89 of file Tiles.hpp.

The tile information for this device.

Definition at line 91 of file Tiles.hpp.

The tile name to tile index mapping for this device.

Definition at line 93 of file Tiles.hpp.

The number of tile types for this family.

Definition at line 95 of file Tiles.hpp.

The tile type names for this family.

Definition at line 97 of file Tiles.hpp.

The wire information for this family.

Definition at line 99 of file Tiles.hpp.

The wire name to wire index mapping for each tile type for this family.

Definition at line 101 of file Tiles.hpp.


The documentation for this class was generated from the following files:

Generated on Thu Oct 13 16:49:37 2011 for TORC by  doxygen 1.5.6