Krystine Sherwin
9d3d8bf502
Switch posix_spawn to posix_spawnp
2025-12-15 09:40:04 +13:00
Emil J
9871e9b17e
Merge pull request #5496 from YosysHQ/emil/liberty-flop-loops
...
read_liberty: support loopy retention cells
2025-12-01 22:50:20 +01:00
Emil J. Tywoniak
e8cbc92462
abc_new: sorted -> is_sorted
2025-11-24 11:46:09 +01:00
Mike Inouye
615e338acd
Fix abc_new pass when not in NDEBUG
2025-11-21 14:10:05 -08:00
Robert O'Callahan
e33ca17388
Force a newline to appear before YOSYS_ABC_DONE
2025-11-21 03:50:07 +00:00
Emil J. Tywoniak
b3112bf025
filterlib: prefer using precedence over unsynthesizable verilog
2025-11-21 00:43:54 +01:00
Robert O'Callahan
8c2984dc5f
Fix AbcModuleState::remap_name() to avoid calling IdString::c_str()
2025-11-12 11:52:04 +01:00
Emil J. Tywoniak
967e91aa73
libparse: fix parsing and memory safety of quoted values
2025-11-11 13:44:50 +01:00
Emil J
365c6753c4
Merge pull request #5453 from rocallahan/sigspec-onechunk
...
Make `SigSpec` const methods multithreading-compatible
2025-11-10 17:48:42 +01:00
Robert O'Callahan
3f7af10eda
Make SigSpec::chunks() return an object that can be iterated over without packing the SigSpec
2025-11-07 15:54:54 +00:00
Emil J
a16fc9b4f3
Merge pull request #5467 from YosysHQ/emil/liberty-unquoted-expressions
...
libparse: support unquoted expressions
2025-11-06 19:45:17 +01:00
Emil J. Tywoniak
fdcc4c1507
libparse: remove leftover comments
2025-11-06 13:30:09 +01:00
Robert O'Callahan
0f770285f3
Move global ABC configuration variables into AbcConfig and initialize them properly
2025-11-05 13:56:04 +00:00
Emil J. Tywoniak
90553267b0
libparse: fix quoting and negedge in filterlib -verilogsim
2025-11-05 14:13:58 +01:00
Emil J. Tywoniak
504b668ea6
libparse: fix verilogsim negedge
2025-11-05 13:49:05 +01:00
Emil J. Tywoniak
bf29f6dc11
libparse: tolerate closing quotes in expression parsing
2025-11-05 13:06:09 +01:00
Emil J. Tywoniak
4fac7a1b20
libparse: fix space before closing paren in expressions
2025-11-05 13:05:56 +01:00
Emil J. Tywoniak
547e254a9b
libparse: parse expressions in filterlib
2025-11-05 13:05:56 +01:00
Emil J. Tywoniak
66d8fc5c28
libparse: quirk-compatibility for unquoted boolean expression strings
2025-11-05 11:00:25 +01:00
Emil J. Tywoniak
b2fe335b2d
dfflibmap: fix next_state inversion propagation for DFF flops by inverting reset value polarity
2025-10-28 13:56:28 +01:00
Emil J
9a12d92551
Merge pull request #5386 from YosysHQ/emil/liberty-glob-all
...
Expand wildcards in Liberty file consumers
2025-10-09 20:21:48 +02:00
Miodrag Milanović
4cdaac003f
Merge pull request #3991 from adrianparvino/alumacc-sign
...
alumacc: merge independent of sign
2025-10-08 13:02:10 +02:00
Jannis Harder
2c94ca85d9
abc_new: Avoid bufnorm helper cell churn
...
We were performing the helper passes `abc9_ops -replace_zbufs` and
`abc9_ops -restore_zbufs` for every module, but those passes act on the
full design (and can't be applied entirely selectively due to entering
and leaving bufnorm).
This lead to an explosive creation of a lot of redundant bufnorm helper
cells that would have been cleaned up by `clean` but that never ran.
Instead we now run each helper pass once, one before and one after
iterating over the selected modules. This limits the number of bufnorm
helper cells.
2025-10-07 18:05:28 +02:00
Krystine Sherwin
da2e021e3b
abc9.cc: Use -r for &dch
...
Avoids "ABC: The command has to terminate. Boxes are not in a topological order." error during `&if`.
2025-10-06 14:07:40 +01:00
Martin Povišer
29e0144ebc
Merge pull request #5381 from povik/abc9-multilib
...
Support multiple lib files in abc9_exe
2025-09-25 09:45:09 +02:00
Jannis Harder
71882debe7
simplemap: Remove leftover debug output
2025-09-24 13:20:27 +02:00
Jannis Harder
904d49c6d8
abc9_ops: Remove temporary debug log message
...
I missed this when adding the -replace_zbufs option.
2025-09-24 13:20:27 +02:00
Emil Jiří Tywoniak
4508676e67
libcache: support liberty filename globbing
2025-09-24 11:41:51 +02:00
Emil Jiří Tywoniak
856a387aad
dfflibmap: support liberty filename globbing
2025-09-24 11:41:51 +02:00
Emil Jiří Tywoniak
a28c0c632b
clockgate: support liberty filename globbing
2025-09-24 11:41:51 +02:00
Jannis Harder
7a69dbb63d
Merge pull request #5372 from rocallahan/abc-done
...
Make ABC_DONE tracking more robust
2025-09-24 08:40:26 +02:00
Emil J
5f6819fd76
Merge pull request #5361 from YosysHQ/emil/simplemap-transfer-src
...
simplemap: fix src attribute transfer
2025-09-23 20:40:57 +02:00
Martin Povišer
3f4b6dc5d3
Support multiple lib files in abc9_exe
2025-09-23 20:34:08 +02:00
Robert O'Callahan
1e5f920dbd
Remove .c_str() from parameters to log_debug()
2025-09-23 19:10:33 +12:00
Jannis Harder
13a2481da7
Merge pull request #5365 from rocallahan/deterministic-abc
...
Extract ABC results in the order of `assigned_cells`
2025-09-22 23:21:11 +02:00
Emil J
a78eb9e151
Merge pull request #5315 from YosysHQ/emil/write_rtlil-no-sort
...
write_rtlil: don't sort
2025-09-22 11:14:39 +02:00
Robert O'Callahan
7f6fae1f66
Extract ABC results in the order of assigned_cells.
...
Currently the order of extraction can vary based on which ABC runs finish first. That's
nondeterministic, therefore bad. Instead, force the processing to happen in the same order
as `assigned_cells`, i.e. the same order we use when not using parallelism. This should
make everything deterministic.
Note that we still allow ABC runs to complete out of order. Out-of-order results are
just not extracted until all the previous runs have completed and their results
extracted.
2025-09-22 05:07:03 +00:00
Robert O'Callahan
4fc782ef2b
Make ABC_DONE detection more robust.
...
1) Change token from ABC_DONE to YOSYS_ABC_DONE to be a bit more robust against false matches.
2) Emit the token from the sourced script so that we don't have to worry about it showing up in the echoing
of the command as it executes. It will only appear in ABC stdout when it executes, i.e. when
our script has completed.
3) `set abcout` doesn't actually switch ABC to line buffering on stdout, since HAVE_SETVBUF is not actually
set in ABC builds in general. So stop using that. ABC does the necessary flushing when
`source` has finished.
2025-09-22 05:01:51 +00:00
Robert O'Callahan
2de641d051
Don't redirect spawned ABCs' stderr to our pipe.
...
popen() doesn't do this and we should emulate the behavior of popen() as much as possible.
2025-09-22 05:01:51 +00:00
Emil J. Tywoniak
96f87aa2d4
simplemap: fix src attribute transfer
2025-09-18 12:59:12 +02:00
Jannis Harder
4f239b536b
abc_new: Hide buffered 'z drivers from read/write_xaiger2
...
With the updated bufnorm code, buffered 'z drivers are used as anchor
points for undirected connections. These are currently not supported by
read/write_xaiger2, so we temporarily replace those by roughly
equivalent $tribuf cells which will be handled as blackboxes that
properly roundtrip through the xaiger2 front and backend.
2025-09-17 13:56:46 +02:00
Jannis Harder
5f79a6e868
Clean up $buf with 'z inputs, $input_port and $connect cells
...
This ensures that entering and leaving bufnorm followed by `opt_clean`
is equivalent to just running `opt_clean`.
Also make sure that 'z-$buf cells get techmapped in a compatible way.
2025-09-17 13:56:46 +02:00
Emil J
73e47ac3fe
Merge pull request #5357 from rocallahan/builtin-ff
...
Instead of using `builtin_ff_cell_types()` directly, go through a method `Cell::is_builtin_ff()`
2025-09-17 11:37:16 +02:00
Robert O'Callahan
d24488d3a5
Instead of using builtin_ff_cell_types() directly, go through a method Cell::is_builtin_ff()
2025-09-17 03:24:19 +00:00
Robert O'Callahan
a7c46f7b4a
Remove .c_str() calls from parameters to log_warning()/log_warning_noprefix()
2025-09-16 23:02:16 +00:00
Robert O'Callahan
5ac6858f26
Remove .c_str() from log_cmd_error() and log_file_error() parameters
2025-09-16 22:59:08 +00:00
Jannis Harder
b95549b469
Merge pull request #5348 from rocallahan/remove-string_buf
...
Remove `string_buf` by making `log_signal()` and `log_const()` return `std::string`
2025-09-16 20:20:56 +02:00
Emil J. Tywoniak
73747f6928
read_verilog: add -relativeshare for synthesis reproducibility testing
2025-09-16 15:47:35 +02:00
Robert O'Callahan
8cc86b2643
Update passes/techmap to avoid bits()
2025-09-16 03:17:23 +00:00
Robert O'Callahan
8492c49f6c
Remove string_buf by making log_signal() and log_const() return std::string
...
We only have to fix one caller in-tree so this probably has very low impact on out-of-tree plugins.
Resolves #5215
2025-09-16 03:06:17 +00:00