aboutsummaryrefslogtreecommitdiffstats
path: root/cyclonev/arch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cyclonev/arch.cc')
-rw-r--r--cyclonev/arch.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/cyclonev/arch.cc b/cyclonev/arch.cc
index f5dd35eb..ac19b7d2 100644
--- a/cyclonev/arch.cc
+++ b/cyclonev/arch.cc
@@ -90,6 +90,22 @@ IdString Arch::getBelName(BelId bel) const
return id(bel_str);
}
+void Arch::bindBel(BelId bel, CellInfo *cell, PlaceStrength strength)
+{
+ bels.at(bel).bound_cell = cell;
+ cell->bel = bel;
+ cell->belStrength = strength;
+ refreshUiBel(bel);
+}
+
+void Arch::unbindBel(BelId bel)
+{
+ bels.at(bel).bound_cell->bel = BelId();
+ bels.at(bel).bound_cell->belStrength = STRENGTH_NONE;
+ bels.at(bel).bound_cell = nullptr;
+ refreshUiBel(bel);
+}
+bool Arch::checkBelAvail(BelId bel) const { return bels.at(bel).bound_cell == nullptr; }
NEXTPNR_NAMESPACE_END \ No newline at end of file