aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* glift: Use worker pattern.Alberto Gonzalez2020-07-011-80/+75
|
* glift: Add support for $_NAND_ and $_NOR_ cells.Alberto Gonzalez2020-07-011-8/+11
|
* glift: Add support for $_MUX_ and $_NMUX_ cells.Alberto Gonzalez2020-07-011-1/+34
|
* glift: Add support for $_XOR_ and $_XNOR_ cells.Alberto Gonzalez2020-07-011-15/+79
|
* glift: Add initial hierarchy support.Alberto Gonzalez2020-07-011-12/+59
|
* glift: Replace `YS_OVERRIDE` with `override`.Alberto Gonzalez2020-07-011-2/+2
|
* glift: Add `-simple-cost-model` optionAlberto Gonzalez2020-07-011-20/+45
| | | | | | | | Rather than assigning specific weights to specific versions of taint tracking logic and summing the weights of all GLIFT cells, sum the following values for each GLIFT cell: - 0 if the associated hole/$anyconst cell value is non-zero, i.e. reduced-precision taint tracking logic is chosen at this cell - 1 if the associated hole/$anyconst cell value is zero, i.e. the full-precision taint tracking logic is chosen at this cell This simplified cost modeling reduces the potential for the QBF-SAT solver to minimize taint tracking logic area but significantly simplifies the QBF-SAT problem.
* glift: Add `-instrument-more` option to add 4 more versions of taint ↵Alberto Gonzalez2020-07-011-44/+124
| | | | tracking logic. Also refactor a bit and update help text.
* glift: Change command names to better represent their functions.Alberto Gonzalez2020-07-011-22/+22
|
* glift: Add `-create-imprecise` command, rename other commands, and re-work ↵Alberto Gonzalez2020-07-011-28/+54
| | | | the help text.
* glift: Add replacement scoring and area minimization option.Alberto Gonzalez2020-07-011-3/+56
|
* glift: Remove outputs by default; add `-keep-outputs` option; properly reset ↵Alberto Gonzalez2020-07-011-12/+43
| | | | internal state between calls.
* glift: Initial implementation of the `-sketchify` option.Alberto Gonzalez2020-07-011-50/+71
|
* glift: Initial implementation of GLIFT model construction.Alberto Gonzalez2020-07-011-2/+173
|
* glift: Add skeleton for `glift` command.Alberto Gonzalez2020-07-012-0/+51
|
* Merge pull request #2138 from boqwxp/qbfsat-oflagclairexen2020-07-011-16/+47
|\ | | | | qbfsat: Add `-O[012]` options to control pre-solving simplification with ABC
| * qbfsat: Add `-O[012]` options to control pre-solving simplification with ABC.Alberto Gonzalez2020-06-301-16/+47
| | | | | | | | | | | | Thanks to @mwk for the gate mapping part of the ABC scripts. Co-Authored-By: Marcelina Kościelnicka <mwk@0x04.net>
* | Merge pull request #2206 from boqwxp/qbfsat-fix-name-specializationclairexen2020-07-011-2/+24
|\ \ | | | | | | qbfsat: Fix name-based hole specialization
| * | qbfsat: Fix name-based hole specialization.Alberto Gonzalez2020-06-301-2/+24
| |/ | | | | | | Look for unique connections in the containing module with the $anyconst port Y SigBit on the RHS and use those. If no such connection is found, fall back to using the name of the $anyconst port Y SigBit.
* | Merge pull request #2199 from YosysHQ/mmicko/sim_memoryclairexen2020-06-301-1/+4
|\ \ | | | | | | sim - error when memrd and memwr detected
| * | sim - error when memrd and memwr detectedMiodrag Milanovic2020-06-291-1/+4
| | |
* | | Merge pull request #2201 from YosysHQ/fix_test_cell_ilangclairexen2020-06-301-2/+2
|\ \ \ | | | | | | | | Use ID macro to fix assertion
| * | | Use ID macro to fix assertionMiodrag Milanovic2020-06-291-2/+2
| |/ /
* | / techmap: don't drop attributes on replaced cells.whitequark2020-06-291-2/+3
| |/ |/| | | | | | | | | This was introduced in 76c4ee4ea5cb6a3dc214f66237af22a1bedda010. Fixes #2204.
* | Merge pull request #2200 from YosysHQ/mmicko/fix_exposeMiodrag Milanović2020-06-291-7/+23
|\ \ | | | | | | expose pass fix
| * | Give error that options are exclusiveMiodrag Milanovic2020-06-291-2/+6
| | |
| * | cleanupMiodrag Milanovic2020-06-291-12/+13
| | |
| * | expose pass fixMiodrag Milanovic2020-06-291-5/+16
| |/
* / test_cell: don't generate directional shifts with \B_SIGNED=1Xiretza2020-06-281-0/+4
|/ | | | | This was made an explicit error in e97e33d, "kernel: require \B_SIGNED=0 on $shl, $sshl, $shr, $sshr.".
* Merge pull request #2168 from whitequark/assert-unused-exprsclairexen2020-06-255-20/+20
|\ | | | | Use (and ignore) the expression provided to log_assert in NDEBUG builds
| * Use [[maybe_unused]] instead of YS_ATTRIBUTE(unused).whitequark2020-06-191-10/+10
| | | | | | | | | | [[maybe_unused]] is available since C++17, so this commit adds a polyfill YS_MAYBE_UNUSED. Once we require C++17 we can drop it.
| * Remove YS_ATTRIBUTE(unused) where present just for log_assert()/log_debug().whitequark2020-06-194-10/+10
| |
* | Merge pull request #2135 from boqwxp/qbfsat-timeinfoclairexen2020-06-251-1/+6
|\ \ | | | | | | log and qbfsat: Also include child process usage in `PerformanceTimer::query()` and report the time for each call to the QBF-SAT solver
| * | log, qbfsat: Include child process time in `PerformanceTimer::query()` and ↵Alberto Gonzalez2020-06-211-1/+6
| | | | | | | | | | | | report the time for each call to the QBF-SAT solver.
* | | Merge pull request #2093 from boqwxp/qbfsat-bugfixesclairexen2020-06-251-86/+136
|\| | | | | | | | qbfsat: Multiple bugfixes
| * | qbfsat: Simplify solution recovery parsing and tweak the solution regexes.Alberto Gonzalez2020-06-211-22/+12
| | |
| * | qbfsat: Avoid instantiating `AttrObject`s directly.Alberto Gonzalez2020-06-211-9/+6
| | | | | | | | | | | | Co-Authored-By: Claire Wolf <claire@symbioticeda.com>
| * | qbfsat: Simplify solution format and replace `SigBit::str()` with ↵Alberto Gonzalez2020-06-211-19/+37
| | | | | | | | | | | | | | | | | | `log_signal()`. Co-Authored-By: Claire Wolf <claire@symbioticeda.com>
| * | qbfsat: Fixes three bugs.Alberto Gonzalez2020-06-211-5/+17
| | | | | | | | | | | | | | | | | | 1. Infinite loop in the optimization procedure when the first solution found while maximizing is at zero. 2. A signed-ness issue when maximizing. 3. Erroneously entering bisection mode with no wire to optimize.
| * | qbfsat: Use bit precise mapping for hole value wires and a more robust hole ↵Alberto Gonzalez2020-06-211-80/+113
| |/ | | | | | | spec for writing to and specializing from a solution file.
* | simplemap: Fix $dffsre mapping.Marcelina Kościelnicka2020-06-231-1/+1
| |
* | Update dff2dffe, dff2dffs, zinit to new FF types.Marcelina Kościelnicka2020-06-233-43/+73
| |
* | Add new FF types to simplemap.Marcelina Kościelnicka2020-06-231-8/+133
| |
* | Add support for new FF types in some opt passes.Marcelina Kościelnicka2020-06-233-14/+53
| |
* | Add new builtin FF typesMarcelina Kościelnicka2020-06-231-1/+4
|/ | | | | | | | | | | | | | The new types include: - FFs with async reset and enable (`$adffe`, `$_DFFE_[NP][NP][01][NP]_`) - FFs with sync reset (`$sdff`, `$_SDFF_[NP][NP][01]_`) - FFs with sync reset and enable, reset priority (`$sdffs`, `$_SDFFE_[NP][NP][01][NP]_`) - FFs with sync reset and enable, enable priority (`$sdffce`, `$_SDFFCE_[NP][NP][01][NP]_`) - FFs with async reset, set, and enable (`$dffsre`, `$_DFFSRE_[NP][NP][NP][NP]_`) - latches with reset or set (`$adlatch`, `$_DLATCH_[NP][NP][01]_`) The new FF types are not actually used anywhere yet (this is left for future commits).
* Merge pull request #2173 from whitequark/use-cxx11-final-overridewhitequark2020-06-19153-340/+340
|\ | | | | Use C++11 final/override/[[noreturn]]
| * Use C++11 final/override keywords.whitequark2020-06-18153-340/+340
| |
* | cutpoint: Improve efficiency by iterating over module ports instead of ↵Alberto Gonzalez2020-06-181-9/+10
|/ | | | module wires.
* Merge pull request #2153 from boqwxp/splitnets-cleanupN. Engelhardt2020-06-181-16/+19
|\ | | | | splitnets: Cleanup and efficiency improvements
| * splitnets: Clean up pseudo-private member usageAlberto Gonzalez2020-06-131-7/+6
| |