aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Make HeAP placer always-enabledgatecat2023-03-171-6/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* CMake: detect platform support for threadsCatherine2023-02-231-14/+13
|
* CMake: check if warning flag is supported before use.Catherine2023-02-231-1/+9
| | | | Clang 11 is failing on -Wno-format-truncation.
* use eigen as an IMPORTED target in CMakeDan Callaghan2023-01-241-2/+1
| | | | | | | | | | Eigen considers the EIGEN3_INCLUDE_DIRS and EIGEN3_DEFINITIONS variables to be deprecated and they will no longer be exported in the next release after 3.4.0: https://gitlab.com/libeigen/eigen/-/commit/f2984cd0778dd0a1d7e74216d826eaff2bc6bfab Use the IMPORTED target instead, which seems to be the preferred way of consuming third-party CMake libraries.
* Replace deprecated method of finding Python 3LAK1322022-08-171-4/+4
|
* Enable building against unbundled pybind11Gabriel Somlo2022-07-041-1/+6
| | | | Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
* Bump minimum CMake to 3.13Lofty2022-05-211-1/+1
|
* ci: Restructure and move entirely to GH actions from Cirrusgatecat2022-04-081-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Split up common into kernel,place,routegatecat2022-04-081-3/+6
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* cmake: properly include TBB libraries.Irides2022-04-051-1/+1
|
* gui: Improve Fatal Error messagegatecat2021-07-201-0/+5
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* mistral: Build libmistral as a cmake subdirgatecat2021-06-041-0/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Remove redundant code after hashlib movegatecat2021-06-021-15/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* mistral: Renamed arch from cyclonevgatecat2021-05-151-2/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* cyclonev: Update in line with nextpnr changesgatecat2021-05-151-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* cyclonev: basic platformDan Ravensloft2021-05-151-1/+1
|
* Hash table refactoringgatecat2021-04-141-2/+9
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Add CMake option to enable IPO (enabled by default).William D. Jones2021-04-071-2/+13
|
* Initial lookahead for FPGA interchange.Keith Rothman2021-03-231-0/+7
| | | | | | | | | Currently the lookahead is disabled by default because of the time to compute and RAM usage. However it does appear to work reasonably well in testing. Further effort is required to lower RAM usage after initial computation, and explore trade-off for cheaper time to compute. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* cmake: Use IPO only if supportedgatecat2021-03-191-3/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Add option to link against "libprofiler".Keith Rothman2021-03-181-0/+4
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add IPO support for nextpnr, and have it enabled by default.Keith Rothman2021-03-181-0/+7
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Fixup GUI link dependencies on headers from libraries.Keith Rothman2021-03-181-4/+12
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* CMake: Don't include Abseil if it is not used.whitequark2021-03-121-1/+3
|
* Only depend on Abseil in threaded builds.whitequark2021-03-101-2/+4
| | | | | | Abseil has a hard dependency on threads (not just in the build system but in many places in the base libraries), so there is no way to use it on WASI at the moment.
* Add absl::flat_hash_map.Keith Rothman2021-03-011-0/+5
| | | | | | | This lowers the CPU cost of using the flat wire map in router2, and should use less memory as well. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* cmake: Don't enable any -Werror flags without opt-in.whitequark2021-02-261-1/+1
|
* Fix compiler warnings introduced by -Wextragatecat2021-02-251-1/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* cmake: Enable -Wextra, and -Werror in some casesgatecat2021-02-251-3/+8
| | | | | | -Werror is not enabled by default, except on CI and for a few specific common traps, to avoid the inevitable breakages when new compiler versions add new diagnostics. Signed-off-by: gatecat <gatecat@ds0.me>
* Add FPGA interchange frontend and backend.Keith Rothman2021-02-151-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* machxo2: Add clang-format exception to machxo2 binary blob C sources.gatecat2021-02-121-0/+1
|
* Create machxo2 backend (renamed from generic).gatecat2021-02-121-2/+2
| | | | Signed-off-by: William D. Jones <thor0505@comcast.net>
* Initial FPGA interchange (which is just a cut-down xilinx arch).Keith Rothman2021-02-041-2/+2
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Default to Release, but allow other modes (e.g. Debug, RelWithDebInfo).Keith Rothman2021-01-271-1/+3
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Gowin target (#542)Pepijn de Vos2020-12-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * load wires * add slice bels * add IOB * add aliases * local aliases * broken packing stuff * working packer * add constraints * pnr runs1111 * add timing info * constraints * more constraint stuff * add copyright * remove generic reference * remove parameters * remove generic python api * add newline to end of file * some small refactoring * warn on invalid constraints * don't error on missing cell * comment out debugging print * typo * avoid copy * faster empty idstring * remove intermediate variable * no more deadnames * fix cst warnings * increase ripup and epsilon a bit * take single device parameter * add info to readme * gui stubs * Revert 4d03b681a8634e978bd5af73c97665500047e055 * assign ff_used in assignArchInfo * decrease beta for better routability * try to fix CI
* cmake: Disable building GUI by defaultDavid Shah2020-12-081-1/+1
| | | | | | | This should reduce the number of Qt5-related issues, which often prevent even the basic command line flow from working. Signed-off-by: David Shah <dave@ds0.me>
* nexus: Update docs and CMakeDavid Shah2020-11-301-1/+9
| | | | Signed-off-by: David Shah <dave@ds0.me>
* nexus: Build and embed chipdb automaticallyDavid Shah2020-11-301-0/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Adding archdefs and bba PODsDavid Shah2020-11-301-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Building nextpnr on Devuan ascii 2.0 needs the "C" language enabled.Rob Landley2020-09-161-1/+1
| | | | See https://lists.j-core.org/pipermail/j-core/2020-September/000940.html
* fix whitespaceMiodrag Milanovic2020-07-241-4/+4
|
* Needed by python lib itself for staticMiodrag Milanovic2020-07-231-0/+5
|
* Initial conversion to pybind11Miodrag Milanovic2020-07-231-56/+1
|
* Fix clangformat and execute itMiodrag Milanovic2020-06-271-2/+2
|
* CMake: require at least version 3.5 (Ubuntu 16.04).whitequark2020-06-251-2/+1
|
* CMake: rewrite chipdb handling from ground up.whitequark2020-06-251-10/+10
|
* CMake: only request a CXX compiler.whitequark2020-06-241-1/+1
|
* CMake: promote bba to a true subproject.whitequark2020-06-231-1/+15
|
* Merge pull request #447 from whitequark/wasiDavid Shah2020-05-241-2/+26
|\ | | | | Port nextpnr-{ice40,ecp5} to WASI
| * Port nextpnr-{ice40,ecp5} to WASI.whitequark2020-05-231-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involves very few changes, all typical to WASM ports: * WASM doesn't currently support threads or atomics so those are disabled. * WASM doesn't currently support exceptions so the exception machinery is stubbed out. * WASM doesn't (and can't) have mmap(), so an emulation library is used. That library currently doesn't support MAP_SHARED flags, so MAP_PRIVATE is used instead. There is also an update to bring ECP5 bbasm CMake rules to parity with iCE40 ones, since although it is possible to embed chipdb into nextpnr on WASM, a 200 MB WASM file has very few practical uses. The README is not updated and there is no included toolchain file because at the moment it's not possible to build nextpnr with upstream boost and wasi-libc. Boost requires a patch (merged, will be available in boost 1.74.0), wasi-libc requires a few unmerged patches.