diff options
Diffstat (limited to 'common/arch_api.h')
-rw-r--r-- | common/arch_api.h | 7 |
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; |