Commit Graph

118 Commits

Author SHA1 Message Date
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
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
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
Miodrag Milanović
0e69425794
Add expandBoundingBox method to API (#1395)
* Add expandBoundingBox method to API

* Update API documentation
2024-11-26 10:13:41 +01:00
gatecat
9b51c6e337 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-30 14:51:33 +02:00
gatecat
54b2045726 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-06-20 10:58:18 +02:00
rowanG077
914999673c Rip out budgets 2023-06-20 10:57:10 +02:00
Lofty
119b47acf3 mistral: add 8x40-bit M10K addressing mode 2023-05-31 00:49:27 +01:00
Lofty
c5666c47fe mistral: fix corner cases related to 13x1-bit M10Ks 2023-05-29 20:02:41 +01:00
Lofty
e5a5de53c1 mistral: fallback to guess if simulator has no waveform 2023-05-25 18:35:52 +01:00
Lofty
7912a61ce3
mistral: rework delay estimate (#1161) 2023-05-22 13:01:20 +02:00
gatecat
7dafd4da58 mistral: Fix uninitialised comb_out for plain LUTs
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-22 09:44:38 +02:00
gatecat
1d3e5151ba clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-19 09:00:31 +02:00
Lofty
7a827b1c78 mistral: improve timing calculation 2023-05-17 20:38:03 +02:00
gatecat
98121308e0 mistral: Don't allow route-through LUTs in carry-mode ALMs
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-17 10:31:52 +02:00
gatecat
bc7b8b63ed mistral: Add a basic global clock router
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-16 18:17:06 +02:00
gatecat
e4fcd3740d cmake: Make HeAP placer always-enabled
Signed-off-by: gatecat <gatecat@ds0.me>
2023-03-17 10:38:11 +01:00
gatecat
603b60da8d api: add explain_invalid option to isBelLocationValid
Signed-off-by: gatecat <gatecat@ds0.me>
2022-12-07 10:27:58 +01:00
gatecat
e260ac33ab refactor: ArcBounds -> BoundingBox
Signed-off-by: gatecat <gatecat@ds0.me>
2022-12-07 10:00:53 +01:00
gatecat
c62a947a28 api: Make NetInfo* of checkPipAvailForNet const
Signed-off-by: gatecat <gatecat@ds0.me>
2022-12-02 14:20:39 +01:00
gatecat
c60fb94b6c refactor: Use IdString::in instead of || chains
Signed-off-by: gatecat <gatecat@ds0.me>
2022-08-10 18:58:22 +01:00
gatecat
77c82b0fbf refactor: id(stringf(...)) to new idf(...) helper
Signed-off-by: gatecat <gatecat@ds0.me>
2022-08-10 10:57:46 +01:00
gatecat
5e9236f9d4 mistral: Updated CLK mux select name
Signed-off-by: gatecat <gatecat@ds0.me>
2022-03-18 18:54:40 +00:00
gatecat
d8244bb62d mistral: Update to latest upstream
Signed-off-by: gatecat <gatecat@ds0.me>
2022-03-17 19:19:38 +00:00
Lofty
883f274802 mistral: M10K initialisation support 2022-03-12 17:08:20 +00:00
Lofty
3e688a3ac9 mistral: fixes and debug info 2022-03-09 17:13:54 +00:00
Lofty
9be65cd67c mistral: some more M10K fixes 2022-03-09 17:13:54 +00:00
gatecat
da65afc83b mistral: M10K pack fixes
Signed-off-by: gatecat <gatecat@ds0.me>
2022-03-09 17:13:54 +00:00
Lofty
78474a5dec mistral: preliminary bitstream info 2022-03-09 17:13:54 +00:00
Lofty
34b7cdb533 mistral: move M10K code to pack 2022-03-09 17:13:54 +00:00
Lofty
33e031a284 mistral: M10K cell function 2022-03-09 17:13:54 +00:00
Lofty
af6735bdf4 mistral: add M10K bel 2022-03-09 17:13:54 +00:00
gatecat
86699b42f6 Switch to potentially-sparse net users array
This uses a new data structure for net.users that allows gaps, so
removing a port from a net is no longer an O(n) operation on the number
of users the net has.

Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-27 13:47:05 +00:00
gatecat
6a32aca4ac refactor: New member functions to replace design_utils
Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-18 11:13:18 +00:00
gatecat
76683a1e3c refactor: Use constids instead of id("..")
Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-16 17:09:54 +00:00
gatecat
02e6d2dbca mistral: Fix 'not handled in switch' compiler warning
Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-16 13:39:57 +00:00
gatecat
84399caebe run clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-03 15:28:46 +00:00
Olivier Galibert
27d38de612 Mistral: Use log_error, remove leftover debugging printf. 2022-01-19 08:42:29 +01:00
Olivier Galibert
91a0eb9367 Mistral: fix gpio OE, add hmc bypass support 2022-01-18 22:37:35 +01:00
Olivier Galibert
b5fc788153 Sync with the current state of mistral 2022-01-18 15:12:45 +01:00
gatecat
2c43ac992f mistral: Update to latest enum name
Signed-off-by: gatecat <gatecat@ds0.me>
2021-12-22 13:21:18 +00:00
gatecat
ddb084e9a8 archapi: Use arbitrary rather than actual placement in predictDelay
This makes predictDelay be based on an arbitrary belpin pair rather
than a arc of a net based on cell placement. This way 'what-if'
decisions can be evaluated without actually changing placement;
potentially useful for parallel placement.

A new helper predictArcDelay behaves like the old predictDelay to
minimise the impact on existing passes; only arches need be updated.

Signed-off-by: gatecat <gatecat@ds0.me>
2021-12-19 17:15:15 +00:00
gatecat
78905c3ecf mistral: DATAIN and DATAOUT of GPIO have swapped
Signed-off-by: gatecat <gatecat@ds0.me>
2021-12-12 13:03:28 +00:00
gatecat
df061b1a9c mistral: Add 'tools' dir to include path
Signed-off-by: gatecat <gatecat@ds0.me>
2021-12-11 19:07:30 +00:00
Olivier Galibert
d51c559ab8 mistral: Sync with yet another reorganization 2021-10-28 11:00:44 +02:00
Olivier Galibert
a0f1522167 Normalize formatting 2021-10-19 22:36:25 +02:00
Olivier Galibert
8d330f1dc7 mistral: Use the iterators 2021-10-19 22:25:55 +02:00
gatecat
3b99db294f
Merge pull request #848 from galibert/master
mistral: Support the new routes-to-bin intermediate tool generation
2021-10-17 19:02:25 +01:00
Olivier Galibert
f88c119461 mistral: Add internal oscillator support 2021-10-17 14:26:24 +02:00
Olivier Galibert
60833abd3b mistral: Support the new routes-to-bin intermediate tool generation 2021-10-17 11:26:06 +02:00