torc-master
|
Encapsulation the design arc usage. More...
#include <ArcUsage.hpp>
Public Member Functions | |
ArcUsage (const Tiles &inTiles) | |
Public constructor. More... | |
~ArcUsage (void) | |
Non-virtual destructor. More... | |
void | autosize (void) |
Size the wire usage according to the number of device tiles. More... | |
void | use (const Arc &inArc) |
Marks the specified arc as being used. More... | |
void | use (const Tilewire &inTilewire1, const Tilewire &inTilewire2) |
Marks the specified arc as being used. More... | |
void | release (const Arc &inArc) |
Marks the specified arc as being unused. More... | |
void | release (const Tilewire &inTilewire1, const Tilewire &inTilewire2) |
Marks the specified arc as being unused. More... | |
void | clear (void) |
Marks all arcs as being unused, without releasing the bitset objects. More... | |
bool | isUsed (const Arc &inArc) |
Determines whether the specified arc is in use. More... | |
bool | isUsed (const Tilewire &inTilewire1, const Tilewire &inTilewire2) const |
Determines whether the specified arc is in use. More... | |
uint32_t | getArcUsageCount (void) const |
Returns the number of arcs in use. More... | |
TileCount | getTileUsageCount (void) const |
Returns the number of tiles that have been touched. More... | |
uint32_t | getBitCount (void) const |
Returns the number of bits allocated. More... | |
Protected Types | |
typedef boost::dynamic_bitset | dynamic_bitset |
Imported type name. More... | |
typedef xilinx::TileIndex | TileIndex |
Imported type name. More... | |
typedef xilinx::TileCount | TileCount |
Imported type name. More... | |
typedef xilinx::TileTypeIndex | TileTypeIndex |
Imported type name. More... | |
typedef xilinx::WireIndex | WireIndex |
Imported type name. More... | |
Protected Member Functions | |
uint32_t | getArcOffset (const Tilewire &inTilewire1, const Tilewire &inTilewire2) const |
Returns the offset into the bitset for the specified arc. More... | |
Protected Attributes | |
const Tiles & | mTiles |
Reference to the database Tiles object. More... | |
TileCount | mTileUsageCount |
The number of tiles for which bitsets are allocated. More... | |
Array< dynamic_bitset * > | mBitsets |
The wire usage bitset array. More... | |
uint32_t | mBitCount |
The number of bits allocated by the usage bitsets. More... | |
dynamic_bitset | mTileDirty |
The mask of tile bitsets that contain changes. More... | |
Friends | |
class | torc::architecture::architecture::ArcUsageUnitTest |
Our unit test class has access to our internals. More... | |
Encapsulation the design arc usage.
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.
|
protected |
Imported type name.
Definition at line 43 of file ArcUsage.hpp.
|
protected |
Imported type name.
Definition at line 45 of file ArcUsage.hpp.
|
protected |
Imported type name.
Definition at line 44 of file ArcUsage.hpp.
|
protected |
Imported type name.
Definition at line 46 of file ArcUsage.hpp.
|
protected |
Imported type name.
Definition at line 47 of file ArcUsage.hpp.
|
inline |
Public constructor.
Definition at line 109 of file ArcUsage.hpp.
|
inline |
Non-virtual destructor.
Definition at line 112 of file ArcUsage.hpp.
|
inline |
Size the wire usage according to the number of device tiles.
Definition at line 120 of file ArcUsage.hpp.
|
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.
|
inlineprotected |
Returns the offset into the bitset for the specified arc.
Definition at line 64 of file ArcUsage.hpp.
|
inline |
Returns the number of arcs in use.
Definition at line 228 of file ArcUsage.hpp.
|
inline |
Returns the number of bits allocated.
Definition at line 248 of file ArcUsage.hpp.
|
inline |
Returns the number of tiles that have been touched.
Definition at line 246 of file ArcUsage.hpp.
|
inline |
Determines whether the specified arc is in use.
Definition at line 209 of file ArcUsage.hpp.
|
inline |
Determines whether the specified arc is in use.
Definition at line 212 of file ArcUsage.hpp.
|
inline |
Marks the specified arc as being unused.
Definition at line 169 of file ArcUsage.hpp.
|
inline |
Marks the specified arc as being unused.
Definition at line 172 of file ArcUsage.hpp.
|
inline |
Marks the specified arc as being used.
Definition at line 133 of file ArcUsage.hpp.
|
inline |
Marks the specified arc as being used.
Definition at line 136 of file ArcUsage.hpp.
|
friend |
Our unit test class has access to our internals.
Definition at line 40 of file ArcUsage.hpp.
|
protected |
The number of bits allocated by the usage bitsets.
Definition at line 56 of file ArcUsage.hpp.
|
protected |
The wire usage bitset array.
Definition at line 54 of file ArcUsage.hpp.
|
protected |
The mask of tile bitsets that contain changes.
Definition at line 58 of file ArcUsage.hpp.
|
protected |
Reference to the database Tiles object.
Definition at line 50 of file ArcUsage.hpp.
|
protected |
The number of tiles for which bitsets are allocated.
Definition at line 52 of file ArcUsage.hpp.