aboutsummaryrefslogtreecommitdiffstats
path: root/passes/opt
Commit message (Collapse)AuthorAgeFilesLines
* Add "wreduce -keepdc", fixes #1016Clifford Wolf2019-05-201-1/+9
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Improvements in opt_cleanClifford Wolf2019-05-151-10/+10
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix handling of glob_abort_cnt in opt_muxtree, fixes #1002Clifford Wolf2019-05-121-3/+11
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* More opt_clean cleanupsClifford Wolf2019-05-071-26/+36
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #946 from YosysHQ/clifford/specifyClifford Wolf2019-05-061-1/+1
|\ | | | | Add specify parser
| * Merge branch 'master' of github.com:YosysHQ/yosys into clifford/specifyClifford Wolf2019-05-061-10/+22
| |\
| * \ Merge remote-tracking branch 'origin/master' into clifford/specifyEddie Hung2019-05-033-30/+157
| |\ \
| * | | Add $specrule cells for $setup/$hold/$skew specify rulesClifford Wolf2019-04-231-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * | | Preserve $specify[23] cellsClifford Wolf2019-04-231-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | | Merge branch 'master' of github.com:YosysHQ/yosys into clifford/fix968Clifford Wolf2019-05-063-59/+113
|\ \ \ \
| * | | | Cleanups in opt_cleanClifford Wolf2019-05-061-47/+16
| | |_|/ | |/| | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * | | Improve opt_clean handling of unused wiresClifford Wolf2019-05-041-10/+22
| | |/ | |/| | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * | Merge pull request #969 from YosysHQ/clifford/pmgenstuffClifford Wolf2019-05-031-0/+36
| |\ \ | | | | | | | | Improve pmgen, Add "peepopt" pass with shift-mul pattern
| | * | Add peepopt_muldiv, fixes #930Clifford Wolf2019-04-301-0/+36
| | |/ | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * | Improve opt_expr and opt_clean handling of (partially) undriven and/or ↵Clifford Wolf2019-05-032-44/+81
| | | | | | | | | | | | | | | | | | unused wires, fixes #981 Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Further improve unused-detection for opt_clean driver-driver conflict warningClifford Wolf2019-05-031-5/+8
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Improve unused-detection for opt_clean driver-driver conflict warningClifford Wolf2019-05-031-21/+29
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Silently resolve completely unused cell-vs-const driver-driver conflictsClifford Wolf2019-05-011-2/+21
|/ / | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Fix segfault in wreduceClifford Wolf2019-04-301-0/+2
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Add handling of init attributes in "opt_expr -undriven"Clifford Wolf2019-04-301-2/+41
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Drive dangling wires with init attr with their init value, fixes #956Clifford Wolf2019-04-291-0/+13
|/
* Remove some left-over log_dump()Clifford Wolf2019-04-231-2/+0
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #951 from YosysHQ/clifford/logdebugClifford Wolf2019-04-224-45/+59
|\ | | | | Add log_debug() framework
| * Add log_debug() frameworkClifford Wolf2019-04-224-45/+59
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Add full_pmux feature to pmux2shiftxClifford Wolf2019-04-221-1/+22
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Auto-initialize OnehotDatabase on-demand in pmux2shiftx.ccClifford Wolf2019-04-201-4/+7
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add "onehot" pass, improve "pmux2shiftx" onehot handlingClifford Wolf2019-04-201-13/+404
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Improve "pmux2shiftx"Clifford Wolf2019-04-201-10/+8
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix some typosClifford Wolf2019-04-201-2/+2
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Improvements in "pmux2shiftx"Clifford Wolf2019-04-201-12/+52
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Improvements in pmux2shiftxClifford Wolf2019-04-201-13/+6
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Improve pmux2shift ctrl permutation finderClifford Wolf2019-04-201-27/+114
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Complete rewrite of pmux2shiftxClifford Wolf2019-04-201-27/+265
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Import initial pmux2shiftx from eddiehClifford Wolf2019-04-202-0/+82
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Trim init attributes when resizing FFs in "wreduce", fixes #887Clifford Wolf2019-03-221-1/+26
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Improve handling of and-with-1 and or-with-0 in opt_expr, fixes #327Clifford Wolf2019-03-141-0/+7
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix multiple issues in wreduce FF handling, fixes #835Clifford Wolf2019-02-281-5/+24
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Cleanups in ARST handling in wreduceClifford Wolf2019-02-241-10/+4
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix WREDUCE on FF not fixing ARST_VALUE parameter.Keith Rothman2019-02-221-0/+13
| | | | | | Adds test case that fails without code change. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Merge pull request #818 from YosysHQ/clifford/dffsrfixClifford Wolf2019-02-211-6/+7
|\ | | | | Fix opt_rmdff handling of $_DFFSR_???_ and $_DLATCHSR_???_, fixes #816
| * Fix opt_rmdff handling of $_DFFSR_???_ and $_DLATCHSR_???_, fixes #816Clifford Wolf2019-02-211-6/+7
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Add FF support to wreduceClifford Wolf2019-02-201-1/+70
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Bugfix in $memrd sharingClifford Wolf2019-01-071-2/+6
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #775 from whitequark/opt_flowmapClifford Wolf2019-01-031-1/+1
|\ | | | | flowmap: new techmap pass
| * flowmap: new techmap pass.whitequark2019-01-031-1/+1
| |
* | Merge pull request #770 from whitequark/opt_expr_cmpClifford Wolf2019-01-021-97/+134
|\ \ | |/ |/| opt_expr: refactor and improve simplification of comparisons
| * opt_expr: improve simplification of comparisons with large constants.whitequark2019-01-021-70/+47
| | | | | | | | | | | | | | | | | | | | | | | | 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-31/+37
| |
| * opt_expr: refactor simplification of signed X>=0 and X<0. NFCI.whitequark2019-01-021-24/+26
| |
| * opt_expr: simplify any unsigned comparisons with all-0 and all-1.whitequark2019-01-021-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.