diff options
author | David Shah <davey1576@gmail.com> | 2018-08-09 10:49:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-09 10:49:11 +0200 |
commit | ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f (patch) | |
tree | e5bb285ea62df09c30f7cd6dce7c2fe0fcb97f6f /generic/arch.h | |
parent | 41e05c95aae3b9d3397ec28d8836c40d089386e2 (diff) | |
parent | 834f7e4bfdbfaa8fbb3b51cef18c734176215c83 (diff) | |
download | nextpnr-ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f.tar.gz nextpnr-ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f.tar.bz2 nextpnr-ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f.zip |
Merge pull request #42 from YosysHQ/floorplan
Add basic data structures for floorplanning
Diffstat (limited to 'generic/arch.h')
-rw-r--r-- | generic/arch.h | 10 |
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; |