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
Miodrag Milanovic
437b57a510
Added getBelGlobalBuf
2023-05-04 14:23:08 +02:00
Miodrag Milanovic
8c38e7ba61
Working BRAM
2023-05-04 14:23:08 +02:00
Miodrag Milanovic
3a7770dca2
Add missing bel pins
2023-05-04 14:23:08 +02:00
Miodrag Milanovic
19176ab597
Made PLL to work
2023-05-04 14:23:08 +02:00
Miodrag Milanovic
1b3283fb7c
Add constants for new bels
2023-05-04 14:23:08 +02:00