1
0
mirror of synced 2026-03-28 19:12:08 +00:00
Commit Graph

1880 Commits

Author SHA1 Message Date
Emil J. Tywoniak
bbf5b3c738 signorm: remove $input cells when leaving 2026-03-17 16:37:00 +01:00
Emil J. Tywoniak
debc2c3977 signorm: skip const when fixing fanout 2026-03-17 11:28:10 +01:00
Emil J. Tywoniak
aee094e3c4 fixup! fixup! satgen: support $connect 2026-03-12 22:53:31 +01:00
Emil J. Tywoniak
4d1f8fd7d3 fixup! satgen: support $connect 2026-03-12 22:16:06 +01:00
Emil J. Tywoniak
0d353591fe satgen: support $connect 2026-03-12 22:15:34 +01:00
Emil J. Tywoniak
ae946a598c rtlil: add dump_sigmap for hacky signorm debugging 2026-03-12 22:13:21 +01:00
Emil J. Tywoniak
4611e90533 timinginfo: disable output wire check due to signorm 2026-03-11 21:25:00 +01:00
Emil J. Tywoniak
44917f50d9 rtlil: forbid rewrite_sigspecs in signorm 2026-03-11 21:07:06 +01:00
Emil J. Tywoniak
30ac7d271c satgen: cover $input_port
(cherry picked from commit d199195785)
2026-03-10 14:06:45 +01:00
Emil J. Tywoniak
298b755fb7 modtools: fix database sanity on wire name swap
(cherry picked from commit c75d80905a)
2026-03-09 23:46:53 +01:00
Emil J. Tywoniak
58ba984498 ff: fixup initvals with signorm direct drive wire if it's created, not old driven wire 2026-03-09 23:38:10 +01:00
Emil J. Tywoniak
d2bc970ef9 rtlil: fix zero width SigSpec crash in signorm setPort unsetPort 2026-03-09 21:20:23 +01:00
Emil J. Tywoniak
b206223c40 rtlil_bufnorm: fix cell deletion deferral bug 2026-03-07 01:10:04 +01:00
Emil J. Tywoniak
c6b9f5d8ff mem: fix signorm cell type morph 2026-03-07 00:41:24 +01:00
Jannis Harder
eae87b3161 WIP half broken snapshot 2025-10-06 14:39:25 +02:00
Jannis Harder
ea0ee069fb WIP remove dead code 2025-10-04 14:40:08 +02:00
Emil J
7719beb4ae Merge pull request #5349 from rocallahan/cleanup-hashops
Reduce hashops verbiage in `OptMergePass`
2025-09-30 19:34:44 +02:00
Jannis Harder
47639f8a98 Merge pull request #5388 from jix/bufnorm-followup
Refactor and fixes to incremental bufNormalize + related changes
2025-09-29 15:15:29 +02:00
Jannis Harder
86fb2f16f7 bufnorm: Refactor and fix incremental bufNormalize
This fixes some edge cases the previous version didn't handle properly
by simplifying the logic of determining directly driven wires and
representatives to use as buffer inputs.
2025-09-29 08:21:28 +02:00
Akash Levy
4b6b254e31 pyosys cannot parse header with omitted function args 2025-09-28 01:37:30 -07:00
Robert O'Callahan
1c73011e7e Swap SigSpecs using std::swap with moves 2025-09-25 03:04:17 +00:00
Jannis Harder
2dce50516b log: Print static message as fatal error for YOSYS_ABORT 2025-09-24 13:20:27 +02:00
Jannis Harder
86a46b9e5c log: Flush stdout before printing a fatal error to stderr
This hasn't been an issue when using -l to redirect or when stdout is
line buffered, explaining how we didn't notice this earlier, but for
`yosys ... > log` that extra flush is required to ensure all messages
preceding the fatal error are flushed.
2025-09-24 13:20:27 +02:00
Jannis Harder
9c1d0a2346 Merge pull request #5382 from rocallahan/fix-bounds-check
Fix off-by-one error in bounds check in `RTLIL::SigChunk::operator[]`
2025-09-24 08:41:16 +02:00
Robert O'Callahan
0a17205a95 Fix off-by-one error in bounds check 2025-09-23 21:29:57 +00:00
Robert O'Callahan
1e5f920dbd Remove .c_str() from parameters to log_debug() 2025-09-23 19:10:33 +12:00
Robert O'Callahan
effc52fedc Make ID:: constants be StaticIdStrings for better optimization.
Their internal indexes will be known at compile time, like we already support for the `ID()` macro.
2025-09-23 03:25:16 +00:00
Jannis Harder
e546f3b8f0 Merge pull request #5355 from rocallahan/deprecate-logv_file_error
Deprecate `logv_file_error()`
2025-09-22 14:23:55 +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
Mohamed Gaber
1fa5ceee8c pyosys: restore remaining log functions
Co-authored-by: George Rennie <19538554+georgerennie@users.noreply.github.com>
2025-09-20 16:14:07 +01:00
Robert O'Callahan
4fe21dd652 Reduce hashops verbiage in OptMergePass 2025-09-19 03:31:46 +00:00
George Rennie
5b099abda4 help: fix memory leak for -dump-cells-json 2025-09-17 16:08:36 +01:00
Jannis Harder
d88d6fce87 kernel: Rewrite bufNormalize
This is a complete rewrite of the RTLIL-kernel-side bufnorm code. This
is done to support inout ports and undirected connections as well as to
allow removal of cells while in bufnorm mode.

This doesn't yet update the (experimental) `bufnorm` pass, so to
manually test the new kernel functionality, it is important to only use
`bufnorm -update` and `bufnorm -reset` which rely entirely on the kernel
functionality. Other modes of the `bufnorm` pass may still fail in the
presence of inout ports or undirected connections.
2025-09-17 13:56:46 +02:00
Jannis Harder
1251e92e3a Add $input_port and $connect cell types 2025-09-17 13:56:46 +02:00
Jannis Harder
c4f435569f kernel: Add known_driver method to Wire/SigSpec 2025-09-17 13:56:46 +02:00
Jannis Harder
22423b97c1 kernel: Add RTLIL::PortDir for a combined input and output flag 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
64ffcbc394 Deprecate logv_file_error() 2025-09-16 23:26:38 +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
d1fd6de6da Remove .c_str() calls from parameters to log_header() 2025-09-16 23:00:42 +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
fdbdd193c1 rtlil: add roundtrip test for design -stash and design -save, fix #5321 2025-09-16 15:47:16 +02:00
Emil J. Tywoniak
d6d1f16c43 hashlib: add insertion order const iterator 2025-09-16 15:39:13 +02:00
rhanqtl
11b829ba70 fix(parse): #5234 adjust width of rhs according to lhs 2025-09-16 15:24:23 +02:00
Robert O'Callahan
fee2b8992c Stop using mutable in Const.
Now that we only call `bitvectorize()` in non-const methods, we can move the casting-away-const to only happen
in `bitvectorize()`, which is deprecated so only some plugins (maybe) are using it.

This means `const` `Const` methods don't change the underlying data, which means
they'll be safe to use from multiple threads if/when we want to do that.
2025-09-16 03:17:24 +00:00
Robert O'Callahan
29810f1e7c Make Const::is_*() functions work on packed bits without decaying to vector<State> 2025-09-16 03:17:24 +00:00
Robert O'Callahan
caaf9a4400 Const::decode_string() doesn't need to call bitvectorize 2025-09-16 03:17:24 +00:00
Robert O'Callahan
cb1186aac5 Make Const::as_string work without reducing packed bits to vector<State> 2025-09-16 03:17:24 +00:00