3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-06-06 17:11:01 +00:00
Commit graph

2093 commits

Author SHA1 Message Date
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