yosys/tests/opt
Marcelina Kościelnicka 436d42c00c opt_expr: Propagate constants to port connections.
This adds one simple piece of functionality to opt_expr: when a cell
port is connected to a fully-constant signal (as determined by sigmap),
the port is reconnected directly to the constant value.  This is just
enough optimization to fix the "non-constant $meminit input" problem
without requiring a full opt_clean or a separate pass.
2021-07-27 20:44:26 +02:00
..
.gitignore tests: add gitignores for auto-generated makefiles 2020-09-26 16:28:24 +02:00
bug1525.ys opt_share: Fix handling of fine cells. 2019-11-27 08:01:07 +01:00
bug1758.ys tests: add opt_expr tests 2020-04-23 15:58:36 -07:00
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 Add testcase for #2010 2020-05-01 14:07:33 -07:00
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 opt_mem: Remove write ports with const-0 EN. 2021-05-23 14:30:56 +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
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 memory_dff: Remove now-useless write port handling. 2021-03-08 20:16:29 +01: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 Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_dff_mux.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_dff_qd.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_dff_sr.ys opt_dff: Fix NOT gates wired in reverse. 2021-05-04 21:03:40 +02:00
opt_dff_srst.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_expr.ys opt_expr: Optimize multiplications with low 0 bits in operands. 2020-04-13 16:52:22 +02:00
opt_expr_alu.ys test: update opt_expr_alu test 2020-05-08 11:12:58 -07:00
opt_expr_and.ys tests: add opt_expr tests 2020-04-23 15:58:36 -07:00
opt_expr_cmp.v opt_expr: improve simplification of comparisons with large constants. 2019-01-02 15:45:28 +00:00
opt_expr_cmp.ys opt_expr: simplify any unsigned comparisons with all-0 and all-1. 2019-01-02 02:45:49 +00:00
opt_expr_combined_assign.ys Add sub-assign and and-assign tests 2020-06-25 14:32:05 +02:00
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 tests: opt_expr tests that depend on consumex 2020-05-08 11:07:11 -07:00
opt_expr_or.ys tests: add opt_expr tests 2020-04-23 15:58:36 -07:00
opt_expr_xnor.ys opt_expr: const_xnor replacement to pad Y with 1'b1 2020-04-24 14:13:45 -07:00
opt_expr_xor.ys tests: opt_expr update xnor/xor tests 2020-04-24 11:16:25 -07:00
opt_lut.v opt_lut: new pass, to combine LUTs for tighter packing. 2018-12-05 16:30:37 +00:00
opt_lut.ys Revert "Merge pull request #1280 from YosysHQ/revert-1266-eddie/ice40_full_adder" 2019-08-12 12:06:45 -07:00
opt_lut_elim.il opt_lut: eliminate LUTs evaluating to constants or inputs. 2018-12-31 23:55:40 +00:00
opt_lut_elim.ys opt_lut: eliminate LUTs evaluating to constants or inputs. 2018-12-31 23:55:40 +00:00
opt_lut_ins.ys Add opt_lut_ins pass. (#1673) 2020-02-03 14:57:17 +01:00
opt_lut_port.il opt_lut: leave intact LUTs with cascade feeding module outputs. 2018-12-07 17:13:52 +00:00
opt_lut_port.ys opt_lut: eliminate LUTs evaluating to constants or inputs. 2018-12-31 23:55:40 +00:00
opt_mem_feedback.ys opt_mem_feedback: Respect write port priority. 2021-05-25 15:59:41 +02:00
opt_merge_init.ys opt_merge: speedup 2020-03-16 12:43:54 -07:00
opt_merge_keep.ys opt_merge: speedup 2020-03-16 12:43:54 -07:00
opt_rmdff.v Fix tests/opt/opt_rmdff 2020-06-09 22:48:26 +02:00
opt_rmdff.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_rmdff_sat.v Revert "Merge pull request #1280 from YosysHQ/revert-1266-eddie/ice40_full_adder" 2019-08-12 12:06:45 -07:00
opt_rmdff_sat.ys Add opt_dff pass. 2020-07-30 18:27:04 +02:00
opt_share_add_sub.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_add_sub.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
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 Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_cat.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_cat_multiuser.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_cat_multiuser.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_diff_port_widths.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_diff_port_widths.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_extend.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_extend.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_large_pmux_cat.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_large_pmux_cat.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_large_pmux_cat_multipart.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_large_pmux_cat_multipart.ys Fix wrong results when opt_share called before opt_clean 2019-08-07 09:30:58 +02:00
opt_share_large_pmux_multipart.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_large_pmux_multipart.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_large_pmux_part.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_large_pmux_part.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
opt_share_mux_tree.v Tabs to spaces in opt_share examples 2019-08-03 12:35:46 +02:00
opt_share_mux_tree.ys Reimplement opt_share to work on $alu and $pmux 2019-07-28 16:03:54 +02:00
run-test.sh tests: Centralize test collection and Makefile generation 2020-09-21 15:07:02 +02:00