diff options
Diffstat (limited to 'fpga_interchange/arch.h')
-rw-r--r-- | fpga_interchange/arch.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fpga_interchange/arch.h b/fpga_interchange/arch.h index fab6c700..756ac4d9 100644 --- a/fpga_interchange/arch.h +++ b/fpga_interchange/arch.h @@ -858,7 +858,8 @@ struct Arch : ArchAPI<ArchRanges> return true; } const TileStatus &tile_status = iter->second; - const CellInfo *cell = tile_status.boundcells[bel.index]; + CellInfo *cell = tile_status.boundcells[bel.index]; + auto &bel_data = bel_info(chip_info, bel); auto &bel_data = bel_info(chip_info, bel); auto &site_status = get_site_status(tile_status, bel_data); @@ -900,6 +901,10 @@ struct Arch : ArchAPI<ArchRanges> ArcBounds getClusterBounds(ClusterId cluster) const override; Loc getClusterOffset(const CellInfo *cell) const override; bool isClusterStrict(const CellInfo *cell) const override; + bool normal_cluster_placement(const Context *, const Cluster &, const ClusterPOD &,CellInfo*, + BelId, std::vector<std::pair<CellInfo *, BelId>> &) const; + bool macro_cluster_placement(const Context *, const Cluster &, const ClusterPOD &,CellInfo*, + BelId, std::vector<std::pair<CellInfo *, BelId>> &) const; bool getClusterPlacement(ClusterId cluster, BelId root_bel, std::vector<std::pair<CellInfo *, BelId>> &placement) const override; |