#include <ArcUsage.hpp>

Public Member Functions | |
| ArcUsage (const Tiles &inTiles) | |
| Public constructor. | |
| ~ArcUsage (void) | |
| Non-virtual destructor. | |
| void | autosize (void) |
| Size the wire usage according to the number of device tiles. | |
| void | use (const Arc &inArc) |
| Marks the specified arc as being used. | |
| void | use (const Tilewire &inTilewire1, const Tilewire &inTilewire2) |
| Marks the specified arc as being used. | |
| void | release (const Arc &inArc) |
| Marks the specified arc as being unused. | |
| void | release (const Tilewire &inTilewire1, const Tilewire &inTilewire2) |
| Marks the specified arc as being unused. | |
| void | clear (void) |
| Marks all arcs as being unused, without releasing the bitset objects. | |
| bool | isUsed (const Arc &inArc) |
| Determines whether the specified arc is in use. | |
| bool | isUsed (const Tilewire &inTilewire1, const Tilewire &inTilewire2) const |
| Determines whether the specified arc is in use. | |
| uint32_t | getArcUsageCount (void) const |
| Returns the number of arcs in use. | |
| TileCount | getTileUsageCount (void) const |
| Returns the number of tiles that have been touched. | |
| uint32_t | getBitCount (void) const |
| Returns the number of bits allocated. | |
Protected Types | |
| typedef boost::dynamic_bitset | dynamic_bitset |
| Imported type name. | |
| typedef xilinx::TileIndex | TileIndex |
| Imported type name. | |
| typedef xilinx::TileCount | TileCount |
| Imported type name. | |
| typedef xilinx::TileTypeIndex | TileTypeIndex |
| Imported type name. | |
| typedef xilinx::WireIndex | WireIndex |
| Imported type name. | |
Protected Member Functions | |
| uint32_t | getArcOffset (const Tilewire &inTilewire1, const Tilewire &inTilewire2) const |
| Returns the offset into the bitset for the specified arc. | |
Protected Attributes | |
| const Tiles & | mTiles |
| Reference to the database Tiles object. | |
| TileCount | mTileUsageCount |
| The number of tiles for which bitsets are allocated. | |
| Array< dynamic_bitset * > | mBitsets |
| The wire usage bitset array. | |
| uint32_t | mBitCount |
| The number of bits allocated by the usage bitsets. | |
| dynamic_bitset | mTileDirty |
| The mask of tile bitsets that contain changes. | |
Friends | |
| class | torc::architecture::architecture::ArcUsageUnitTest |
| Our unit test class has access to our internals. | |
This class uses a compact bitset representation to very efficiently track the arc usage of a design in an entire device. Internal bitset objects are maintained on a per-tile basis, and are not allocated until at least one arc in the tile has been marked used.
Definition at line 38 of file ArcUsage.hpp.
typedef boost::dynamic_bitset torc::architecture::ArcUsage::dynamic_bitset [protected] |
typedef xilinx::TileIndex torc::architecture::ArcUsage::TileIndex [protected] |
typedef xilinx::TileCount torc::architecture::ArcUsage::TileCount [protected] |
typedef xilinx::TileTypeIndex torc::architecture::ArcUsage::TileTypeIndex [protected] |
typedef xilinx::WireIndex torc::architecture::ArcUsage::WireIndex [protected] |
| torc::architecture::ArcUsage::ArcUsage | ( | const Tiles & | inTiles | ) | [inline] |
| torc::architecture::ArcUsage::~ArcUsage | ( | void | ) | [inline] |
| uint32_t torc::architecture::ArcUsage::getArcOffset | ( | const Tilewire & | inTilewire1, | |
| const Tilewire & | inTilewire2 | |||
| ) | const [inline, protected] |
Returns the offset into the bitset for the specified arc.
Definition at line 64 of file ArcUsage.hpp.
| void torc::architecture::ArcUsage::autosize | ( | void | ) | [inline] |
Size the wire usage according to the number of device tiles.
Definition at line 120 of file ArcUsage.hpp.
| void torc::architecture::ArcUsage::use | ( | const Arc & | inArc | ) | [inline] |
| void torc::architecture::ArcUsage::use | ( | const Tilewire & | inTilewire1, | |
| const Tilewire & | inTilewire2 | |||
| ) | [inline] |
Marks the specified arc as being used.
Definition at line 136 of file ArcUsage.hpp.
| void torc::architecture::ArcUsage::release | ( | const Arc & | inArc | ) | [inline] |
| void torc::architecture::ArcUsage::release | ( | const Tilewire & | inTilewire1, | |
| const Tilewire & | inTilewire2 | |||
| ) | [inline] |
Marks the specified arc as being unused.
Definition at line 172 of file ArcUsage.hpp.
| void torc::architecture::ArcUsage::clear | ( | void | ) | [inline] |
Marks all arcs as being unused, without releasing the bitset objects.
This capability allows the tracer to track the wires that it has visited while processing a particular net, and then to start again from scratch without incurring allocation and construction overheads.
Definition at line 192 of file ArcUsage.hpp.
| bool torc::architecture::ArcUsage::isUsed | ( | const Arc & | inArc | ) | [inline] |
| bool torc::architecture::ArcUsage::isUsed | ( | const Tilewire & | inTilewire1, | |
| const Tilewire & | inTilewire2 | |||
| ) | const [inline] |
Determines whether the specified arc is in use.
Definition at line 212 of file ArcUsage.hpp.
| uint32_t torc::architecture::ArcUsage::getArcUsageCount | ( | void | ) | const [inline] |
Returns the number of arcs in use.
Definition at line 228 of file ArcUsage.hpp.
| TileCount torc::architecture::ArcUsage::getTileUsageCount | ( | void | ) | const [inline] |
| uint32_t torc::architecture::ArcUsage::getBitCount | ( | void | ) | const [inline] |
friend class torc::architecture::architecture::ArcUsageUnitTest [friend] |
const Tiles& torc::architecture::ArcUsage::mTiles [protected] |
Array<dynamic_bitset*> torc::architecture::ArcUsage::mBitsets [protected] |
uint32_t torc::architecture::ArcUsage::mBitCount [protected] |
1.5.6