aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange/arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'fpga_interchange/arch.h')
-rw-r--r--fpga_interchange/arch.h7
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;