diff options
Diffstat (limited to 'common/pybindings.cc')
-rw-r--r-- | common/pybindings.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/common/pybindings.cc b/common/pybindings.cc index bdd4f92a..2f672a41 100644 --- a/common/pybindings.cc +++ b/common/pybindings.cc @@ -285,8 +285,16 @@ PYBIND11_EMBEDDED_MODULE(MODULE_NAME, m) WRAP_MAP(m, WireMap, wrap_context<PipMap &>, "WireMap"); WRAP_MAP_UPTR(m, RegionMap, "RegionMap"); - WRAP_VECTOR(m, PortRefVector, wrap_context<PortRef &>); + typedef dict<IdString, ClockFmax> ClockFmaxMap; + WRAP_MAP(m, ClockFmaxMap, pass_through<ClockFmax>, "ClockFmaxMap"); + auto clk_fmax_cls = py::class_<ClockFmax>(m, "ClockFmax") + .def_readonly("achieved", &ClockFmax::achieved) + .def_readonly("constraint", &ClockFmax::constraint); + + auto tmg_result_cls = py::class_<ContextualWrapper<TimingResult &>>(m, "TimingResult"); + readonly_wrapper<TimingResult &, decltype(&TimingResult::clock_fmax), &TimingResult::clock_fmax, + wrap_context<ClockFmaxMap &>>::def_wrap(tmg_result_cls, "clock_fmax"); arch_wrap_python(m); } |