19 #ifndef TORC_ARCHITECTURE_WIREUSAGE_HPP
20 #define TORC_ARCHITECTURE_WIREUSAGE_HPP
25 #include <boost/dynamic_bitset.hpp>
28 namespace architecture {
100 bitset->set(wireIndex,
true);
111 if(bitset == 0)
return;
114 bitset->set(wireIndex,
false);
132 if(bitset == 0)
continue;
145 if(bitset == 0)
return false;
148 return bitset->test(wireIndex);
152 uint32_t usageCount = 0;
161 if(bitset == 0)
continue;
163 usageCount += bitset->count();
177 #endif // TORC_ARCHITECTURE_WIREUSAGE_HPP
const WireIndex & getWireIndex(void) const
Returns the wire index.
Encapsulation of a tile index in an unsigned 32-bit integer.
xilinx::TileCount TileCount
Imported type name.
boost::dynamic_bitset dynamic_bitset
Imported type name.
const Tiles & mTiles
Reference to the database Tiles object.
const TileInfo & getTileInfo(TileIndex inTileIndex) const
Returns the TileInfo object for the specified tile.
Encapsulation the design wire usage.
xilinx::TileIndex TileIndex
Imported type name.
const Array< const WireInfo > & getWireInfo(TileTypeIndex inTileTypeIndex) const
Returns the WireInfo array for the specified tile type.
Encapsulation of a wire index in an unsigned 16-bit integer.
TileCount getTileCount(void) const
Returns the tile count for this device.
uint32_t getWireUsageCount(void) const
Returns the number of wires in use.
void clear(void)
Marks all wires as being unused, without releasing the bitset objects.
WireUsage(const Tiles &inTiles)
Public constructor.
TileCount getTileUsageCount(void) const
Returns the number of tiles that have been touched.
Encapsulation of a device tile and wire pair.
xilinx::TileTypeIndex TileTypeIndex
Imported type name.
Tile map, tile type, and wire information for the family and device.
Encapsulation of a tile count in an unsigned 32-bit integer.
Encapsulation of a tile within a device tile map.
const TileTypeIndex & getTypeIndex(void) const
Returns the tile type index for this tile.
void use(const Tilewire &inTilewire)
Marks the specified tilewire as being used.
dynamic_bitset mTileDirty
The mask of tile bitsets that contain changes.
Header for the Tilewire class.
TileCount mTileUsageCount
The number of tiles for which bitsets are allocated.
Header for the Array class.
uint32_t mBitCount
The number of bits allocated by the usage bitsets.
uint32_t getBitCount(void) const
Returns the number of bits allocated.
Encapsulation of a tile type index in an unsigned 16-bit integer.
void release(const Tilewire &inTilewire)
Marks the specified tilewire as being unused.
~WireUsage(void)
Non-virtual destructor.
const TileIndex & getTileIndex(void) const
Returns the tile index.
void setSize(uint32_t inSize)
Discards all contents and resizes the array.
Header for the Tiles class.
bool isUsed(const Tilewire &inTilewire)
Determines whether the specified tilewire is in use.
void autosize(void)
Size the wire usage according to the number of device tiles.
uint32_t getSize(void) const
Returns the array size.
xilinx::WireIndex WireIndex
Imported type name.
Array< dynamic_bitset * > mBitsets
The wire usage bitset array.