Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Revert "Wrap SB_LUT+SB_CARRY into $__ICE40_CARRY_WRAPPER" | David Shah | 2019-08-10 | 8 | -226/+28 |
| | |||||
* | Move tests/various/opt* into tests/opt/ | Eddie Hung | 2019-08-07 | 5 | -1/+225 |
| | |||||
* | Remove ice40_unlut call, simply do equiv_opt on synth_ice40 | Eddie Hung | 2019-08-07 | 1 | -3/+1 |
| | |||||
* | Remove tests/opt/opt_ff.{v,ys} as they don't seem to do anything but run | Eddie Hung | 2019-08-07 | 2 | -24/+0 |
| | |||||
* | Refactor "opt_rmdff -sat" | Clifford Wolf | 2019-06-20 | 2 | -14/+12 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Optimizing DFFs whose initial value prevents their value from changing | Bogdan Vukobratovic | 2019-05-28 | 2 | -0/+19 |
| | | | | | This is a proof of concept implementation that invokes SAT solver via Pass::call method. | ||||
* | Fix WREDUCE on FF not fixing ARST_VALUE parameter. | Keith Rothman | 2019-02-22 | 2 | -0/+24 |
| | | | | | | Adds test case that fails without code change. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> | ||||
* | opt_expr: improve simplification of comparisons with large constants. | whitequark | 2019-01-02 | 1 | -0/+18 |
| | | | | | | | | | | | | 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. | ||||
* | opt_expr: refactor simplification of unsigned X<onehot and X>=onehot. NFCI. | whitequark | 2019-01-02 | 1 | -0/+5 |
| | |||||
* | opt_expr: refactor simplification of signed X>=0 and X<0. NFCI. | whitequark | 2019-01-02 | 1 | -8/+14 |
| | |||||
* | opt_expr: simplify any unsigned comparisons with all-0 and all-1. | whitequark | 2019-01-02 | 2 | -0/+15 |
| | | | | | | Before this commit, only unsigned comparisons with all-0 would be simplified. This commit also makes the code handling such comparisons to be more rigorous and not abort on unexpected input. | ||||
* | opt_lut: eliminate LUTs evaluating to constants or inputs. | whitequark | 2018-12-31 | 3 | -0/+23 |
| | |||||
* | Merge pull request #724 from whitequark/equiv_opt | Clifford Wolf | 2018-12-16 | 2 | -15/+1 |
|\ | | | | | equiv_opt: new command, for verifying optimization passes | ||||
| * | equiv_opt: pass -D EQUIV when techmapping. | whitequark | 2018-12-07 | 2 | -4/+1 |
| | | | | | | | | | | This allows avoiding techmap crashes e.g. because of large memories in white-box cell models. | ||||
| * | equiv_opt: new command, for verifying optimization passes. | whitequark | 2018-12-07 | 1 | -12/+1 |
| | | |||||
* | | opt_lut: leave intact LUTs with cascade feeding module outputs. | whitequark | 2018-12-07 | 2 | -0/+20 |
|/ | |||||
* | opt_lut: add -dlogic, to avoid disturbing logic such as carry chains. | whitequark | 2018-12-05 | 1 | -1/+1 |
| | |||||
* | opt_lut: new pass, to combine LUTs for tighter packing. | whitequark | 2018-12-05 | 5 | -0/+43 |