Analyze segment expansion, and detect any tilewire conflicts.
124 for(
TileIndex tileIndex; tileIndex < tileCount; tileIndex++) {
125 const Array<SegmentReference>& tilewireSegments
128 for(
WireIndex wireIndex; wireIndex < wireCount; wireIndex++) {
129 Tilewire tilewire(tileIndex, wireIndex);
136 for(
TileIndex tileIndex; tileIndex < tileCount; tileIndex++) {
137 const Array<SegmentReference>& tilewireSegments
140 for(
WireIndex wireIndex; wireIndex < wireCount; wireIndex++) {
141 Tilewire tilewire(tileIndex, wireIndex);
145 TilewireVector::const_iterator p = segmentTilewires.begin();
146 TilewireVector::const_iterator e = segmentTilewires.end();
154 for(
TileIndex tileIndex; tileIndex < tileCount; tileIndex++) {
155 const Array<SegmentReference>& tilewireSegments
158 for(
WireIndex wireIndex; wireIndex < wireCount; wireIndex++) {
159 Tilewire tilewire(tileIndex, wireIndex);
163 std::cerr <<
"Undefined: " << tilewire << std::endl;
170 std::cerr <<
"---------------------------------------" << std::endl;
171 std::cerr <<
"Tilewire count: " << std::setw(12) <<
mTilewireCount
uint64_t mTilewiresAnalyzed
uint64_t mTilewiresPruned
std::vector< Tilewire > TilewireVector
Vector of Tilewire objects.
static uint64_t sTotalTilewiresUndefined
Total number of tilewires never defined (sanity check).
const CompactSegmentIndex cUsagePruned
xilinx::TileCount TileCount
std::map< Tilewire, CompactSegmentIndex > mUsage
void analyzeSegmentTilewire(const Tilewire &inTilewire)
Verifies and enforces segment ownership of the specified tilewire.
static uint64_t sTotalTilewiresPruned
Total number of tilewires pruned from the device (absent from XDLRC).
Array2D< SegmentReference > mTilewireSegments
The segment references for every wire in every tile.
TileCount getTileCount(void) const
Returns the tile count for this device.
const Segments & mSegments
xilinx::CompactSegmentIndex CompactSegmentIndex
xilinx::WireCount WireCount
xilinx::WireIndex WireIndex
static uint64_t sTotalTilewiresAnalyzed
Total number of tilewires analyzed (visited or expanded).
static uint64_t sTotalTilewireCount
Total number of tilewires visited.
const CompactSegmentIndex cUsageUndefined
xilinx::TileIndex TileIndex
uint64_t mTilewiresUndefined
void expandSegment(const Tilewire &inTilewire, TilewireVector &outTilewires, EExpandDirection inExpandDirection=eExpandDirectionNone)
Expands the given tilewire's segment.