aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2081 from YosysHQ/eddie/blackbox_astEddie Hung2020-05-301-25/+1
|\ | | | | blackbox: use Module::makeblackbox() method
| * blackbox: re-use existing Module::makeblackbox() methodEddie Hung2020-05-251-25/+1
| |
* | Merge pull request #2018 from boqwxp/qbfsat-timeoutclairexen2020-05-301-13/+53
|\ \ | | | | | | smtbmc and qbfsat: Add timeout option to set solver timeouts for Z3, Yices, and CVC4.
| * | smtbmc and qbfsat: Add timeout option to set solver timeouts for Z3, Yices, ↵Alberto Gonzalez2020-05-251-13/+53
| | | | | | | | | | | | and CVC4.
* | | Merge pull request #1885 from Xiretza/mod-rem-cellsclairexen2020-05-297-15/+65
|\ \ \ | | | | | | | | Fix modulo/remainder semantics
| * | | Add flooring division operatorXiretza2020-05-287-13/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 operatorXiretza2020-05-287-12/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2017 from boqwxp/qbfsat-cvc4clairexen2020-05-291-2/+6
|\ \ \ \ | | |/ / | |/| | qbfsat: Add support for CVC4.
| * | | qbfsat: Add support for CVC4.Alberto Gonzalez2020-05-251-2/+6
| | | |
* | | | Merge pull request #2016 from boqwxp/qbfsat-yicesclairexen2020-05-291-20/+47
|\| | | | |/ / |/| | qbfsat: Add `-solver` option and allow choice of Z3 or Yices, making Yices the default.
| * | qbfsat: Add `-solver` option and allow choice of Z3 or Yices, making Yices ↵Alberto Gonzalez2020-05-251-20/+47
| |/ | | | | | | | | | | the default. Ensures that "BV" is the logic whenever solving an exists-forall problem with Yices, moves the "(set-logic ...)" directive above any non-info line, sets the `ef-max-iters` parameter to a very high number when using Yices in exists-forall mode so as not to prematurely abandon difficult problems, and does not provide the incompatible "--incremental" Yices argument when in exists-forall mode.
* | Merge pull request #2095 from rswarbrick/hier-typowhitequark2020-05-281-2/+2
|\ \ | | | | | | Fix small typos in documentation for hierarchy command
| * | Fix small typos in documentation for hierarchy commandRupert Swarbrick2020-05-281-2/+2
| |/
* | printattrs: Simplify `get_indent_str()`.Alberto Gonzalez2020-05-281-3/+1
| | | | | | | | Co-Authored-By: Xiretza <xiretza@xiretza.xyz>
* | printattrs: Refactor indentation string building for clarity.Alberto Gonzalez2020-05-271-5/+11
| | | | | | | | Co-Authored-By: whitequark <whitequark@whitequark.org>
* | printattrs: Use `flags` to pretty-print the `RTLIL::Const` appropriately.Alberto Gonzalez2020-05-271-8/+15
| | | | | | | | Co-Authored-By: whitequark <whitequark@whitequark.org>
* | misc: Add `printattrs` command.Alberto Gonzalez2020-05-272-0/+80
|/
* Merge pull request #2015 from boqwxp/qbfsat-bisectionclairexen2020-05-251-98/+207
|\ | | | | qbfsat: Add an iterative bisection optimization method and make it the default.
| * qbfsat: Remove cruft inadvertently left untouched in commit ↵Alberto Gonzalez2020-05-231-11/+0
| | | | | | | | 86fc49a9d60f9ad4cdeec93663e7245a9fdf60c6.
| * qbfsat: Add bisection mode and make it the default.Alberto Gonzalez2020-05-231-87/+207
| | | | | | | | Also adds `-nooptimize` and reorganizes `qbfsat.cc` a bit.
* | abc9_ops: update commentEddie Hung2020-05-211-1/+1
| |
* | Merge pull request #2059 from boqwxp/logger-vector-to-dictMiodrag Milanović2020-05-211-33/+6
|\ \ | | | | | | log: Use `dict` instead of `std::vector<std::pair>` for `log_expect_{error, warning, log}` to better express the intent that each element is unique.
| * | log: Use `dict` instead of `std::vector<std::pair>` for `log_expect_{error, ↵Alberto Gonzalez2020-05-151-33/+6
| | | | | | | | | | | | warning, log}` to better express the intent that each element is unique.
* | | Merge pull request #1926 from YosysHQ/eddie/abc9_auto_dffEddie Hung2020-05-182-372/+895
|\ \ \ | |/ / |/| | abc9: support seq synthesis when module has (* abc9_flop *) and bypass non-combinatorial (* abc9_box *)
| * | abc9: use (* abc9_keep *) instead of (* abc9_scc *); apply to $_DFF_?_Eddie Hung2020-05-141-3/+3
| | | | | | | | | | | | instead of moving them to $__ prefix
| * | abc9_ops: -prep_hier to create unmap module that removes Q's (* init *)Eddie Hung2020-05-141-4/+6
| | |
| * | abc9: preserve $_DFF_?_.Q's (* init *); rely on clean to remove itEddie Hung2020-05-141-17/+1
| | |
| * | Fix broken test when ignoring abc9_flop with init == 1'b1Eddie Hung2020-05-141-3/+0
| | |
| * | abc9_ops/xaiger: further reducing Module::derive() calls by ...Eddie Hung2020-05-141-88/+84
| | | | | | | | | | | | replacing _all_ (* abc9_box *) instantiations with their derived types
| * | Cleanup; reduce Module::derive() callsEddie Hung2020-05-141-131/+140
| | |
| * | abc9: update to =_$abc9_flops pattern which includes whiteboxesEddie Hung2020-05-141-3/+3
| | |
| * | abc9_ops: update docsEddie Hung2020-05-141-11/+10
| | |
| * | abc9: only do +/abc9_map if `DFFEddie Hung2020-05-141-1/+4
| | |
| * | abc9: rework submod -- since it won't move (* keep *) cellsEddie Hung2020-05-142-34/+29
| | |
| * | abc9_ops: move assertEddie Hung2020-05-141-1/+1
| | |
| * | abc9: put 'aigmap' backEddie Hung2020-05-141-0/+1
| | |
| * | abc9_ops: fix bypass boxes using (* abc9_bypass *)Eddie Hung2020-05-141-12/+9
| | |
| * | abc9_ops: tidy up, suppress error if no boxes/holesEddie Hung2020-05-141-18/+18
| | |
| * | abc9_ops: -prep_delays to not insert delay box if input connection is constEddie Hung2020-05-141-0/+2
| | |
| * | abc9_ops: cleanup; -prep_dff -> -prep_dff_submodEddie Hung2020-05-142-22/+14
| | |
| * | abc9_ops: add -prep_bypass for auto bypass boxes; refactorEddie Hung2020-05-142-173/+509
| | | | | | | | | | | | | | | Eliminate need for abc9_{,un}map.v in xilinx -prep_dff_{hier,unmap} -> -prep_hier
| * | abc9_ops: -reintegrate to handle $_FF_; cleanupEddie Hung2020-05-141-22/+18
| | |
| * | abc9: restore selected_modules()Eddie Hung2020-05-141-1/+1
| | |
| * | abc9: add flop boxes to basic $_DFF_P_ and $_DFF_N_ tooEddie Hung2020-05-142-19/+26
| | |
| * | abc9_ops: -prep_dff_map to error if async flop foundEddie Hung2020-05-141-5/+7
| | |
| * | abc9: remove redundant wbflipEddie Hung2020-05-141-1/+0
| | |
| * | abc9: generate $abc9_holes design instead of <name>$holesEddie Hung2020-05-142-15/+19
| | |
| * | abc9_ops: more robustEddie Hung2020-05-141-8/+14
| | |
| * | abc9: suppress warnings when no compatible + used flop boxes formedEddie Hung2020-05-142-37/+63
| | |
| * | abc9: cleanupEddie Hung2020-05-141-7/+11
| | |