From d3f74eb0567b557f261018131a04ab5eed3ddb7e Mon Sep 17 00:00:00 2001 From: David Shah Date: Fri, 1 Jun 2018 15:53:46 +0200 Subject: Simple Python test working Signed-off-by: David Shah --- ice40/pybindings.cc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'ice40/pybindings.cc') diff --git a/ice40/pybindings.cc b/ice40/pybindings.cc index 4f409194..a1906366 100644 --- a/ice40/pybindings.cc +++ b/ice40/pybindings.cc @@ -1,3 +1,23 @@ +/* + * nextpnr -- Next Generation Place and Route + * + * Copyright (C) 2018 Clifford Wolf + * Copyright (C) 2018 David Shah + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + #include "design.h" #include "chip.h" #include @@ -24,4 +44,21 @@ void arch_wrap_python() { .value("UP5K", ChipArgs::UP5K) .export_values(); + class_("BelId") + .def_readwrite("index", &BelId::index) + .def("nil", &BelId::nil); + + class_("WireId") + .def_readwrite("index", &WireId::index) + .def("nil", &WireId::nil); + + class_("Chip", init()) + .def("getBelByName", &Chip::getBelByName) + .def("getWireByName", &Chip::getWireByName) + .def("getBelName", &Chip::getBelName) + .def("getWireName", &Chip::getWireName) + .def("getBels", &Chip::getBels) + .def("getWires", &Chip::getWires); + + } -- cgit v1.2.3