diff options
Diffstat (limited to 'ice40/pybindings.cc')
-rw-r--r-- | ice40/pybindings.cc | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/ice40/pybindings.cc b/ice40/pybindings.cc index daf0be84..f19afce4 100644 --- a/ice40/pybindings.cc +++ b/ice40/pybindings.cc @@ -46,13 +46,42 @@ void arch_wrap_python() .def_readwrite("index", &WireId::index) .def("nil", &WireId::nil); + class_<PipId>("PipId") + .def_readwrite("index", &PipId::index) + .def("nil", &WireId::nil); + + class_<BelPin>("BelPin") + .def_readwrite("bel", &BelPin::bel) + .def_readwrite("pin", &BelPin::pin); + + enum_<PortPin>("PortPin") +#define X(t) .value("PIN_" #t, PIN_##t) +#include "portpins.inc" + ; +#undef X + class_<Chip>("Chip", init<ChipArgs>()) .def("getBelByName", &Chip::getBelByName) .def("getWireByName", &Chip::getWireByName) .def("getBelName", &Chip::getBelName) .def("getWireName", &Chip::getWireName) .def("getBels", &Chip::getBels) - .def("getWires", &Chip::getWires); + .def("getBelType", &Chip::getBelType) + .def("getWireBelPin", &Chip::getWireBelPin) + .def("getBelPinUphill", &Chip::getBelPinUphill) + .def("getBelPinsDownhill", &Chip::getBelPinsDownhill) + .def("getWires", &Chip::getWires) + .def("getPipByName", &Chip::getPipByName) + .def("getPipName", &Chip::getPipName) + .def("getPips", &Chip::getPips) + .def("getPipSrcWire", &Chip::getPipSrcWire) + .def("getPipDstWire", &Chip::getPipDstWire) + .def("getPipDelay", &Chip::getPipDelay) + .def("getPipsDownhill", &Chip::getPipsDownhill) + .def("getPipsUphill", &Chip::getPipsUphill) + .def("getWireAliases", &Chip::getWireAliases) + .def("getBelPosition", &Chip::getBelPosition) + .def("getWirePosition", &Chip::getWirePosition); WRAP_RANGE(Bel); WRAP_RANGE(BelPin); |