3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-24 09:35:32 +00:00
yosys/passes/opt
Jannis Harder 6dff9e7787 share: Restrict activation patterns to potentially relevant signals
In case the two sets of activation patterns are mutually exclusive
without considering the logic feeding into the activation signals, an
activation condition can only be relevant if present in both sets with
opposite polarity.

This detects pattern-only mutual exclusion by running an additional SAT
query before importing the input cone logic. If that is already UNSAT,
we remove all non-relevant condition and re-simplify the remaining
patterns.

In cases of pattern-only mutual exclusion, this will often produce much
smaller selection logic and avoid the more costly SAT query that
includes the input cones.
2025-04-15 12:34:46 +02:00
..
.gitignore pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
Makefile.inc pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
muxpack.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt.cc opt_merge: Add -keepdc option required for formal verification 2022-04-01 21:03:20 +02:00
opt_clean.cc Reinstate #4768 2025-04-08 11:58:05 +12:00
opt_demorgan.cc opt_demorgan: skip zero width cells 2024-09-24 14:24:59 +01:00
opt_dff.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_expr.cc opt_expr: Fix #4590 2025-04-04 12:25:31 +13:00
opt_ffinv.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_lut.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_lut_ins.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_mem.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_mem_feedback.cc kernel/mem: Introduce transparency masks. 2021-08-11 00:04:16 +02:00
opt_mem_priority.cc opt_mem_priority: Fix non-ascii char in help message. 2021-12-09 00:56:14 +01:00
opt_mem_widen.cc Add opt_mem_widen pass. 2021-08-14 01:06:23 +02:00
opt_merge.cc opt_merge: fix dangling pointers in known_cells when keep attribute is used 2025-03-10 13:14:06 +01:00
opt_muxtree.cc opt_muxtree: Update port_off and port_idx even for constant bits 2021-06-11 12:06:35 +01:00
opt_reduce.cc opt_reduce: keep at least one input to $reduce_or/and cells 2024-09-25 16:21:19 +01:00
opt_share.cc opt_share: Fix input confusion with ANDNOT, ORNOT gates 2023-07-20 20:58:52 +01:00
peepopt.cc io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00
peepopt_formal_clockgateff.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_muldiv.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_shiftadd.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_shiftmul_left.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_shiftmul_right.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
pmux2shiftx.cc io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00
rmports.cc Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
share.cc share: Restrict activation patterns to potentially relevant signals 2025-04-15 12:34:46 +02:00
wreduce.cc io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00