Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | opt_expr: do not group by X, more fixes | Eddie Hung | 2020-04-23 | 2 | -2/+2 | |
| | | ||||||
| * | tests: add opt_expr tests | Eddie Hung | 2020-04-23 | 5 | -0/+365 | |
| | | ||||||
* | | opt_clean: improve warning message | Eddie Hung | 2020-05-14 | 1 | -1/+1 | |
| | | ||||||
* | | opt_clean: add init test | Eddie Hung | 2020-05-14 | 1 | -0/+13 | |
| | | ||||||
* | | Add testcase for #2010 | Eddie Hung | 2020-05-01 | 1 | -0/+10 | |
|/ | ||||||
* | opt_expr: Fix X and CO outputs for $alu identity-mapping rules. | Marcelina Kościelnicka | 2020-04-16 | 1 | -8/+66 | |
| | ||||||
* | opt_expr: Add more $alu optimizations. | Marcelina Kościelnicka | 2020-04-14 | 1 | -4/+52 | |
| | | | | | | | | | | | Detect the places in the $alu where the carry bit is constant (due to const A[i] == B[i] ^ BI) and split it into smaller $alu at these points. Also, make the existing const-carry detection for low bits more generic (now handles cases where both BI and CI are constant, but not equal to one another). Fixes #1912. | |||||
* | opt_expr: Optimize multiplications with low 0 bits in operands. | Marcelina Kościelnicka | 2020-04-13 | 1 | -0/+28 | |
| | | | | Fixes #1500. | |||||
* | Merge pull request #1790 from YosysHQ/eddie/opt_expr_xor | Eddie Hung | 2020-04-01 | 1 | -0/+52 | |
|\ | | | | | opt_expr: optimise $xor/$xnor/$_XOR_/$_XNOR_ -s with constant inputs | |||||
| * | opt_expr: add failing $xnor test | Eddie Hung | 2020-03-20 | 1 | -1/+13 | |
| | | ||||||
| * | opt_expr: add $xor/$xnor/$_XOR_/$_XNOR_ tests | Eddie Hung | 2020-03-19 | 1 | -0/+40 | |
| | | ||||||
* | | Merge pull request #1789 from YosysHQ/eddie/opt_expr_alu | Eddie Hung | 2020-04-01 | 1 | -0/+63 | |
|\ \ | | | | | | | opt_expr: improve performance on $alu and $sub | |||||
| * | | opt_expr: add $alu tests | Eddie Hung | 2020-03-19 | 1 | -0/+63 | |
| |/ | ||||||
* / | opt_merge: speedup | Eddie Hung | 2020-03-16 | 2 | -0/+92 | |
|/ | ||||||
* | Merge pull request #1576 from YosysHQ/eddie/opt_merge_init | Eddie Hung | 2020-02-05 | 1 | -0/+49 | |
|\ | | | | | opt_merge: discard \init of '$' cells with 'Q' port when merging | |||||
| * | Add testcase | Eddie Hung | 2019-12-13 | 1 | -0/+49 | |
| | | ||||||
* | | Add opt_lut_ins pass. (#1673) | Marcelina Kościelnicka | 2020-02-03 | 1 | -0/+23 | |
|/ | ||||||
* | 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 | |