aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* proc_dlatch: Remove init values for combinatorial processes.Marcelina Kościelnicka2020-07-121-0/+33
| | | | Fixes #2258.
* dfflegalize: Gather init values from all wires.Marcelina Kościelnicka2020-07-121-1/+1
| | | | Skipping non-selected wires is unsound in an obvious way.
* dfflibmap: Refactor to use dfflegalize internally.Marcelina Kościelnicka2020-07-091-211/+78
|
* clkbufmap: improve input pad handling.Marcelina Kościelnicka2020-07-091-17/+39
| | | | | | - allow inserting only the input pad cell - do not insert the usual buffer if the input pad already acts as a buffer
* clk2fflogic: Consistently treat async control signals as negative hold.Marcelina Kościelnicka2020-07-091-57/+51
| | | | | | | This fixes some dfflegalize equivalence checks, and breaks others — and I strongly suspect the others are due to bad support for multiple async inputs in `proc` (in particular, lack of proper support for dlatchsr and sketchy circuits on dffsr control inputs).
* dfflegalize: Add special support for const-D latches.Marcelina Kościelnicka2020-07-091-0/+18
| | | | | | Those can be created by `opt_dff` when optimizing `$adff` with const clock, or with D == Q. Make dfflegalize do the opposite transform when such dlatches would be otherwise unimplementable.
* dfflegalize: typo fixMarcelina Kościelnicka2020-07-071-1/+1
|
* Naming fixes.Marcelina Kościelnicka2020-07-052-2/+2
|
* dfflegalize: Prefer mapping dff to sdff before adffMarcelina Kościelnicka2020-07-051-1/+1
| | | | | | This ensures that, when both sync and async FFs are available and abc9 is involved, the sync FFs will be used, and will thus remain available for sequential synthesis.
* opt_expr: Fix crash on $mul optimization with more zeros removed than Y has.Marcelina Kościelnicka2020-07-051-0/+8
| | | | Fixes #2221.
* abc9: only techmap (* abc9_flop *) modulesEddie Hung2020-07-041-1/+1
|
* abc9: techmap from user design to allow abc9_flop modules to be composedEddie Hung2020-07-041-1/+1
| | | | from other primitives
* Add newlines to help text for dfflegalizeRupert Swarbrick2020-07-031-11/+11
| | | | | | | | | | | | | I think these were probably missed by accident. Spotted because GCC spits out lots of messages like this: passes/techmap/dfflegalize.cc:114:7: warning: zero-length gnu_printf format string [-Wformat-zero-length] 114 | log(""); | ^~ (because we tell GCC that the first argument to log() looks like a printf control string in log.h, and a zero length such string triggers a warning).
* Merge pull request #2208 from boqwxp/qbfsat-cleanupclairexen2020-07-022-255/+273
|\ | | | | qbfsat: Cleanup and refactoring
| * qbfsat: Remove useless comment and #ifndef guards.Alberto Gonzalez2020-07-011-5/+0
| |
| * qbfsat: Specify default values for some options in the help message.Alberto Gonzalez2020-07-011-0/+2
| |
| * qbfsat: Clean up external executable command lines and update temporary ↵Alberto Gonzalez2020-07-011-3/+7
| | | | | | | | directory name.
| * qbfsat: Clean up and refactor data structures into `qbfsat.h`.Alberto Gonzalez2020-07-012-248/+265
| |
* | Merge pull request #2186 from YosysHQ/mwk/dfflegalizeclairexen2020-07-022-0/+1357
|\ \ | | | | | | Add dfflegalize pass.
| * | Add dfflegalize pass.Marcelina Kościelnicka2020-07-012-0/+1357
| | |
* | | Merge pull request #2211 from YosysHQ/mwk/fix-fmcombine-ffclairexen2020-07-021-2/+1
|\ \ \ | | | | | | | | fmcombine: use the master ff cell type list
| * | | fmcombine: use the master ff cell type listMarcelina Kościelnicka2020-06-301-2/+1
| |/ /
* | | Merge pull request #2210 from YosysHQ/mwk/fix-opt_mergeclairexen2020-07-021-3/+1
|\ \ \ | |_|/ |/| | opt_merge: use the master FF type list
| * | opt_merge: use the master FF type listMarcelina Kościelnicka2020-06-301-3/+1
| |/
* | 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
| |