aboutsummaryrefslogtreecommitdiffstats
path: root/common/arch_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/arch_api.h')
-rw-r--r--common/arch_api.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/arch_api.h b/common/arch_api.h
index 7ed81434..76b78c62 100644
--- a/common/arch_api.h
+++ b/common/arch_api.h
@@ -139,6 +139,13 @@ template <typename R> struct ArchAPI : BaseCtx
virtual typename R::CellTypeRangeT getCellTypes() const = 0;
virtual typename R::BelBucketRangeT getBelBuckets() const = 0;
virtual typename R::BucketBelRangeT getBelsInBucket(BelBucketId bucket) const = 0;
+ // Cluster methods
+ virtual CellInfo *getClusterRootCell(ClusterId cluster) const = 0;
+ virtual ArcBounds getClusterBounds(ClusterId cluster) const = 0;
+ virtual Loc getClusterOffset(ClusterId cluster, CellInfo *cell) const = 0;
+ virtual bool isClusterStrict(CellInfo *cell) const = 0;
+ virtual bool getClusterPlacement(ClusterId cluster, BelId root_bel,
+ std::vector<std::pair<CellInfo *, BelId>> &placement) const = 0;
// Flow methods
virtual bool pack() = 0;
virtual bool place() = 0;