aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Adding tests for dynamic part select optimisationdiego2020-04-167-0/+161
|
* Make mask-and-shift the default for bitselwriteClaire Wolf2020-04-161-1/+1
| | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* Add LookaheadRewriter for proper bitselwrite supportClaire Wolf2020-04-164-4/+144
| | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* Improved rewrite code for writing to bit slice (disabled for now)Claire Wolf2020-04-151-12/+64
| | | | | | | | | This adds the new rewrite rule. But it's still missing a check that makes sure the new rewrite rule is actually a valid substitute in the always block being processed. Therefore the new rewrite rule is just disabled for now. Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* Merge pull request #1894 from YosysHQ/mingw_fixMiodrag Milanović2020-04-151-0/+4
|\ | | | | Fix compile for mingw
| * Fix compile for mingwMiodrag Milanovic2020-04-151-0/+4
| |
* | Merge pull request #1916 from YosysHQ/eddie/kernel_makeblackboxEddie Hung2020-04-151-0/+2
|\ \ | | | | | | kernel: Module::makeblackbox() to clear connections too
| * | kernel: Module::makeblackbox() to clear connections tooEddie Hung2020-04-131-0/+2
| | |
* | | Merge pull request #1933 from YosysHQ/eddie/zinit_moreEddie Hung2020-04-152-9/+123
|\ \ \ | | | | | | | | zinit: handle $__DFFS?E?_[NP][NP][01] too
| * | | tests: zinit for new typesEddie Hung2020-04-141-2/+96
| | | |
| * | | zinit: handle $__DFFS?E?_[NP][NP][01] tooEddie Hung2020-04-141-7/+27
| | | |
* | | | Merge pull request #1830 from boqwxp/qbfsatN. Engelhardt2020-04-154-3/+573
|\ \ \ \ | | | | | | | | | | Add `qbfsat` command to integrate exists-forall solving and specialization
| * | | | Use `pool` instead of `std::set`.Alberto Gonzalez2020-04-111-6/+6
| | | | |
| * | | | Use `dict` instead of `std::map`.Alberto Gonzalez2020-04-111-8/+8
| | | | |
| * | | | Clean up `passes/sat/qbfsat.cc`.Alberto Gonzalez2020-04-091-13/+10
| | | | | | | | | | | | | | | | | | | | Makes various cosmetic fixes, removes superfluous `hasPort()` check, and uses `emplace_back()` instead of `push_back()`.
| * | | | Remove `$anyconst` cells before specialization to eliminate warnings and the ↵Alberto Gonzalez2020-04-071-2/+25
| | | | | | | | | | | | | | | | | | | | need to run `opt_clean`.
| * | | | Use newly-renamed `-push-copy` option.Alberto Gonzalez2020-04-041-1/+1
| | | | |
| * | | | Improve style in `passes/sat/qbfsat.cc`.Alberto Gonzalez2020-04-041-4/+2
| | | | |
| * | | | Gracefully report error when module has nothing to prove.Alberto Gonzalez2020-04-041-5/+8
| | | | |
| * | | | Suppress `yosys-smtbmc` output unless the new `-show-smtbmc` option is provided.Alberto Gonzalez2020-04-041-5/+14
| | | | |
| * | | | Fix handling of `-sat` and `-unsat` options when the solver returns `unknown`.Alberto Gonzalez2020-04-041-0/+2
| | | | |
| * | | | Use `log_push()` and `log_pop()` and show the satisfiable model when ↵Alberto Gonzalez2020-04-041-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-specialize` is not specified. Co-Authored-By: N. Engelhardt <nak@symbioticeda.com>
| * | | | Clean up `qbfsat` command and fix AND-reduction of miter outputs.Alberto Gonzalez2020-04-041-8/+10
| | | | |
| * | | | Use the `-duplicate` option rather than `-save` and `-load` with an explicit ↵Alberto Gonzalez2020-04-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | name. Co-Authored-By: Claire Wolf <claire@symbioticeda.com>
| * | | | Use internal `run_command()` API instead of `popen()`.Alberto Gonzalez2020-04-041-49/+15
| | | | | | | | | | | | | | | | | | | | Co-Authored-By: Claire Wolf <claire@symbioticeda.com>
| * | | | Clean up manual casting.Alberto Gonzalez2020-04-041-2/+2
| | | | | | | | | | | | | | | | | | | | Co-Authored-By: David Shah <dave@ds0.me>
| * | | | Remove unimplemented `-timeout` option.Alberto Gonzalez2020-04-041-16/+4
| | | | |
| * | | | Implement the `-assume-outputs`, `-sat`, and -unsat` options for the ↵Alberto Gonzalez2020-04-041-3/+66
| | | | | | | | | | | | | | | | | | | | `qbfsat` command.
| * | | | Add NDEBUG guards to `qbfsat` assertions.Alberto Gonzalez2020-04-041-0/+18
| | | | |
| * | | | Implement `-specialize-from-file` option for the `qbfsat` command.Alberto Gonzalez2020-04-041-23/+56
| | | | |
| * | | | Implement `-write-solution` option for the `qbfsat` command.Alberto Gonzalez2020-04-041-7/+28
| | | | |
| * | | | Clean up `passes/sat/qbfsat.cc`.Alberto Gonzalez2020-04-041-86/+101
| | | | |
| * | | | Updated `yosys-smtbmc` to optionally dump raw bit strings, and fixed hole ↵Alberto Gonzalez2020-04-042-32/+54
| | | | | | | | | | | | | | | | | | | | value recovery using that mode.
| * | | | Hole value recovery and specialization implementation for `qbfsat` command.Alberto Gonzalez2020-04-042-20/+70
| | | | |
| * | | | Barebones implementation of `qbfsat` command.Alberto Gonzalez2020-04-041-32/+157
| | | | |
| * | | | Initial skeleton for `qbfsat` command.Alberto Gonzalez2020-04-042-0/+207
| | | | |
* | | | | Fix the truth table for $_SR_* cells.Marcelina Kościelnicka2020-04-153-26/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings the documented behavior for these cells in line with $_DFFSR_* and $_DLATCHSR_*, which is that R has priority over S. The models were already reflecting that behavior. Also get rid of sim-synth mismatch in the models while we're at it.
* | | | | Merge pull request #1897 from YosysHQ/dave/bram-rejection-fixDavid Shah2020-04-151-3/+3
|\ \ \ \ \ | | | | | | | | | | | | memory_bram: Fix ignorance of valid, matched rules
| * | | | | memory_bram: Fix ignorance of valid, matched rulesDavid Shah2020-04-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | | | | | Get rid of dffsr2dff.Marcelina Kościelnicka2020-04-1513-422/+2302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pass is a proper subset of opt_rmdff, which is called by opt, which is called by every synth flow in the coarse part. Thus, it never actually does anything and can be safely removed.
* | | | | | opt_clean: Add missing assignments to opt.did_something.Marcelina Kościelnicka2020-04-151-0/+6
| | | | | |
* | | | | | Merge pull request #1918 from whitequark/simplify-improve_enumwhitequark2020-04-152-7/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | ast/simplify: improve enum handling
| * | | | | | ast/simplify: improve enum handling.whitequark2020-04-152-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, enum values were serialized as attributes of form \enum_<width>_<value> where <value> was a decimal signed integer. This has multiple drawbacks: * Enums with large values would be hard to process for downstream tooling that cannot parse arbitrary precision decimals. (In fact Yosys also did not correctly process enums with large values, and would overflow `int`.) * Enum value attributes were not confined to their own namespace, making it harder for downstream tooling to enumerate all such attributes, as opposed to looking up any specific value. * Enum values could not include x or z, which are explicitly permitted in the SystemVerilog standard. After this commit, enum values are serialized as attributes of form \enum_value_<value> where <value> is a bit sequence of the appropriate width.
* | | | | | | synth_intel_alm: VQM supportDan Ravensloft2020-04-152-6/+3
| | | | | | |
* | | | | | | setundef: Improve error messages.Marcelina Kościelnicka2020-04-151-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #1092.
* | | | | | | json: Update format documentation.Marcelina Kościelnicka2020-04-151-12/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #1693.
* | | | | | | Merge pull request #1930 from YosysHQ/claire/fix1876Claire Wolf2020-04-152-7/+73
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix handling of ternary with constant condition
| * | | | | | | tests: add testcases from #1876Eddie Hung2020-04-141-0/+60
| | | | | | | |
| * | | | | | | Fix 5bba9c3, closes #1876Claire Wolf2020-04-141-7/+13
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* | | | | | | synth_intel_alm: alternative synthesis for Intel FPGAsDan Ravensloft2020-04-1529-1/+1662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By operating at a layer of abstraction over the rather clumsy Intel primitives, we can avoid special hacks like `dffinit -highlow` in favour of simple techmapping. This also makes the primitives much easier to manipulate, and more descriptive (no more cyclonev_lcell_comb to mean anything from a LUT2 to a LUT6).