3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-17 08:42:16 +00:00
yosys/passes/opt
Jannis Harder 27ed77ea24 share: Keep filtered activation patterns for the supercell
The previous commit introduced code that optimizes the activation
patterns to be able to generate smaller activation logic. The resulting
supercell was then enqueued as shareable using those optimized
activation patterns. The condition represented by the optimized patterns
is an over-approximation of the actual activiation condition. This means
using it as activiation for the supercell loses precision and pessimises
sharing of the supercell with further cells, breaking the sat/share
test.

This commit fixes that by using the optimized activiation patterns only
for the generation of activation logic and using the original patterns
for enqueuing the supercell.
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: Keep filtered activation patterns for the supercell 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