Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | | | |||||
| * | | opt_expr: fix missing brace | Eddie Hung | 2020-03-20 | 1 | -2/+4 |
| | | | |||||
| * | | opt_expr: extend to $xnor and $_XNOR_ | Eddie Hung | 2020-03-19 | 1 | -8/+12 |
| | | | |||||
| * | | opt_expr: optimise 1-bit $xor or $_XOR_ with constant input | Eddie Hung | 2020-03-19 | 1 | -1/+14 |
| |/ | |||||
* | | Merge pull request #1789 from YosysHQ/eddie/opt_expr_alu | Eddie Hung | 2020-04-01 | 1 | -19/+51 |
|\ \ | | | | | | | opt_expr: improve performance on $alu and $sub | ||||
| * | | opt_expr: remove redundant | Eddie Hung | 2020-03-19 | 1 | -3/+0 |
| | | | |||||
| * | | opt_expr: optimise $sub when both A[i] and B[i] == 1'b1 | Eddie Hung | 2020-03-19 | 1 | -9/+20 |
| | | | |||||
| * | | opt_expr: optimise for identity $alu-s just like $add/$sub | Eddie Hung | 2020-03-19 | 1 | -7/+31 |
| |/ | |||||
* | | opt_merge: unordered_map -> dict as per @cliffordwolf review | Eddie Hung | 2020-03-16 | 1 | -1/+1 |
| | | |||||
* | | opt_merge: speedup | Eddie Hung | 2020-03-16 | 1 | -132/+102 |
|/ | |||||
* | ystests: fix write_smt2_write_smt2_cyclic_dependency_fail | Eddie Hung | 2020-02-28 | 1 | -11/+11 |
| | |||||
* | clean: ignore specify-s inside cells when determining whether to keep | Eddie Hung | 2020-02-19 | 1 | -9/+15 |
| | |||||
* | Merge pull request #1576 from YosysHQ/eddie/opt_merge_init | Eddie Hung | 2020-02-05 | 1 | -1/+16 |
|\ | | | | | opt_merge: discard \init of '$' cells with 'Q' port when merging | ||||
| * | Merge remote-tracking branch 'origin/master' into eddie/opt_merge_init | Eddie Hung | 2020-01-28 | 1 | -1/+1 |
| |\ | |||||
| * | | Add $_FF_ and $_SR* courtesy of @mwkmwkmwk | Eddie Hung | 2019-12-20 | 1 | -4/+6 |
| | | |