aboutsummaryrefslogtreecommitdiffstats
path: root/generic/arch.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-07-23 12:19:54 +0200
committerClifford Wolf <clifford@clifford.at>2018-07-23 12:19:54 +0200
commit27c523682601e7b504c924a00bec98743fd3477c (patch)
tree617aa81c34f9a211b83135dea01865560254a86b /generic/arch.h
parent54d1b8adcee3d1a89bf86b87be281e683d1cea93 (diff)
downloadnextpnr-27c523682601e7b504c924a00bec98743fd3477c.tar.gz
nextpnr-27c523682601e7b504c924a00bec98743fd3477c.tar.bz2
nextpnr-27c523682601e7b504c924a00bec98743fd3477c.zip
Add getGridDimX(), getGridDimY(), getTileDimZ() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'generic/arch.h')
-rw-r--r--generic/arch.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/arch.h b/generic/arch.h
index a77dca68..5f0df988 100644
--- a/generic/arch.h
+++ b/generic/arch.h
@@ -87,11 +87,14 @@ struct Arch : BaseCtx
std::unordered_map<IdString, std::vector<IdString>> bel_ids_by_type;
std::unordered_map<Loc, BelId> bel_by_loc;
- std::unordered_map<int, std::unordered_map<int, std::vector<BelId>>> bels_by_tile;
+ std::vector<std::vector<std::vector<BelId>>> bels_by_tile;
std::unordered_map<DecalId, std::vector<GraphicElement>> decal_graphics;
DecalXY frame_decalxy;
+ int gridDimX, gridDimY;
+ std::vector<std::vector<int>> tileDimZ;
+
float grid_distance_to_delay;
void addWire(IdString name, int x, int y);
@@ -131,6 +134,10 @@ struct Arch : BaseCtx
BelType belTypeFromId(IdString id) const { return id; }
PortPin portPinFromId(IdString id) const { return id; }
+ int getGridDimX() const { return gridDimX; }
+ int getGridDimY() const { return gridDimY; }
+ int getTileDimZ(int x, int y) const { return tileDimZ[x][y]; }
+
BelId getBelByName(IdString name) const;
IdString getBelName(BelId bel) const;
Loc getBelLocation(BelId bel) const;