3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-09 00:40:16 +00:00
yosys/tests/opt
Krystine Sherwin 406b400458
opt_expr: Fix #4590
If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.

This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes.  It only handles the case where all inputs are 'x and the mux can be completely removed.
2025-04-04 12:25:31 +13:00
..
.gitignore tests: add gitignores for auto-generated makefiles 2020-09-26 16:28:24 +02:00
bug1525.ys
bug1758.ys
bug1854.ys Add new helper class for merging FFs into cells, use for memory_dff. 2021-05-23 14:46:59 +02:00
bug2010.ys
bug2221.ys opt_expr: Fix crash on $mul optimization with more zeros removed than Y has. 2020-07-05 06:31:58 +02:00
bug2311.ys opt_expr: Fix handling of $_XNOR_ cells with A = B. 2020-07-29 12:41:43 +02:00
bug2318.ys peepopt.muldiv: Add a signedness check. 2020-08-04 16:30:24 +02:00
bug2623.ys rtlil: Disallow 0-width chunks in SigSpec. 2021-03-15 17:16:24 +01:00
bug2765.ys proc_memwr: Use the v2 memwr cell. 2021-08-11 13:34:10 +02:00
bug2766.ys opt_mem_feedback: Rewrite feedback path finding logic. 2021-05-24 23:20:30 +02:00
bug2824.ys Add regression test for #2824. 2021-06-11 12:06:35 +01:00
bug2920.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
bug3047.ys extract_reduce: Refactor and fix input signal construction. 2021-10-21 04:10:01 +02:00
bug3117.ys memory_share: Fix SAT-based sharing for wide ports. 2021-12-20 18:40:14 +01:00
bug3848.ys opt_share: Fix input confusion with ANDNOT, ORNOT gates 2023-07-20 20:58:52 +01:00
bug3867.ys opt_expr: Fix 'signed X>=0' replacement for wide output ports 2023-08-01 13:50:12 +01:00
bug4413.ys peepopt: avoid shift-amount underflow 2024-06-13 23:30:07 +02:00
bug4610.ys tests: replace read_ilang with read_rtlil 2024-11-20 14:54:23 +01:00
memory_bmux2rom.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
memory_dff_trans.ys memory_share: Add -nosat and -nowiden options. 2021-08-14 00:09:04 +02:00
memory_map_offset.ys memory_map: Improve start_offset handling. 2021-05-31 17:45:21 +02:00
opt_clean_init.ys opt_clean: Remove init attribute bits together with removed DFFs. 2021-03-15 17:16:53 +01:00
opt_clean_mem.ys proc_memwr: Use the v2 memwr cell. 2021-08-11 13:34:10 +02:00
opt_dff_arst.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_dff_clk.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_dff_const.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_dff_dffmux.ys peepopt: Remove now-redundant dffmux pattern. 2020-08-07 13:21:34 +02:00
opt_dff_en.ys Fix tests for check in equiv_opt 2022-10-07 16:04:51 +02:00
opt_dff_mux.ys Fix tests for check in equiv_opt 2022-10-07 16:04:51 +02:00
opt_dff_qd.ys tests: Remove part of test involving combinational loops 2024-03-11 10:45:36 +01:00
opt_dff_sr.ys Re-enable opt_dff_sr equiv_opt checks 2022-10-07 16:04:51 +02:00
opt_dff_srst.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_expr.ys
opt_expr_alu.ys
opt_expr_and.ys
opt_expr_cmp.v
opt_expr_cmp.ys
opt_expr_combined_assign.ys
opt_expr_constconn.v opt_expr: Propagate constants to port connections. 2021-07-27 20:44:26 +02:00
opt_expr_constconn.ys opt_expr: Propagate constants to port connections. 2021-07-27 20:44:26 +02:00
opt_expr_consumex.ys
opt_expr_more.ys opt_expr: expand test coverage 2025-03-31 19:31:53 +02:00
opt_expr_mux_undef.ys opt_expr: Fix #4590 2025-04-04 12:25:31 +13:00
opt_expr_or.ys
opt_expr_shr_int_max.ys Add test for shifting by INT_MAX 2025-02-14 14:01:27 +13:00
opt_expr_xnor.ys simplemap: Map $xnor to $_XNOR_ cells 2022-11-29 19:06:45 +01:00
opt_expr_xor.ys simplemap: Map $xnor to $_XNOR_ cells 2022-11-29 19:06:45 +01:00
opt_lut.v
opt_lut.ys
opt_lut_elim.il
opt_lut_elim.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_lut_ins.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_lut_port.il
opt_lut_port.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_mem_feedback.ys Add v2 memory cells. 2021-08-11 13:34:10 +02:00
opt_mem_priority.ys memory_share: Add -nosat and -nowiden options. 2021-08-14 00:09:04 +02:00
opt_merge_basic.ys opt_merge: test more kinds of cells 2025-03-10 13:14:06 +01:00
opt_merge_init.ys opt_merge: Add -keepdc option required for formal verification 2022-04-01 21:03:20 +02:00
opt_merge_keep.ys
opt_pow.ys opt_expr: add test 2025-04-01 21:54:46 +03:00
opt_reduce_andor.ys opt_reduce: add test for constant $reduce_and/or not being zero width 2024-09-25 16:28:41 +01:00
opt_reduce_bmux.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_reduce_demux.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_rmdff.v
opt_rmdff.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_rmdff_sat.v
opt_rmdff_sat.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_share_add_sub.v
opt_share_add_sub.ys
opt_share_bug2334.ys opt_share: Refactor, fix some bugs. 2020-08-17 17:26:36 +02:00
opt_share_bug2335.ys opt_share: Refactor, fix some bugs. 2020-08-17 17:26:36 +02:00
opt_share_bug2336.ys opt_share: Refactor, fix some bugs. 2020-08-17 17:26:36 +02:00
opt_share_bug2538.ys opt_share: Fix X and CO signal width for shifted $alu in opt_share. 2021-01-14 14:54:08 +01:00
opt_share_cat.v
opt_share_cat.ys
opt_share_cat_multiuser.v
opt_share_cat_multiuser.ys
opt_share_diff_port_widths.v
opt_share_diff_port_widths.ys
opt_share_extend.v
opt_share_extend.ys
opt_share_large_pmux_cat.v
opt_share_large_pmux_cat.ys
opt_share_large_pmux_cat_multipart.v
opt_share_large_pmux_cat_multipart.ys
opt_share_large_pmux_multipart.v
opt_share_large_pmux_multipart.ys
opt_share_large_pmux_part.v
opt_share_large_pmux_part.ys
opt_share_mux_tree.v
opt_share_mux_tree.ys
run-test.sh test: restore verific handling, nicer naming 2024-12-13 10:24:47 +01:00