aboutsummaryrefslogtreecommitdiffstats
path: root/tests/opt
Commit message (Collapse)AuthorAgeFilesLines
...
* opt_expr: Fix X and CO outputs for $alu identity-mapping rules.Marcelina Kościelnicka2020-04-161-8/+66
|
* opt_expr: Add more $alu optimizations.Marcelina Kościelnicka2020-04-141-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ścielnicka2020-04-131-0/+28
| | | | Fixes #1500.
* Merge pull request #1790 from YosysHQ/eddie/opt_expr_xorEddie Hung2020-04-011-0/+52
|\ | | | | opt_expr: optimise $xor/$xnor/$_XOR_/$_XNOR_ -s with constant inputs
| * opt_expr: add failing $xnor testEddie Hung2020-03-201-1/+13
| |
| * opt_expr: add $xor/$xnor/$_XOR_/$_XNOR_ testsEddie Hung2020-03-191-0/+40
| |
* | Merge pull request #1789 from YosysHQ/eddie/opt_expr_aluEddie Hung2020-04-011-0/+63
|\ \ | | | | | | opt_expr: improve performance on $alu and $sub
| * | opt_expr: add $alu testsEddie Hung2020-03-191-0/+63
| |/
* / opt_merge: speedupEddie Hung2020-03-162-0/+92
|/
* Merge pull request #1576 from YosysHQ/eddie/opt_merge_initEddie Hung2020-02-051-0/+49
|\ | | | | opt_merge: discard \init of '$' cells with 'Q' port when merging
| * Add testcaseEddie Hung2019-12-131-0/+49
| |
* | Add opt_lut_ins pass. (#1673)Marcelina Kościelnicka2020-02-031-0/+23
|/
* opt_share: Fix handling of fine cells.Marcin Kościelnicki2019-11-271-0/+13
| | | | Fixes #1525.
* Add missing -assert to equiv_optEddie Hung2019-09-061-7/+7
|
* Respect opt_expr -keepdc as per @cliffordwolfEddie Hung2019-08-221-0/+14
|
* Handle $shift and Y_WIDTH > 1 as per @cliffordwolfEddie Hung2019-08-221-1/+43
|
* Add testEddie Hung2019-08-211-0/+14
|
* Merge remote-tracking branch 'origin/master' into clifford/testfastEddie Hung2019-08-1828-28/+626
|\
| * Merge branch 'master' into eddie/pr1266_againwhitequark2019-08-1820-0/+325
| |\
| | * Fix wrong results when opt_share called before opt_cleanBogdan Vukobratovic2019-08-071-1/+0
| | |
| | * Tabs to spaces in opt_share examplesBogdan Vukobratovic2019-08-0310-150/+150
| | |
| | * Fix spacing in opt_share tests, change wording in opt_share helpBogdan Vukobratovic2019-08-0310-155/+150
| | |
| | * Reimplement opt_share to work on $alu and $pmuxBogdan Vukobratovic2019-07-2820-17/+295
| | |
| | * Implement opt_shareBogdan Vukobratovic2019-07-264-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 Hung2019-08-128-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 Shah2019-08-108-226/+28
| |
* | Move tests/various/opt* into tests/opt/Eddie Hung2019-08-075-1/+225
| |
* | Remove ice40_unlut call, simply do equiv_opt on synth_ice40Eddie Hung2019-08-071-3/+1
| |
* | Remove tests/opt/opt_ff.{v,ys} as they don't seem to do anything but runEddie Hung2019-08-072-24/+0
|/
* Refactor "opt_rmdff -sat"Clifford Wolf2019-06-202-14/+12
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Optimizing DFFs whose initial value prevents their value from changingBogdan Vukobratovic2019-05-282-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 Rothman2019-02-222-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.whitequark2019-01-021-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.whitequark2019-01-021-0/+5
|
* opt_expr: refactor simplification of signed X>=0 and X<0. NFCI.whitequark2019-01-021-8/+14
|
* opt_expr: simplify any unsigned comparisons with all-0 and all-1.whitequark2019-01-022-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.whitequark2018-12-313-0/+23
|
* Merge pull request #724 from whitequark/equiv_optClifford Wolf2018-12-162-15/+1
|\ | | | | equiv_opt: new command, for verifying optimization passes
| * equiv_opt: pass -D EQUIV when techmapping.whitequark2018-12-072-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.whitequark2018-12-071-12/+1
| |
* | opt_lut: leave intact LUTs with cascade feeding module outputs.whitequark2018-12-072-0/+20
|/
* opt_lut: add -dlogic, to avoid disturbing logic such as carry chains.whitequark2018-12-051-1/+1
|
* opt_lut: new pass, to combine LUTs for tighter packing.whitequark2018-12-055-0/+43