3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-26 02:25:35 +00:00
yosys/passes/opt
whitequark bf8db55ef3 opt_expr: improve simplification of comparisons with large constants.
The idea behind this simplification is that a N-bit signal X being
compared with an M-bit constant where M>N and the constant has Nth
or higher bit set, it either always succeeds or always fails.

However, the existing implementation only worked with one-hot signals
for some reason. It also printed incorrect messages.

This commit adjusts the simplification to have as much power as
possible, and fixes other bugs.
2019-01-02 15:45:28 +00:00
..
Makefile.inc opt_lut: new pass, to combine LUTs for tighter packing. 2018-12-05 16:30:37 +00:00
opt.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
opt_clean.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
opt_demorgan.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
opt_expr.cc opt_expr: improve simplification of comparisons with large constants. 2019-01-02 15:45:28 +00:00
opt_lut.cc opt_lut: eliminate LUTs evaluating to constants or inputs. 2018-12-31 23:55:40 +00:00
opt_merge.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
opt_muxtree.cc Add iteration limit to "opt_muxtree" 2018-11-20 17:56:47 +01:00
opt_reduce.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
opt_rmdff.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
rmports.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
share.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
wreduce.cc Fix handling of (* keep *) wires in wreduce 2018-12-31 16:37:40 +01:00