aboutsummaryrefslogtreecommitdiffstats
path: root/generic/arch_pybindings.cc
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2021-02-02 16:55:13 +0000
committerGitHub <noreply@github.com>2021-02-02 16:55:13 +0000
commitd1ef3ae1bac8f108b642c42c4fbfbdd4899c7641 (patch)
tree3657232a91e97f839cd9114f40aa0c565afc23d4 /generic/arch_pybindings.cc
parentefc98c517eb1d2eb4a8ecc2ae82e770aaa1a0edd (diff)
parentda74a425d23352d7cddf9d1c4b0b7c86dd567c40 (diff)
downloadnextpnr-d1ef3ae1bac8f108b642c42c4fbfbdd4899c7641.tar.gz
nextpnr-d1ef3ae1bac8f108b642c42c4fbfbdd4899c7641.tar.bz2
nextpnr-d1ef3ae1bac8f108b642c42c4fbfbdd4899c7641.zip
Merge pull request #557 from litghost/refactor_placer_arch_api
RFC: Initial refactoring of placer API.
Diffstat (limited to 'generic/arch_pybindings.cc')
-rw-r--r--generic/arch_pybindings.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/generic/arch_pybindings.cc b/generic/arch_pybindings.cc
index 7f7229fd..23f2c05c 100644
--- a/generic/arch_pybindings.cc
+++ b/generic/arch_pybindings.cc
@@ -226,6 +226,28 @@ void arch_wrap_python(py::module &m)
pass_through<DelayInfo>>::def_wrap(ctx_cls, "addCellTimingClockToOut", "cell"_a, "port"_a,
"clock"_a, "clktoq"_a);
+ // const\_range\<BelBucketId\> getBelBuckets() const
+ fn_wrapper_0a<Context, decltype(&Context::getBelBuckets), &Context::getBelBuckets,
+ wrap_context<const std::vector<BelBucketId> &>>::def_wrap(ctx_cls, "getBelBuckets");
+
+ // BelBucketId getBelBucketForBel(BelId bel) const
+ fn_wrapper_1a<Context, decltype(&Context::getBelBucketForBel), &Context::getBelBucketForBel,
+ conv_to_str<BelBucketId>, conv_from_str<BelId>>::def_wrap(ctx_cls, "getBelBucketForBel");
+
+ // BelBucketId getBelBucketForCellType(IdString cell\_type) const
+ fn_wrapper_1a<Context, decltype(&Context::getBelBucketForCellType), &Context::getBelBucketForCellType,
+ conv_to_str<BelBucketId>, conv_from_str<IdString>>::def_wrap(ctx_cls, "getBelBucketForCellType");
+
+ // const\_range\<BelId\> getBelsInBucket(BelBucketId bucket) const
+ fn_wrapper_1a<Context, decltype(&Context::getBelsInBucket), &Context::getBelsInBucket,
+ wrap_context<const std::vector<BelId> &>, conv_from_str<BelBucketId>>::def_wrap(ctx_cls,
+ "getBelsInBucket");
+
+ // bool isValidBelForCellType(IdString cell\_type, BelId bel) const
+ fn_wrapper_2a<Context, decltype(&Context::isValidBelForCellType), &Context::isValidBelForCellType,
+ pass_through<bool>, conv_from_str<IdString>, conv_from_str<BelId>>::def_wrap(ctx_cls,
+ "isValidBelForCellType");
+
WRAP_MAP_UPTR(m, CellMap, "IdCellMap");
WRAP_MAP_UPTR(m, NetMap, "IdNetMap");
WRAP_MAP(m, HierarchyMap, wrap_context<HierarchicalCell &>, "HierarchyMap");