Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Merge pull request #2344 from YosysHQ/mwk/opt_share-fixes | clairexen | 2020-08-20 | 1 | -223/+138 | |
|\ | | | | | opt_share: Refactor, fix some bugs. | |||||
| * | opt_share: Refactor, fix some bugs. | Marcelina Kościelnicka | 2020-08-17 | 1 | -223/+138 | |
| | | | | | | | | | | | | Fixes #2334. Fixes #2335. Fixes #2336. | |||||
* | | Merge pull request #2337 from YosysHQ/mwk/clean-keep-wire | clairexen | 2020-08-20 | 1 | -4/+9 | |
|\ \ | | | | | | | opt_clean: Fix module keep rules. | |||||
| * | | opt_clean: Fix module keep rules. | Marcelina Kościelnicka | 2020-08-09 | 1 | -4/+9 | |
| |/ | | | | | | | | | | | - wires with keep attribute now force a module to be kept - presence of $memwr and $meminit cells no longer forces a module to be kept | |||||
* / | Remove now-redundant opt_rmdff pass. | Marcelina Kościelnicka | 2020-08-07 | 2 | -712/+0 | |
|/ | ||||||
* | Replace opt_rmdff with opt_dff. | Marcelina Kościelnicka | 2020-08-07 | 1 | -8/+16 | |
| | ||||||
* | opt_expr: Remove -clkinv option, make it the default. | Marcelina Kościelnicka | 2020-07-31 | 2 | -14/+14 | |
| | | | | | Adds -noclkinv option just in case the old behavior was actually useful to someone. | |||||
* | Add opt_dff pass. | Marcelina Kościelnicka | 2020-07-30 | 2 | -0/+876 | |
| | ||||||
* | opt_expr: Fix handling of $_XNOR_ cells with A = B. | Marcelina Kościelnicka | 2020-07-29 | 1 | -1/+1 | |
| | | | | Fixes #2311. | |||||
* | pmux2shift: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -15/+4 | |
| | ||||||
* | wreduce: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -37/+7 | |
| | ||||||
* | opt_merge: Dedup one more use of FF cell type list. | Marcelina Kościelnicka | 2020-07-15 | 1 | -3/+1 | |
| | ||||||
* | opt_expr: Fix crash on $mul optimization with more zeros removed than Y has. | Marcelina Kościelnicka | 2020-07-05 | 1 | -0/+8 | |
| | | | | Fixes #2221. | |||||
* | opt_merge: use the master FF type list | Marcelina Kościelnicka | 2020-06-30 | 1 | -3/+1 | |
| | ||||||
* | Merge pull request #2168 from whitequark/assert-unused-exprs | clairexen | 2020-06-25 | 1 | -1/+1 | |
|\ | | | | | Use (and ignore) the expression provided to log_assert in NDEBUG builds | |||||
| * | Remove YS_ATTRIBUTE(unused) where present just for log_assert()/log_debug(). | whitequark | 2020-06-19 | 1 | -1/+1 | |
| | | ||||||
* | | Add support for new FF types in some opt passes. | Marcelina Kościelnicka | 2020-06-23 | 3 | -14/+53 | |
|/ | ||||||
* | Use C++11 final/override keywords. | whitequark | 2020-06-18 | 17 | -38/+38 | |
| | ||||||
* | Do not optimize away FFs in "prep" and Verific fron-end | Claire Wolf | 2020-06-09 | 1 | -5/+12 | |
| | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | |||||
* | Add flooring division operator | Xiretza | 2020-05-28 | 4 | -11/+32 | |
| | | | | | | | | | | The $div and $mod cells use truncating division semantics (rounding towards 0), as defined by e.g. Verilog. Another rounding mode, flooring (rounding towards negative infinity), can be used in e.g. VHDL. The new $divfloor cell provides this flooring division. This commit also fixes the handling of $div in opt_expr, which was previously optimized as if it was $divfloor. | |||||
* | Add flooring modulo operator | Xiretza | 2020-05-28 | 4 | -10/+35 | |
| | | | | | | | | | | | The $div and $mod cells use truncating division semantics (rounding towards 0), as defined by e.g. Verilog. Another rounding mode, flooring (rounding towards negative infinity), can be used in e.g. VHDL. The new $modfloor cell provides this flooring modulo (also known as "remainder" in several languages, but this name is ambiguous). This commit also fixes the handling of $mod in opt_expr, which was previously optimized as if it was $modfloor. | |||||
* | opt_expr: Sx to Sz; spotted by @Xiretza | Eddie Hung | 2020-05-14 | 1 | -1/+1 | |
| | ||||||
* | Merge pull request #1994 from YosysHQ/eddie/fix_bug1758 | Eddie Hung | 2020-05-14 | 1 | -25/+111 | |
|\ | | | | | opt_expr: improve single-bit $and/$or/$xor/$xnor cells; gate cells too | |||||
| * | Fix whitespace | Eddie Hung | 2020-05-14 | 1 | -1/+1 | |
| | | ||||||
| * | opt_expr: consume_x to require/imply !keepdc | Eddie Hung | 2020-05-08 | 1 | -5/+6 | |
| | | ||||||
| * | opt_expr: restore consume_x; use for coarse grained too | Eddie Hung | 2020-05-08 | 1 | -6/+6 | |
| | | ||||||
| * | opt_expr: const_xnor replacement to pad Y with 1'b1 | Eddie Hung | 2020-04-24 | 1 | -1/+2 | |
| | | ||||||
| * | opt_expr: more fixes for $xor/$xnor | Eddie Hung | 2020-04-24 | 1 | -23/+47 | |
| | | ||||||
| * | opt_expr: do not group by X, more fixes | Eddie Hung | 2020-04-23 | 1 | -18/+59 | |
| | | ||||||
| * | opt_expr: improve single-bit $and/$or/$xor/$xnor cells; gate cells too | Eddie Hung | 2020-04-23 | 1 | -10/+29 | |
| | | ||||||
* | | opt_clean: improve warning message | Eddie Hung | 2020-05-14 | 1 | -1/+1 | |
| | | ||||||
* | | opt_clean: rminit without -purge; also remove if consistent with const.. | Eddie Hung | 2020-05-14 | 1 | -9/+17 | |
| | | | | | | | | warn otherwise | |||||
* | | opt_clean: really make 'clean' identical to 'opt_clean' by rminit too | Eddie Hung | 2020-05-14 | 1 | -3/+2 | |
| | | ||||||
* | | Fix the other "opt_expr -fine" bug introduced in 213a89558 | Claire Wolf | 2020-05-02 | 1 | -7/+19 | |
| | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | |||||
* | | Fix "opt_expr -fine" bug introduced in 213a89558 | Claire Wolf | 2020-05-01 | 1 | -7/+19 | |
|/ | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | |||||
* | opt_expr: Fix X and CO outputs for $alu identity-mapping rules. | Marcelina Kościelnicka | 2020-04-16 | 1 | -2/+17 | |
| | ||||||
* | opt_clean: Add missing assignments to opt.did_something. | Marcelina Kościelnicka | 2020-04-15 | 1 | -0/+6 | |
| | ||||||
* | opt_expr: Add more $alu optimizations. | Marcelina Kościelnicka | 2020-04-14 | 1 | -19/+110 | |
| | | | | | | | | | | | 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/+33 | |
| | | | | Fixes #1500. | |||||
* | [NFCI] Deduplicate builtin FF cell types list | Marcelina Kościelnicka | 2020-04-09 | 1 | -3/+1 | |
| | | | | | | | | | A few passes included the same list of FF cell types. Make it a global const instead. The zinit pass also seems to include a list like that, but given that it seems to be completely broken at the time (see #1568 discussion), I'm going to pretend I didn't see that. | |||||
* | kernel: big fat patch to use more ID::*, otherwise ID(*) | Eddie Hung | 2020-04-02 | 14 | -459/+459 | |
| | ||||||
* | Merge pull request #1845 from YosysHQ/eddie/kernel_speedup | Eddie Hung | 2020-04-02 | 6 | -23/+23 | |
|\ | | | | | kernel: speedup by using more pass-by-const-ref | |||||
| * | kernel: SigSpec use more const& + overloads to prevent implicit SigSpec | Eddie Hung | 2020-03-13 | 6 | -23/+23 | |
| | | ||||||
* | | Merge pull request #1828 from YosysHQ/eddie/celltypes_speedup | Eddie Hung | 2020-04-01 | 2 | -17/+35 | |
|\ \ | | | | | | | kernel: share a single CellTypes within a pass | |||||
| * | | Code review fixes | Eddie Hung | 2020-03-30 | 1 | -1/+1 | |
| | | | ||||||
| * | | Apply suggestions from code review | Eddie Hung | 2020-03-30 | 1 | -2/+1 | |
| | | | | | | | | | Co-Authored-By: Alberto Gonzalez <61295559+boqwxp@users.noreply.github.com> | |||||
| * | | kernel: clear some more ShareWorker state | Eddie Hung | 2020-03-26 | 1 | -0/+4 | |
| | | | ||||||
| * | | kernel: share a single CellTypes within a pass | Eddie Hung | 2020-03-18 | 2 | -17/+32 | |
| |/ | ||||||
* | | Merge pull request #1790 from YosysHQ/eddie/opt_expr_xor | Eddie Hung | 2020-04-01 | 1 | -3/+37 | |
|\ \ | | | | | | | opt_expr: optimise $xor/$xnor/$_XOR_/$_XNOR_ -s with constant inputs | |||||
| * | | opt_expr: fix failing $xnor test | Eddie Hung | 2020-03-20 | 1 | -2/+17 | |
| | | |