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
43b2f38520
CMake: use imported target for pybind11.
...
This accounts for the use of either the system or the vendored pybind11.
Fixes #1428 .
2025-01-21 15:05:57 +00:00
Catherine
155adc3f5d
CMake: rationalize and refactor build system.
...
The two main changes, done together in this commit, are:
* Eliminating most instances of `aux_source_directory()`, replacing
them with explicit file listings; and
* Moving these file listings into respective subdirectories by
representing respective nextpnr components as interface libraries.
In addition, the GUI CMake script tree was simplified since it had
a lot of unused/redundant code.
The `aux_source_directory()` command is not recommended for use by
CMake itself because it misses dependency changes when adding/removing
files, and consequently causes build failures requiring a clean rebuild.
This commit does not touch anything related to architectures/families,
which are very complex and redundant all on their own.
2025-01-16 11:36:44 +01:00
Catherine
5fe680390f
Various fixes for clang/libc++ build ( #1415 )
...
* Gowin: add header includes required on libstdc++.
* kernel: fix incorrect printf-style format.
* himbaechel: add missing `override` qualifiers.
* Gowin: remove unnecessary `std::move`.
These calls inhibit RVO, a stronger optimization than moving an object.
2025-01-12 08:11:33 +01:00
Tarik Graba
f01465f628
Add attributes to the hierarchical cells ( #1405 )
...
* Adds attributes to the hierarchical cells
* python: add binding for hierarchical cells attributes
* frontend/base: import hierarchical cells attributes
2024-12-17 11:30:39 +01:00
Miodrag Milanović
d810aac867
Add GroupId related calls to Himbaechel API ( #1399 )
...
* Add GroupId related calls to Himbaechel API
* Example uarch using new API features
* Update drawGroup to propagate only GroupId
2024-12-05 13:59:33 +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
Meinhard Kissich
cf42baa43b
Fix RNG seed initialization ( #1383 )
2024-10-09 18:25:02 +02:00
Pepijn de Vos
028be1462a
apicula: add support for magic sip pins ( #1370 )
...
* apicula: add support for magic sip pins
* fix nullptr check
* DDR fix by xiwang
* WIP support for setting the iostd
* add iostd
2024-10-09 15:16:36 +02:00
Rowan Goemans
0e5b1348e6
timing_log: Handle potentially missing net when reporting crit path ( #1381 )
2024-10-04 08:07:55 +02:00
Adrien Prost-Boucle
b3b2392893
clang-format on basectx.h
2024-10-01 15:24:40 +02:00
Adrien Prost-Boucle
cc04882b17
BaseCtx : Fix crash in getNetByAlias()
2024-10-01 15:24:40 +02:00
gatecat
9b51c6e337
clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-30 14:51:33 +02:00
Adrien Prost-Boucle
2031a067a0
Himbaechel xilinx : More flexibility about types of DSP parameters
2024-09-24 12:06:56 +02:00
Rowan Goemans
bbdf7aacb0
timing_log: warn on min time violation when timing fail is allowed
2024-09-24 08:57:21 +02:00
Rowan Goemans
0af42f1218
common: Use NPNR_ASSERT_FALSE
for unreachable case
2024-09-24 08:57:21 +02:00
Rowan Goemans
93e233dad9
timing: Fix hold slack not matching reported path delay
2024-09-24 08:57:21 +02:00
Rowan Goemans
098dcaedec
timing: remove the articial clock delay inflation
2024-09-24 08:57:21 +02:00
Rowan Goemans
0fce4b8f4e
timing: lower clock_delay_fact to 1 to check if CI passes
2024-09-24 08:57:21 +02:00
Rowan Goemans
25d64b2105
timing_log: Fix logging indendation to match master
...
timing: Disable clock_skew analysis by default
2024-09-24 08:57:21 +02:00
Rowan Goemans
8ee2c5612c
timing: Add safe zero check function for delay_t
2024-09-24 08:57:21 +02:00
Rowan Goemans
a7f79fd681
timing: minor cleanup and stupid mistake fixups
2024-09-24 08:57:21 +02:00
Rowan Goemans
bca6f6394a
timing: Fix slack calculations
...
timing: Fix max_delay_by_domain_pair function
timing: Fix hold time check
2024-09-24 08:57:21 +02:00
Rowan Goemans
eb0bf9ea9c
report: Handle new segment types
...
timing_log: Use common segment type strings
2024-09-24 08:57:21 +02:00
Rowan Goemans
3b7fec8c4f
report: Handle new segment types
2024-09-24 08:57:21 +02:00
Rowan Goemans
4488d42368
log: Remove bad usage of [[no_return]]
2024-09-24 08:57:21 +02:00
Rowan Goemans
8e12dfc693
timing: cleanup clock2clock reporting
...
timing: Add clock2clock delay as seperate
timing line item.
2024-09-24 08:57:21 +02:00
Rowan Goemans
86106cb49a
timing: integrate c2c delays and cleanup code
2024-09-24 08:57:21 +02:00
Rowan Goemans
fc3b2de8da
timing: Add clock skew to arrival and required time
2024-09-24 08:57:21 +02:00
Rowan Goemans
60ee682d58
timing: Make hold violations an error
2024-09-24 08:57:21 +02:00
Rowan Goemans
82ea65d984
timing: Report min delay violated in timing logger
2024-09-24 08:57:21 +02:00
Rowan Goemans
7aeed52c06
common: Add some convenience functions for development
2024-09-24 08:57:21 +02:00
Rowan Goemans
c25da06d03
timing: Start identification of min_delay violations
2024-09-24 08:57:21 +02:00
Rowan Goemans
44665a9c4d
timing: Allow critical path traversal for shortest paths
2024-09-24 08:57:21 +02:00
Rowan Goemans
2d542eb63a
timing: Add hold time to bound of critical path report
2024-09-24 08:57:21 +02:00
Jonas Thörnblad
6ca64526bb
Fix handling of RNG seed
...
* Fix truncation of output seed value from 64 bits to 32 bits (int
instead of uint64) when written to json file.
* Fix input seed value conversion when --seed option is used.
* Remove input seed value scrambling (use of rngseed()) when --seed
or --randomize-seed option is used since the output seed value will
be the scrambled value and not the seed that was actually supplied
or generated.
2024-09-18 16:29:32 +02:00
Rowan Goemans
8d0f52fbf9
timing: Move towards DelayPairs for timing reporting ( #1359 )
2024-09-11 07:23:46 +01:00
Rowan Goemans
0d5d32951c
SDC parsing support ( #1348 )
...
* kernel: Add SDC file parser
* kernel: Add sdc as valid option
* kernel/sdc: Add error on EOF when fetching strings
* kernel/sdc: WIP command parsing for set_false_path
* kernel/sdc: Fully parse set_false_path
* kernel/sdc: Handle review comments
2024-08-12 17:45:27 +02:00
gatecat
a29a17f8f2
clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-06-18 13:54:12 +02:00
gmanricks
f99346ba61
fix for windows path
2024-05-06 11:22:56 +02:00
Miodrag Milanovic
0dc4bcb203
Format utlilisation for larger FPGA as well
2024-05-06 11:22:33 +02:00
gatecat
3f2451f8d7
static: Guard density CSV dumps behind a flag
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-05-03 09:50:40 +02:00
Patrick Dähne
f085950383
Fixed header files for boost 1.85.0
2024-04-30 12:13:11 +02:00
Jason Thorpe
7f9f75c0d3
Tweak the FreeBSD version of proc_self_dirname() to work on NetBSD and use it.
...
Resolves issue #1298 .
2024-03-27 22:02:16 +00:00
gatecat
2afb1f632e
clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-01-12 10:09:28 +01:00
Lofty
d557e3e35f
hashlib: constify const_iterators
2024-01-04 17:32:56 +01:00
Lofty
d867019dcb
upgrade to C++17
2024-01-04 17:32:56 +01:00
gatecat
5013392841
Add trivially copyable invariant for ID types
...
Signed-off-by: gatecat <gatecat@ds0.me>
2024-01-04 17:04:28 +01:00
dragonmux
7fd80c5a92
common/kernel: Fixed unused parameters and spurious ;
warnings in some of the headers
2024-01-04 10:39:45 +01:00
Lofty
1bbcc5f2c4
(broken) third round of review fixes
2024-01-03 13:42:18 +01:00