nextpnr portable FPGA place and route tool
Go to file
David Shah 1d39924c14 ice40: More Python bindings and examples
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 15:04:07 +02:00
common Replacing Boost type_traits with std 2018-06-07 13:36:42 +02:00
dummy Reformat Python bindings and ice40 main 2018-06-07 13:10:53 +02:00
frontend/json Fixed run-time bug in json parser 2018-06-06 15:02:20 -04:00
gui Allow loading and running Python files before GUI starts 2018-06-07 08:56:54 +02:00
ice40 ice40: More Python bindings and examples 2018-06-07 15:04:07 +02:00
python ice40: More Python bindings and examples 2018-06-07 15:04:07 +02:00
.clang-format Fix clang-format include order issues 2018-06-07 12:48:53 +02:00
.gitignore Added the build directory to .gitignore 2018-06-06 15:45:53 -04:00
CMakeLists.txt Attempt to add JSON parser--not working yet w/ build system 2018-06-06 14:44:54 -04:00
README.md cmake: Add HX1K-only builds support 2018-06-07 13:20:16 +02:00

nextpnr -- a portable FPGA place and route tool

Supported Architectures

  • iCE40

Prequisites

  • CMake 3.3 or later
  • Modern C++11 compiler, clang recommended
  • Qt5 or later (qt5-default for Ubuntu 16.04)
  • Python 3.5 or later, including development libraries (python3-dev for Ubuntu)
  • Boost libraries (libboost-dev or libboost-all-dev for Ubuntu)
  • Icestorm, with chipdbs installed in /usr/local/share/icebox

Building

  • Use CMake to generate the Makefiles (only needs to be done when CMakeLists.txt changes)
    • For a debug build, run cmake -DCMAKE_BUILD_TYPE=Debug .
    • For a debug build with HX1K support only, run cmake -DCMAKE_BUILD_TYPE=Debug -DICE40_HX1K_ONLY=1 .
    • For a release build, run cmake .
  • Use Make to run the build itself
    • For all targets, just run make
    • For just the iCE40 CLI binary, run make nextpnr-ice40
    • For just the iCE40 Python module, run make nextpnrpy_ice40
    • Using too many parallel jobs may lead to out-of-memory issues due to the significant memory needed to build the chipdbs

Running

  • To run the CLI binary, just run ./nextpnr-ice40
  • The Python module is called nextpnrpy_ice40.so. To test it, run PYTHONPATH=. python3 python/python_test.py