torc::architecture::WireUsage Class Reference
Encapsulation the design wire usage.
More...
#include <WireUsage.hpp>
List of all members.
Detailed Description
Encapsulation the design wire usage.
This class uses a compact bitset representation to very efficiently track the wire 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 wire in the tile has been marked used.
Definition at line 35 of file WireUsage.hpp.
Member Typedef Documentation
Constructor & Destructor Documentation
torc::architecture::WireUsage::WireUsage |
( |
const Tiles & |
inTiles |
) |
[inline] |
torc::architecture::WireUsage::~WireUsage |
( |
void |
|
) |
[inline] |
Member Function Documentation
void torc::architecture::WireUsage::autosize |
( |
void |
|
) |
[inline] |
Size the wire usage according to the number of device tiles.
Definition at line 68 of file WireUsage.hpp.
void torc::architecture::WireUsage::use |
( |
const Tilewire & |
inTilewire |
) |
[inline] |
Marks the specified tilewire as being used.
Definition at line 81 of file WireUsage.hpp.
void torc::architecture::WireUsage::release |
( |
const Tilewire & |
inTilewire |
) |
[inline] |
Marks the specified tilewire as being unused.
Definition at line 104 of file WireUsage.hpp.
void torc::architecture::WireUsage::clear |
( |
void |
|
) |
[inline] |
Marks all wires 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 121 of file WireUsage.hpp.
bool torc::architecture::WireUsage::isUsed |
( |
const Tilewire & |
inTilewire |
) |
[inline] |
Determines whether the specified tilewire is in use.
Definition at line 138 of file WireUsage.hpp.
uint32_t torc::architecture::WireUsage::getWireUsageCount |
( |
void |
|
) |
const [inline] |
Returns the number of wires in use.
- Todo:
- Question: can we get away with only checking dirty bitsets? / skip this tile if it isn't dirty
Definition at line 151 of file WireUsage.hpp.
TileCount torc::architecture::WireUsage::getTileUsageCount |
( |
void |
|
) |
const [inline] |
Returns the number of tiles that have been touched.
Definition at line 169 of file WireUsage.hpp.
uint32_t torc::architecture::WireUsage::getBitCount |
( |
void |
|
) |
const [inline] |
Returns the number of bits allocated.
Definition at line 171 of file WireUsage.hpp.
Member Data Documentation
The number of tiles for which bitsets are allocated.
Definition at line 47 of file WireUsage.hpp.
The number of bits allocated by the usage bitsets.
Definition at line 51 of file WireUsage.hpp.
The mask of tile bitsets that contain changes.
Definition at line 53 of file WireUsage.hpp.
The documentation for this class was generated from the following file: