Commit Graph

219 Commits

Author SHA1 Message Date
Miodrag Milanović 6d187fb8d0
Update CI and README for Qt6 (#1584)
Co-authored-by: OpenProgger <openproggerfreak@gmail.com>
2025-10-17 14:16:07 +02:00
Miodrag Milanovic f245185da8 clangformat 2025-10-15 15:38:35 +02:00
egorxe 5194b5cc0a
MachXO2. Add support for several IO parameters. (#1572) 2025-10-13 11:06:44 +02:00
Miodrag Milanovic 2c20ca917c clangformat 2025-07-28 12:11:07 +02:00
via 840354a28a
Fixes for I3C pins and RPLL (#1516) 2025-07-10 14:47:49 +02:00
Miodrag Milanović e12093201a
CMake: Add include guards when IMPORT_BBA_FILES is used (#1438) 2025-01-23 10:54:37 +01:00
Catherine 90d746f79e CMake: add support for exporting and importing .bba files.
This is useful for certain cross-compilation workloads, and to cache
rarely changing build products.

To use this functionality, build e.g. as follows:

    cmake . -B build-export -DEXPORT_BBA_FILES=../bba-files -DARCH=all
    cmake --build build-export -t nextpnr-all-bba

    cmake . -B build-import -DIMPORT_BBA_FILES=../bba-files -DARCH=all
    cmake --build build-import
2025-01-23 07:49:12 +00:00
Catherine cd7f7c12f1 CMake: refactor architecture-specific build system parts.
Two user-visible changes were made:
* `-DUSE_RUST` is replaced with `-DBUILD_RUST`, by analogy with
  `-DBUILD_PYTHON`
* `-DCOVERAGE` was removed as it doesn't work with either modern GCC
  or Clang
2025-01-21 17:13:03 +00:00
Catherine bb2336ad73 Fix `#embed` support in bbasm and use it when available.
This removes the atomic rename for bbasm outputs because it embeds
the resulting paths into the `.cc` files in embed mode. In any case
the write should be fast enough to not be a big risk for interrupted
builds.

This was tested with Clang 19 only (gcc hasn't had a release that
supports `#embed` yet).
2025-01-21 17:13:03 +00:00
Catherine f5776a6d64 CMake: eliminate `family.cmake`/`CMakeLists.txt` split.
While it served a purpose (granting the ability to build `.bba` files
separately from the rest of nextpnr), it made things excessively
convoluted, especially around paths.

This commit removes the ability to pre-generate chip databases. As far
as I know, I was the primary user of that feature. It can be added back
if there is demand for it.

In exchange the per-family `CMakeLists.txt` files are now much easier
to understand.
2025-01-21 17:13:03 +00:00
Catherine a951faa16d CMake: extract bbasm compilation into a function.
This fully preserves existing functionality, although the `embed` mode
is untested and seems broken.
2025-01-21 17:13:03 +00:00
Catherine d214308f5f CMake: reformat for consistency.
Normalize keywords to:

    if (...)
    elseif (...)
    else()
    endif()

    foreach (...)
    endforeach()

    other(...)

Normalize whitespace to 4 spaces.
2025-01-16 11:36:44 +01:00
Catherine 574f504787 Find all components of Python at the same time.
This is explicitly recommended by the FindPython module documentation
and is required to avoid failed builds on some systems. See:
https://cmake.org/cmake/help/latest/module/FindPython.html
2025-01-13 03:29:43 +00:00
gatecat 9b51c6e337 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-30 14:51:33 +02:00
Lofty 506d5f9422 machxo2: less pessimistic delay prediction 2023-11-09 06:48:50 +01:00
gatecat 74d7ebc71f clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-10-28 17:10:42 +02:00
Miodrag Milanovic 95e7598cc6 Fix timing lookup for DP8KC 2023-10-02 14:49:17 +02:00
Miodrag Milanovic e4cb7ea337 proper clock calc due after funcion change 2023-10-02 14:49:17 +02:00
Miodrag Milanovic f0325730a8 made higher estimate and use proper speed 2023-10-02 14:49:17 +02:00
Miodrag Milanovic c2e7d3d611 remove commented sections 2023-10-02 14:49:17 +02:00
Miodrag Milanovic 1a92c83c3a properly assign latest fuzzed data 2023-10-02 14:49:17 +02:00
Miodrag Milanovic ed7064b210 select proper signal 2023-10-02 14:49:17 +02:00
Miodrag Milanovic 72546a2186 made delay_t int type 2023-10-02 14:49:17 +02:00
Miodrag Milanovic 657d2898cf import proper data where possible 2023-10-02 14:49:17 +02:00
Miodrag Milanovic c2b75b355f use timing data 2023-10-02 14:49:17 +02:00
Miodrag Milanovic 40313eacf0 fix import 2023-10-02 14:49:17 +02:00
Miodrag Milanovic 1edb449601 optimization/cleanup 2023-10-02 14:49:17 +02:00
Miodrag Milanovic 58cb8a830a Load timing data 2023-10-02 14:49:17 +02:00
gatecat a9a9251e42 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-08-31 10:30:19 +02:00
Miodrag Milanovic b9592093b5 Update examples to synth_lattice 2023-08-30 16:27:17 +02:00
Miodrag Milanovic 688f1ba983 widelut support for xo2/xo3/xo3d 2023-08-29 10:04:58 +02:00
Miodrag Milanovic 053d89570f Use type name directly 2023-08-17 11:18:45 +02:00
Miodrag Milanovic adacaf65f4 additional new constants 2023-08-17 11:18:45 +02:00
Miodrag Milanovic 83f65169a3 different oscilator for XO3D 2023-08-17 11:18:45 +02:00
rowanG077 914999673c Rip out budgets 2023-06-20 10:57:10 +02:00
gatecat e3529d3356 machxo2: Global placement and clock routing from nexus
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-08 10:38:16 +02:00
Miodrag Milanovic 91771895b6 Removed not tested/used code 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 10595726c1 fix warning 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 8fd4735292 handle some SYSCONFIG 2023-05-04 14:23:08 +02:00
gatecat 655aee1f9d Fix invalid accesses during certain IO packing cases 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 582cd526ac display freq with two digits after decimal point 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 909917cb61 Add clock constraints for new primitives 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 90a6578c53 handle VLO and VHI 2023-05-04 14:23:08 +02:00
Miodrag Milanovic a2d08dc79e Made PDPW8KC to work 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 01c631870e pio and iologic missing constants 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 8c19e6f83a clangformat 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 7ac3d0d901 basic support for few small primitives 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 2a35f0292a add constants for new primitives 2023-05-04 14:23:08 +02:00
Miodrag Milanovic c6f1f124f2 removed commented and not used code 2023-05-04 14:23:08 +02:00
Miodrag Milanovic 3281ca6717 Add missing muxes for BRAM 2023-05-04 14:23:08 +02:00