3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-08-14 01:46:40 +00:00
Commit graph

36 commits

Author SHA1 Message Date
Emil J. Tywoniak
3bfc7228f3 signorm: discard newly_driven capacity for performance 2026-07-20 12:27:18 +02:00
Emil J. Tywoniak
65f35a88eb WIP migration to twine 2026-07-20 12:27:18 +02:00
Emil J. Tywoniak
77ad54139e WIP 2026-07-20 12:27:17 +02:00
Emil J. Tywoniak
e952044215 WIP 2026-07-20 12:27:17 +02:00
Emil J. Tywoniak
7422b71802 WIP 2026-07-20 12:27:17 +02:00
Emil J. Tywoniak
1210d8e117 WIP 2026-07-20 12:27:02 +02:00
Emil J. Tywoniak
30bc1c23ee WIP 2026-07-20 12:27:02 +02:00
Emil J. Tywoniak
10436f31cd WIP 2026-07-20 12:27:02 +02:00
Emil J. Tywoniak
9cebc6e412 patch: split into single-output patch + multi-output patch_ports; drop input-cone gc 2026-07-17 23:49:06 +02:00
Emil J. Tywoniak
2c107f19e8 rtlil, patch: incremental signorm via connect_incremental, replacing batched sigNormalize in Patch::patch 2026-07-17 23:48:54 +02:00
Emil J. Tywoniak
fd67ce2b80 WIP 2026-07-17 23:48:54 +02:00
Emil J. Tywoniak
7652b1b52e opt_expr: WIP use patcher more 2026-07-17 23:48:18 +02:00
Emil J. Tywoniak
c7a8fe1c79 rtlil, patch: update signorm index and driver fields when committing Cell from Patch to Design 2026-07-17 23:48:06 +02:00
Emil J. Tywoniak
b95565a8d9 fixup! patch: working multi-cell signorm invariant 2026-07-17 23:48:06 +02:00
Emil J. Tywoniak
71f7f586aa patch: working multi-cell signorm invariant 2026-07-17 23:48:06 +02:00
Emil J. Tywoniak
2c1d114cb1 patch: WIP multicell patch test 2026-07-17 23:48:00 +02:00
Emil J. Tywoniak
abebf4f2db signorm: safer indexing if broken invariant 2026-07-17 23:38:01 +02:00
Emil J. Tywoniak
f2e5bcb86a rtlil: publish signorm fanout 2026-07-17 23:38:01 +02:00
Emil J. Tywoniak
3010c0fc31 signorm: add timers 2026-07-17 23:38:01 +02:00
Emil J. Tywoniak
fb06c1add5 rtlil_bufnorm: fix setup_driven_wires constant handling on unknown port direction 2026-07-17 23:38:01 +02:00
Emil J. Tywoniak
83fa720157 rtlil_bufnorm: more xlog 2026-07-17 23:33:03 +02:00
Emil J. Tywoniak
2fc93aa711 rtlil: sigNormalize Module when added to Design in signorm mode 2026-07-17 23:33:03 +02:00
Emil J. Tywoniak
f7149450b4 rtlil_bufnorm: more xlog 2026-07-17 23:33:02 +02:00
Emil J. Tywoniak
c40974ee59 rtlil_bufnorm: ignore timing info harder 2026-07-17 23:33:02 +02:00
Emil J. Tywoniak
3b1e79d312 timinginfo: special-case $specify2 in signorm invariant 2026-07-17 23:33:02 +02:00
Emil J. Tywoniak
9cc0997658 signorm: remove $input cells when leaving 2026-07-17 23:32:34 +02:00
Emil J. Tywoniak
c8faf605f7 signorm: skip const when fixing fanout 2026-07-17 23:32:34 +02:00
Emil J. Tywoniak
b408a059ad rtlil: add dump_sigmap for hacky signorm debugging 2026-07-17 23:32:34 +02:00
Emil J. Tywoniak
3b956cea1b rtlil: fix zero width SigSpec crash in signorm setPort unsetPort 2026-07-17 23:32:34 +02:00
Emil J. Tywoniak
479ab70890 rtlil_bufnorm: fix cell deletion deferral bug 2026-07-17 23:32:34 +02:00
Jannis Harder
b84beb598f WIP half broken snapshot 2026-07-17 23:32:20 +02:00
Jannis Harder
51fc03688a WIP remove dead code 2026-07-17 23:31:11 +02:00
Codexplorer
e41b969da2 Refactored uses of log_id() 2026-05-08 20:59:24 -07: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
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
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