Krystine Sherwin
7c24b69e62
register.cc: Make cmd paths proximate
...
The CMake refactor changes relative paths to absolute when calling `source_location::current()`. Use the path to `register.cc` to find the root yosys dir, and use that as the base for other paths.
Includes provisions for when plugins have a valid location; if it's not in the yosys source tree we shouldn't try to make the path relative, and we shouldn't try to auto group by path (since such groups will never be allocated, leaving them as unknown is preferable).
Limited to non wasm (I think that's the only one where we can't (easily) use `<filesystem>`). But where we do use `<filesystem>` we can also simplify the auto group to use `fs::path::parent_path()`.
2026-06-04 20:34:52 +12:00
Catherine
afc0e78d11
Update top-level Python project for CMake compatibility.
...
This commit reimplements the (no longer recommended) setuptools based
build system using a standards-based in-tree PEP517 build backend.
The implementation is partially based on
https://codeberg.org/ziglang/zig-pypi/src/branch/main/make_wheels.py
which is licensed under BSD-0-clause.
It also adds a new option `YOSYS_BUILD_PYTHON_ONLY` that is available
only if the binary or the library aren't going to be installed, which
turns off these targets entirely, as well as some dependent ones
(e.g. tests).
Co-authored-by: Mohamed Gaber <me@donn.website>
2026-06-03 09:03:23 +00:00
Catherine
780588f28c
Drop YOSYS_ENABLE_HELP_SOURCE since C++20 is required.
2026-06-03 08:58:11 +00:00
Catherine
0d15cb55bf
Fix Windows portability issues that break MSVC build.
2026-06-03 08:58:11 +00:00
Miodrag Milanovic
ce280354cf
Update CI scripts for CMake
...
Co-authored-by: Catherine <whitequark@whitequark.org>
2026-06-03 08:58:11 +00:00
Catherine
a727e7f6e7
Migrate build system to CMake
...
See #5895 for details.
This commit does not include CI or documentation changes.
2026-06-03 08:58:10 +00:00
Emil J. Tywoniak
0c2786be1f
threading: make no-op locks specialized to Mutex instead of templates
2026-05-18 16:26:14 +02:00
Emil J. Tywoniak
1c831aa50d
threading: whitespace
2026-05-18 16:26:14 +02:00
Emil J. Tywoniak
d322e2fbe0
threading: redirect locks to no-op when ENABLE_THREADS=0 or undefined YOSYS_ENABLE_THREADS
2026-05-18 16:14:01 +02:00
Miodrag Milanovic
75dcbe03c6
Convert RTLIL::unescape_id of IdString to unescape()
2026-05-16 19:49:45 +02:00
Miodrag Milanovic
8bbc3c359c
Remove id2cstr uses in our code base
2026-05-16 19:49:45 +02:00
Miodrag Milanović
1d87cefd80
Merge pull request #5882 from YosysHQ/std_cpp20
...
Bump required standard to C++20
2026-05-15 13:13:43 +00:00
Miodrag Milanović
36eceed720
Merge pull request #5862 from codexplorer-fish/cleaning-up-log-id
...
Cleaning up log_id()
2026-05-15 11:07:43 +00:00
Miodrag Milanovic
70b17181b4
Bump gcc and clang versions
2026-05-14 10:51:40 +02:00
Miodrag Milanovic
105011a53b
Zero array for for MSVC
2026-05-13 12:05:13 +02:00
Miodrag Milanovic
1ef6311e5b
Update documentation and few more defines
2026-05-13 11:24:45 +02:00
Miodrag Milanovic
1e28e8ccab
Handle unused variable for WIN32
2026-05-13 09:49:39 +02:00
Emil J. Tywoniak
74efc883c7
threading: temporarily cast to void unused stuff, until we rework single-threaded builds again
2026-05-12 23:16:43 +02:00
Emil J. Tywoniak
4eb1c61bd5
hashlib: error on unused containers
2026-05-12 12:51:41 +02:00
Codexplorer
e41b969da2
Refactored uses of log_id()
2026-05-08 20:59:24 -07:00
Codexplorer
89d83a3410
Logging now handles classes with an IdString "name" member
2026-05-08 16:30:25 -07:00
Lofty
ab316c14d2
Merge pull request #5844 from YosysHQ/lofty/abc-refactor-5
...
abc_new: integration testing via synth_gatemate
2026-05-06 13:40:15 +00:00
Lofty
de1dd3b1c5
add aiger2_zbuf to constids
2026-05-06 14:03:07 +01:00
bin
5dfe1937a0
Upgrade to WASI SDK 33 and enable exceptions
2026-05-01 13:30:43 -04:00
Emil J
627b691578
Merge pull request #5831 from stashcroft/main
...
Make sure co-simulation only uses integer arithmetic
2026-04-27 14:03:58 +00:00
Emil J
ec0a102302
Merge pull request #5832 from YosysHQ/emil/simple-extract
...
rtlil: rewrite SigSpec::extract for perf and packing
2026-04-24 19:03:53 +00:00
Emil J. Tywoniak
10bbda93f7
rtlil: extend SigSpec::extract test
2026-04-24 11:04:19 +02:00
Emil J. Tywoniak
25b9b796c4
rtlil: complicate extract again for packing
2026-04-24 11:04:19 +02:00
Scott Ashcroft
23a05fcf35
Add comments to make sure it is clear scale is an exponent of 10
2026-04-23 17:22:14 +01:00
Scott Ashcroft
e69341cd5f
Make sure co-simulation only uses integer arithmetic
2026-04-23 17:22:14 +01:00
Emil J. Tywoniak
14b0efeced
rtlil: simplify extract for performance
2026-04-23 13:58:20 +02:00
Emil J
64e7ce2f57
Merge pull request #5803 from YosysHQ/emil/specrule-port-sanity
...
Fix $specrule port naming inconsistency
2026-04-22 10:46:36 +00:00
Petter Reinholdtsen
89d360aa4a
Rewrote Linux edition of proc_self_dirname() to handle any symlink length.
...
This make sure the method work also when the program is located in
deep or long file paths, longer than both PATH_MAX and "getconf
PATH_MAX .". Use the same code on GNU Hurd, where it now work.
I am not sure how to test this in a platform independent way.
2026-04-19 20:56:05 +02:00
Emil J. Tywoniak
0b3d03e69c
newcelltypes: fix $specrule port naming
2026-04-13 22:34:46 +02:00
Emil J. Tywoniak
3e45f9729e
fix $specrule port naming
2026-04-13 22:34:46 +02:00
nella
a02c238874
Consolidate Wallace from booth and CSA.
2026-04-13 12:48:05 +02:00
Lofty
d51a5535c7
Merge pull request #5798 from rocallahan/hashtable-destruction-race
...
Avoid racing accesses to shards[0] in ShardedHashtable parallel destruction
2026-04-11 10:25:58 +00:00
nella
a54bca5493
Merge pull request #5794 from rocallahan/dispatch-pool-destruction
...
Fix data race in ParallelDispatchThreadPool destruction
2026-04-09 09:57:25 +00:00
Robert O'Callahan
1f6559a5cf
Avoid racing accesses to shards[0] in ShardedHashtable parallel destruction
2026-04-08 21:56:36 +00:00
Emil J
b485173428
Merge pull request #5792 from YosysHQ/emil/toposort-stability
...
toposort: avoid run to run variance caused by pointer sensitivity
2026-04-08 08:51:47 +00:00
Robert O'Callahan
d586af0074
Fix data race in ParallelDispatchThreadPool destruction
2026-04-07 23:21:17 +00:00
Emil J. Tywoniak
41b41fefb3
utils: forbid the use of std::less on pointers in TopoSort
2026-04-06 15:09:52 +02:00
Emil J. Tywoniak
2033df5958
utils: refactor TopoSort
2026-04-06 15:09:52 +02:00
Lofty
162eeea29a
cellaigs: remove some dead code
2026-03-31 09:37:18 +01:00
Robert O'Callahan
290fb0556d
Prevent race on num_active_worker_threads_.
...
The core issue here is that we need to ensure `num_active_worker_threads_`
is read before incrementing `done_workers`. See the comments
added in this PR to explain why, and why the resulting code is
race-free.
2026-03-24 22:20:18 +00:00
Emil J
7b2ab9b245
Merge pull request #5763 from YosysHQ/emil/c-slow-init
...
genrtlil: fast memory initialization
2026-03-23 10:21:21 +00:00
nella
ee0461eb00
Change time log format.
2026-03-19 14:38:22 +01:00
nella
d6ab610622
Implement wall clock time meas.
2026-03-19 14:38:22 +01:00
Emil J. Tywoniak
ea11453cef
rtlil: faster remove2
2026-03-18 23:33:35 +01:00
Emil J
c8f715fed8
Merge pull request #5664 from rocallahan/parallel-opt-clean
...
Parallelize `opt_clean` pass
2026-03-16 09:52:34 +00:00