Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | opt_expr: refactor simplification of signed X>=0 and X<0. NFCI. | whitequark | 2019-01-02 | 1 | -24/+26 |
| | |||||
* | opt_expr: simplify any unsigned comparisons with all-0 and all-1. | whitequark | 2019-01-02 | 1 | -17/+69 |
| | | | | | | 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 | 1 | -0/+81 |
| | |||||
* | Fix handling of (* keep *) wires in wreduce | Clifford Wolf | 2018-12-31 | 1 | -1/+4 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | proc_clean: remove any empty cases if all cases use all-def compare. | whitequark | 2018-12-23 | 1 | -6/+28 |
| | |||||
* | proc_clean: remove any empty cases at the end of the switch. | whitequark | 2018-12-22 | 1 | -7/+3 |
| | | | | Previously, only completely empty switches were removed. | ||||
* | memory_collect: do not truncate 'x from \INIT. | whitequark | 2018-12-21 | 1 | -3/+0 |
| | | | | | | | The semantics of an RTLIL constant that has less bits than its declared bit width is zero padding. Therefore, if the output of memory_collect will be used for simulation, truncating 'x from the end of \INIT will produce incorrect simulation results. | ||||
* | memory_dff: Fix typo when checking init value | David Shah | 2018-12-18 | 1 | -1/+1 |
| | | | | Signed-off-by: David Shah <davey1576@gmail.com> | ||||
* | Revert "Proof-of-concept: preserve naming through ABC using dress" | Clifford Wolf | 2018-12-16 | 1 | -51/+29 |
| | |||||
* | Merge pull request #736 from whitequark/select_assert_list | Clifford Wolf | 2018-12-16 | 1 | -8/+50 |
|\ | | | | | select: print selection if a -assert-* flag causes an error | ||||
| * | select: print selection if a -assert-* flag causes an error. | whitequark | 2018-12-16 | 1 | -8/+50 |
| | | |||||
* | | Merge pull request #735 from daveshah1/trifixes | Clifford Wolf | 2018-12-16 | 1 | -3/+4 |
|\ \ | | | | | | | deminout fixes | ||||
| * | | deminout: Consider $tribuf cells | David Shah | 2018-12-12 | 1 | -2/+2 |
| | | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
| * | | deminout: Don't demote constant-driven inouts to inputs | David Shah | 2018-12-12 | 1 | -1/+2 |
| |/ | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | | Fix equiv_opt indenting | Clifford Wolf | 2018-12-16 | 1 | -139/+129 |
| | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | | Merge pull request #724 from whitequark/equiv_opt | Clifford Wolf | 2018-12-16 | 2 | -1/+168 |
|\ \ | | | | | | | equiv_opt: new command, for verifying optimization passes | ||||
| * | | equiv_opt: pass -D EQUIV when techmapping. | whitequark | 2018-12-07 | 1 | -2/+4 |
| | | | | | | | | | | | | | | | 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 | 2 | -1/+166 |
| | | | |||||
* | | | Merge pull request #734 from grahamedgecombe/fix-shuffled-bram-initdata | Clifford Wolf | 2018-12-16 | 1 | -0/+17 |
|\ \ \ | | | | | | | | | memory_bram: Fix initdata bit order after shuffling | ||||
| * | | | memory_bram: Fix initdata bit order after shuffling | Graham Edgecombe | 2018-12-11 | 1 | -0/+17 |
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases the memory_bram pass shuffles the order of the bits in a memory's RD_DATA port. Although the order of the bits in the WR_DATA and WR_EN ports is changed to match the RD_DATA port, the order of the bits in the initialization data is not. This causes reads of initialized memories to return invalid data (until the initialization data is overwritten). This commit fixes the bug by shuffling the initdata bits in exactly the same order as the RD_DATA/WR_DATA/WR_EN bits. | ||||
* | | | Merge pull request #714 from daveshah1/abc_preserve_naming | Clifford Wolf | 2018-12-16 | 1 | -29/+51 |
|\ \ \ | | | | | | | | | Proof-of-concept: preserve naming through ABC using dress | ||||
| * | | | abc: Preserve naming through ABC using 'dress' command | David Shah | 2018-12-06 | 1 | -29/+51 |
| | | | | | | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | | | | Merge pull request #722 from whitequark/rename_src | Clifford Wolf | 2018-12-16 | 1 | -0/+50 |
|\ \ \ \ | | | | | | | | | | | rename: add -src, for inferring names from source locations | ||||
| * | | | | rename: add -src, for inferring names from source locations. | whitequark | 2018-12-05 | 1 | -0/+50 |
| | |_|/ | |/| | | |||||
* | | | | Merge pull request #720 from whitequark/master | Clifford Wolf | 2018-12-16 | 2 | -2/+2 |
|\ \ \ \ | |_|_|/ |/| | | | lut2mux: handle 1-bit INIT constant in $lut cells | ||||
| * | | | lut2mux: handle 1-bit INIT constant in $lut cells. | whitequark | 2018-12-05 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | This pass already handles INIT constants shorter than 2^width, but that was not done for the recursion base case. | ||||
| * | | | opt_lut: simplify type conversion. NFC. | whitequark | 2018-12-05 | 1 | -1/+1 |
| |/ / | |||||
* | | | opt_lut: leave intact LUTs with cascade feeding module outputs. | whitequark | 2018-12-07 | 1 | -0/+6 |
| | | | |||||
* | | | opt_lut: show original truth table for both cells. | whitequark | 2018-12-07 | 1 | -2/+3 |
| | | | |||||
* | | | opt_lut: add -limit option, for debugging misoptimizations. | whitequark | 2018-12-07 | 1 | -3/+21 |
| |/ |/| | |||||
* | | Bugfix in opt_expr handling of a<0 and a>=0 | Clifford Wolf | 2018-12-06 | 1 | -1/+1 |
|/ | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Rename opt_lut.cpp to opt_lut.cc | Clifford Wolf | 2018-12-05 | 1 | -0/+0 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | opt_lut: add -dlogic, to avoid disturbing logic such as carry chains. | whitequark | 2018-12-05 | 1 | -17/+163 |
| | |||||
* | opt_lut: always prefer to eliminate 1-LUTs. | whitequark | 2018-12-05 | 1 | -19/+41 |
| | | | | | These are always either buffers or inverters, and keeping the larger LUT preserves more source-level information about the design. | ||||
* | opt_lut: collect and display statistics. | whitequark | 2018-12-05 | 1 | -4/+33 |
| | |||||
* | opt_lut: refactor to use a worker. NFC. | whitequark | 2018-12-05 | 1 | -170/+177 |
| | |||||
* | opt_lut: new pass, to combine LUTs for tighter packing. | whitequark | 2018-12-05 | 2 | -0/+275 |
| | |||||
* | Fix typo | Clifford Wolf | 2018-12-04 | 1 | -1/+1 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Merge pull request #702 from smunaut/min_ce_use | Clifford Wolf | 2018-12-04 | 1 | -1/+36 |
|\ | | | | | Add option to only use DFFE is the resulting E signal would be use > N times | ||||
| * | dff2dffe: Add option for unmap to only remove DFFE with low CE signal use | Sylvain Munaut | 2018-11-27 | 1 | -1/+36 |
| | | | | | | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | ||||
* | | Merge pull request #676 from rafaeltp/master | Clifford Wolf | 2018-12-01 | 1 | -10/+17 |
|\ \ | |/ |/| | Splits SigSpec into bits before calling check_signal_in_fanout (solves #675) | ||||
| * | using [i] to access individual bits of SigSpec and merging bits into a tmp ↵ | rafaeltp | 2018-10-21 | 1 | -11/+12 |
| | | | | | | | | Sig before setting the port to new signal | ||||
| * | cleaning up for PR | rafaeltp | 2018-10-20 | 1 | -2/+2 |
| | | |||||
| * | fixing code style | rafaeltp | 2018-10-20 | 1 | -1/+1 |
| | | |||||
| * | solves #675 | rafaeltp | 2018-10-20 | 1 | -11/+17 |
| | | |||||
* | | Add iteration limit to "opt_muxtree" | Clifford Wolf | 2018-11-20 | 1 | -1/+17 |
| | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | | DFFLIBMAP: changed 'missing pin' error into a warning with additional ↵ | Niels Moseley | 2018-11-06 | 1 | -1/+10 |
| | | | | | | | | reason/info. | ||||
* | | Allow square brackets in liberty identifiers | Clifford Wolf | 2018-11-05 | 1 | -2/+2 |
| | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | | Liberty file newline handling is more relaxed. More descriptive error message | Niels Moseley | 2018-11-03 | 1 | -4/+7 |
| | | |||||
* | | Report an error when a liberty file contains pin references that reference ↵ | Niels Moseley | 2018-11-03 | 1 | -0/+3 |
|/ | | | | non-existing pins |