Robert O'Callahan
c742785b65
Merge b438afc2d8 into e2f0c4d9a0
2026-02-13 01:11:30 -05:00
Gus Smith
8ab105ac28
Merge pull request #4303 from Coloquinte/sat_choice
...
Infrastructure to run a Sat solver as a command
2026-02-11 06:54:53 -08:00
Robert O'Callahan
f34c6fec19
Add unit-tests for ParallelDispatchThread and friends
2026-02-08 22:52:17 +00:00
Gus Smith
1502e23371
Set solver from scratchpad or command line
2026-02-06 19:26:32 -08:00
Robert O'Callahan
c8298aae02
Parallelize Design::check()
2026-02-05 21:22:29 +00:00
Robert O'Callahan
63aa31172c
Parallelize collect_garbage()
2026-02-05 21:22:29 +00:00
Robert O'Callahan
e551e30fa3
Add FfInitVals::set_parallel() method
...
We'll use this later in the PR.
2026-02-05 21:22:29 +00:00
Robert O'Callahan
d5950a6c03
Add MonotonicFlag
...
We'll use this later in the PR.
2026-02-05 21:22:29 +00:00
Robert O'Callahan
b18ca8710e
Add ConcurrentWorkQueue
...
We'll use this later in the PR.
2026-02-05 21:22:29 +00:00
Robert O'Callahan
d0276169d3
Add ShardedHashSet
...
We'll use this later in the PR.
2026-02-05 21:22:29 +00:00
Robert O'Callahan
b06e903906
Add ShardedVector
...
We'll use this later in the PR.
2026-02-05 18:58:17 +00:00
Robert O'Callahan
0004708177
Add ParallelDispatchThreadPool
...
We'll use this later in the PR.
2026-02-05 18:58:17 +00:00
Robert O'Callahan
fb24763a15
Add work_pool_size, IntRange, item_range_for_worker, and ThreadIndex
...
We'll use these later in this PR.
2026-02-05 18:58:17 +00:00
Robert O'Callahan
3b563b877e
Make log_error() work in a Multithreaded context.
...
`log_error()` causes an exit so we don't have to try too hard here. The main
thing is to ensure that we normally are able to exit without causing a stack
overflow due to recursive asserts about not being in a `Multithreaded` context.
2026-02-05 18:58:17 +00:00
Robert O'Callahan
81fd03c6e4
Add IdString::unescape() method
...
We've already talked about adding this as an alternative to `log_id()`, and we'll
need it later in this PR.
2026-02-05 18:58:17 +00:00
Emil J
2aa0e1d009
Merge pull request #5629 from rocallahan/remove-zero-wires
...
Avoid scanning entire module in `Module::remove()` if there are no wires to remove
2026-02-04 17:44:24 +01:00
Emil J
59653da599
Merge pull request #5609 from nataliakokoromyti/upstream-design-run-pass
...
Add Design::run_pass()
2026-02-02 19:30:18 +01:00
nella
8f6c4d40e4
Merge pull request #5623 from YosysHQ/nella/opt-dff-rewrite
...
opt_dff restructure.
2026-01-28 14:41:40 +01:00
Krystine Sherwin
aaebce7adc
log_help: Don't reformat codeblocks
2026-01-28 08:07:44 +13:00
nella
9367090763
OptDff more accurate ctrl/pattern desc.
2026-01-26 22:19:36 +01:00
nella
5803461c24
opt_dff pattern extraction.
2026-01-26 22:10:10 +01:00
Robert O'Callahan
dcd7742d52
Avoid scanning entire module if there are no wires to remove
...
It's pretty common for `opt_clean` to find no wires to remove. In that case,
there is no point scanning the entire design, which can be significantly
expensive for huge designs.
2026-01-23 01:38:20 +00:00
Robert O'Callahan
2c0448a81b
Avoid spurious copy in IdStringCollector::trace_named()
2026-01-21 03:31:56 +00:00
Emil J. Tywoniak
befadf6d4d
consteval: describe
2026-01-19 12:00:18 +01:00
Natalia
cf511628b0
modify generator for pyosys/wrappers.cc instead of headers
2026-01-18 02:11:09 -08:00
Natalia
fb864e91ee
Add Design::run_pass() API for programmatic pass execution
...
This commit adds a new run_pass() method to the RTLIL::Design class,
providing a convenient API for executing Yosys passes programmatically.
This is particularly useful for PyYosys users who want to run passes
on a design object without needing to manually construct Pass::call()
invocations. The method wraps Pass::call() with appropriate logging
to maintain consistency with command-line pass execution.
Example usage (from Python):
design = ys.Design()
# ... build or load design ...
design.run_pass("hierarchy")
design.run_pass("proc")
design.run_pass("opt")
Changes:
- kernel/rtlil.h: Add run_pass() method declaration
- kernel/rtlil.cc: Implement run_pass() method
- tests/unit/kernel/test_design_run_pass.cc: Add unit tests
2026-01-14 17:35:45 -08:00
nella
763001885f
Merge pull request #5608 from YosysHQ/nella/rtlil-to-string
...
Add rtlil string getters
2026-01-14 19:00:47 +01:00
nella
210b733555
Add rtlil string getters
2026-01-14 15:37:18 +01:00
Emil J. Tywoniak
8e2038c419
Use digit separators for large decimal integers
2026-01-13 16:38:12 +01:00
Miodrag Milanovic
0e6973037d
Update year in banner and license
2026-01-13 14:23:51 +01:00
Robert O'Callahan
8da919587d
Parallelize opt_merge.
...
I'm not sure why but this is actually faster than existing `opt_merge` even with
YOSYS_MAX_THREADS=1, for the jpeg synthesis test. 16.0s before, 15.5s after for
end-to-end synthesis.
2026-01-08 04:21:39 +00:00
Emil J
0ab967b036
Merge pull request #5564 from rocallahan/pass-fuzz
...
Add support for fuzz-test comparison of two passes intended to give identical RTLIL results
2026-01-06 20:07:31 +01:00
Robert O'Callahan
a6d696ba2b
Give IdString a default move constructor and make it a POD type.
...
Now that we're not refcounting `IdString`, it can use the default move constructor.
This lets us make `IdString` a POD type so it can be passed in registers
in the standard C++ ABI.
2025-12-30 22:35:14 +00:00
Robert O'Callahan
48cdb499f2
Remove IdString::id_string().
...
This was needed for the short time when `ID()` could return a value of `StaticIdString`.
That is no longer a problem.
2025-12-22 01:57:30 +00:00
Robert O'Callahan
46cb05c471
Pass IdString by value instead of by const reference.
...
When IdString refcounting was expensive, it made sense to pass it by const reference
instead of by value, to avoid refcount churn. Now that IdString is not refcounted,
it's slightly more efficient to pass it by value.
2025-12-22 01:52:59 +00:00
Robert O'Callahan
ddd6a16ee0
Add -legalize option to read_rtlil
2025-12-21 21:47:48 +00:00
Emil J
f003eca615
Merge pull request #5526 from YosysHQ/emil/fix-cellaigs-function-arg-eval-order
...
cellaigs: fix function argument evaluation order
2025-12-12 10:00:09 +01:00
Emil J
5594b817cd
Merge pull request #5524 from rocallahan/single-thread-log
...
Check that we don't use logging during multithreading
2025-12-10 13:54:09 +01:00
Emil J
e08e9119ee
Merge pull request #5516 from rocallahan/limit-threads
...
Limit thread usage in tests
2025-12-10 13:45:07 +01:00
Emil J. Tywoniak
99e873efc9
cellaigs: fix AOI and OAI ordering
2025-12-10 12:41:13 +01:00
Emil J. Tywoniak
d932ce7f47
cellaigs: formatting
2025-12-10 12:33:17 +01:00
Emil J. Tywoniak
882001cb01
cellaigs: fix adder function argument evaluation order
2025-12-10 12:33:17 +01:00
Emil J. Tywoniak
7f3ea41103
cellaigs: fix function argument evaluation order
2025-12-10 11:36:37 +01:00
Emil J
1cceaa2a80
Merge pull request #5538 from YosysHQ/emil/driver-git-hash
...
driver: add --git-hash
2025-12-09 15:00:36 +01:00
Emil J. Tywoniak
6acb79afa2
driver: add --git-hash
2025-12-09 11:58:57 +01:00
Emil J. Tywoniak
23e1b0656c
version: add git hash string
2025-12-09 11:58:43 +01:00
Robert O'Callahan
d274ff8627
Delete prefix strings on shutdown to avoid triggering leak warnings.
...
Fixes #5532
2025-12-05 09:45:47 +00:00
Robert O'Callahan
638e904f91
Remove cover() coverage tracking
2025-12-04 16:27:13 +01:00
Robert O'Callahan
7219ac94b3
Add YOSYS_MAX_THREADS
2025-12-04 12:09:04 +01:00
Robert O'Callahan
7e75200b2a
Check that we don't use logging during multithreading
2025-11-29 22:47:23 +00:00