Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | opt_share: Fix handling of fine cells. | Marcin Kościelnicki | 2019-11-27 | 1 | -0/+13 |
| | | | | Fixes #1525. | ||||
* | Add missing -assert to equiv_opt | Eddie Hung | 2019-09-06 | 1 | -7/+7 |
| | |||||
* | Respect opt_expr -keepdc as per @cliffordwolf | Eddie Hung | 2019-08-22 | 1 | -0/+14 |
| | |||||
* | Handle $shift and Y_WIDTH > 1 as per @cliffordwolf | Eddie Hung | 2019-08-22 | 1 | -1/+43 |
| | |||||
* | Add test | Eddie Hung | 2019-08-21 | 1 | -0/+14 |
| | |||||
* | Merge remote-tracking branch 'origin/master' into clifford/testfast | Eddie Hung | 2019-08-18 | 28 | -28/+626 |
|\ | |||||
| * | Merge branch 'master' into eddie/pr1266_again | whitequark | 2019-08-18 | 20 | -0/+325 |
| |\ | |||||
| | * | Fix wrong results when opt_share called before opt_clean | Bogdan Vukobratovic | 2019-08-07 | 1 | -1/+0 |
| | | | |||||
| | * | Tabs to spaces in opt_share examples | Bogdan Vukobratovic | 2019-08-03 | 10 | -150/+150 |
| | | | |||||
| | * | Fix spacing in opt_share tests, change wording in opt_share help | Bogdan Vukobratovic | 2019-08-03 | 10 | -155/+150 |
| | | | |||||
| | * | Reimplement opt_share to work on $alu and $pmux | Bogdan Vukobratovic | 2019-07-28 | 20 | -17/+295 |
| | | | |||||
| | * | Implement opt_share | Bogdan Vukobratovic | 2019-07-26 | 4 | -0/+53 |
| | | | | | | | | | | | | | | | | | | This pass identifies arithmetic operators that share an operand and whose results are used in mutually exclusive cases controlled by a multiplexer, and merges them together by multiplexing the other operands | ||||
| * | | Revert "Merge pull request #1280 from ↵ | Eddie Hung | 2019-08-12 | 8 | -28/+301 |
|/ / | | | | | | | | | | | | | YosysHQ/revert-1266-eddie/ice40_full_adder" This reverts commit c851dc13108021834533094a8a3236da6d9e0161, reversing changes made to f54bf1631ff37a83733c162e6ebd188c1d5ea18f. | ||||
* | | 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 |