aboutsummaryrefslogtreecommitdiffstats
path: root/generic/arch.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-08-08 10:27:08 +0200
committerDavid Shah <davey1576@gmail.com>2018-08-09 10:39:53 +0200
commit5ddde5c49ffaf6c2f827e9805caac0b7dd43f4a0 (patch)
tree3ce490a0df0ddce0487277cee8f55720247f8178 /generic/arch.h
parenta9b6543361ba35202cbe6c6c16860c3e8a388bc4 (diff)
downloadnextpnr-5ddde5c49ffaf6c2f827e9805caac0b7dd43f4a0.tar.gz
nextpnr-5ddde5c49ffaf6c2f827e9805caac0b7dd43f4a0.tar.bz2
nextpnr-5ddde5c49ffaf6c2f827e9805caac0b7dd43f4a0.zip
Add pip locations
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'generic/arch.h')
-rw-r--r--generic/arch.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/generic/arch.h b/generic/arch.h
index ee7d0403..7549a75b 100644
--- a/generic/arch.h
+++ b/generic/arch.h
@@ -36,6 +36,7 @@ struct PipInfo
WireId srcWire, dstWire;
DelayInfo delay;
DecalXY decalxy;
+ Loc loc;
};
struct WireInfo
@@ -94,12 +95,13 @@ struct Arch : BaseCtx
std::unordered_map<DecalId, std::vector<GraphicElement>> decal_graphics;
int gridDimX, gridDimY;
- std::vector<std::vector<int>> tileDimZ;
+ std::vector<std::vector<int>> tileBelDimZ;
+ std::vector<std::vector<int>> tilePipDimZ;
float grid_distance_to_delay;
void addWire(IdString name, IdString type, int x, int y);
- void addPip(IdString name, IdString type, IdString srcWire, IdString dstWire, DelayInfo delay);
+ void addPip(IdString name, IdString type, IdString srcWire, IdString dstWire, DelayInfo delay, Loc loc);
void addAlias(IdString name, IdString type, IdString srcWire, IdString dstWire, DelayInfo delay);
void addBel(IdString name, IdString type, Loc loc, bool gb);
@@ -132,7 +134,8 @@ struct Arch : BaseCtx
int getGridDimX() const { return gridDimX; }
int getGridDimY() const { return gridDimY; }
- int getTileDimZ(int x, int y) const { return tileDimZ[x][y]; }
+ int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
+ int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
BelId getBelByName(IdString name) const;
IdString getBelName(BelId bel) const;
@@ -175,6 +178,7 @@ struct Arch : BaseCtx
NetInfo *getBoundPipNet(PipId pip) const;
NetInfo *getConflictingPipNet(PipId pip) const;
const std::vector<PipId> &getPips() const;
+ Loc getPipLocation(PipId pip) const;
WireId getPipSrcWire(PipId pip) const;
WireId getPipDstWire(PipId pip) const;
DelayInfo getPipDelay(PipId pip) const;