aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1996 from boqwxp/rtlil_source_locationsEddie Hung2020-05-041-13/+13
|\ | | | | frontend: Include complete source location instead of just `location.first_line` in `frontends/ast/genrtlil.cc`.
| * frontend: Include complete source location instead of just ↵Alberto Gonzalez2020-05-011-13/+13
| | | | | | | | `location.first_line` in `frontends/ast/genrtlil.cc`.
* | Merge pull request #2000 from whitequark/log_error-trapwhitequark2020-05-032-3/+44
|\ \ | | | | | | kernel: Trap in `log_error()` when a debugger is attached
| * | kernel: Trap in `log_error()` when a debugger is attached.whitequark2020-05-032-3/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workflow of debugging fatal pass errors in Yosys is flawed in three ways: 1. Running Yosys under a debugger is sufficient for the debugger to catch some fatal errors (segfaults, aborts, STL exceptions) but not others (`log_error()`, `log_cmd_error()`). This is neither obvious nor easy to remember. 2. To catch Yosys-specific fatal errors, it is necessary to set a breakpoint at `logv_error_with_prefix()`, or at least, `logv_error()`. This is neither obvious nor easy to remember, and GDB's autocomplete takes many seconds to suggest function names due to the large amount of symbols in Yosys. 3. If a breakpoint is not set and Yosys encounters with such a fatal error, the process terminates. When debugging a crash that takes a long time to reproduce (or a nondeterministic crash) this can waste a significant amount of time. To solve this problem, add a macro `YS_DEBUGTRAP` that acts as a hard breakpoint (if available), and a macro `YS_DEBUGTRAP_IF_DEBUGGING` that acts as a hard breakpoint only if debugger is present. Then, use `YS_DEBUGTRAP_IF_DEBUGGING` in `logv_error_with_prefix()` to obviate the need for a breakpoint on nearly every platform. Co-Authored-By: Alberto Gonzalez <boqwxp@airmail.cc>
* | | Merge pull request #2014 from YosysHQ/claire/fixoptaluClaire Wolf2020-05-032-7/+31
|\ \ \ | | | | | | | | Fix the other "opt_expr -fine" bug introduced in 213a89558
| * | | test: add test for #2014Eddie Hung2020-05-021-0/+12
| | | |
| * | | Fix the other "opt_expr -fine" bug introduced in 213a89558Claire Wolf2020-05-021-7/+19
| | | | | | | | | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* | | | Merge pull request #2013 from YosysHQ/eddie/aiger_fixesEddie Hung2020-05-026-42/+101
|\ \ \ \ | |/ / / |/| | | aiger: fixes for ports that have start_offset != 0
| * | | abc9_ops: -reintegrate to be sensitive to start_offset tooEddie Hung2020-05-021-3/+5
| | | |
| * | | tests: aiger test for wire->start_offset != 0Eddie Hung2020-05-022-0/+41
| | | |
| * | | aiger: fixes for ports that have start_offset != 0Eddie Hung2020-05-023-39/+55
|/ / /
* | | Merge pull request #2010 from YosysHQ/claire/fixoptClaire Wolf2020-05-022-7/+29
|\ \ \ | | | | | | | | Fix "opt_expr -fine" bug introduced in 213a89558
| * | | Add testcase for #2010Eddie Hung2020-05-011-0/+10
| | | |
| * | | Fix "opt_expr -fine" bug introduced in 213a89558Claire Wolf2020-05-011-7/+19
| | | | | | | | | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* | | | Merge pull request #2001 from whitequark/wasiwhitequark2020-05-0117-29/+166
|\ \ \ \ | |/ / / |/| | | Add WASI platform support
| * | | Add WASI platform support.whitequark2020-04-3017-30/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes the following significant changes: * Patching ezsat and minisat to disable resource limiting code on WASM/WASI, since the POSIX functions they use are unavailable. * Adding a new definition, YOSYS_DISABLE_SPAWN, present if platform does not support spawning subprocesses (i.e. Emscripten or WASI). This definition hides the definition of `run_command()`. * Adding a new Makefile flag, DISABLE_SPAWN, present in the same condition. This flag disables all passes that require spawning subprocesses for their function.
* | | | Merge pull request #1997 from whitequark/document-ootbClaire Wolf2020-05-014-14/+29
|\ \ \ \ | | | | | | | | | | Explain how to do out-of-tree builds in README
| * | | | README: explain how to do out-of-tree builds.whitequark2020-04-241-1/+8
| | | | |
| * | | | Fix out-of-tree builds configured as `SMALL := 1`.whitequark2020-04-241-11/+11
| | | | |
| * | | | gowin,ecp5: remove generated files in `make clean`.whitequark2020-04-242-2/+10
| | | | |
* | | | | Merge pull request #1981 from YosysHQ/claire/fix1837Claire Wolf2020-05-011-0/+4
|\ \ \ \ \ | |_|/ / / |/| | | | Clear current_scope when done with RTLIL generation
| * | | | Clear current_scope when done with RTLIL generation, fixes #1837Claire Wolf2020-04-221-0/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com>
* | | | | Merge pull request #1999 from YosysHQ/eddie/verific_enum_againEddie Hung2020-04-302-30/+68
|\ \ \ \ \ | | | | | | | | | | | | verific: recover wiretype/enum attr as part of import_attributes()
| * | | | | verific: ignore anonymous enumsEddie Hung2020-04-301-1/+4
| | | | | |
| * | | | | verific: support VHDL enums tooEddie Hung2020-04-271-13/+43
| | | | | |
| * | | | | verific: recover wiretype/enum attr as part of import_attributes()Eddie Hung2020-04-272-6/+35
| | | | | |
| * | | | | Revert "verific: import enum attributes from verific"Eddie Hung2020-04-241-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5028e17f7db11f901ce9e423dfe2c6f7e68259cc.
* | | | | | Merge pull request #2008 from whitequark/editorconfig-abcwhitequark2020-04-301-0/+5
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | Fix .editorconfig to not break abc
| * | | | | Fix .editorconfig to not break abc.whitequark2020-04-301-0/+5
| | |_|/ / | |/| | |
* | | | | Merge pull request #1946 from YosysHQ/eddie/yosyshq_abcEddie Hung2020-04-273-6/+7
|\ \ \ \ \ | | | | | | | | | | | | abc: use YosysHQ/abc instead of upstream berkeley-abc/abc
| * | | | | Update CHANGELOG and manual for departure from upstreamEddie Hung2020-04-272-4/+5
| | | | | |
| * | | | | abc: use YosysHQ/abc instead of upstream berkeley-abc/abcEddie Hung2020-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Enabling modifications
* | | | | | Merge pull request #1992 from YosysHQ/eddie/bugpoint_helpEddie Hung2020-04-272-28/+49
|\ \ \ \ \ \ | |/ / / / / |/| | | | | bugpoint: improve help text
| * | | | | bugpoint: improve messagingEddie Hung2020-04-241-7/+7
| | | | | |
| * | | | | bugpoint: (* keep *) to (* bugpoint_keep *); also apply to modules/cellsEddie Hung2020-04-242-5/+15
| | | | | |
| * | | | | bugpoint: skip ports with (* keep *) on; add headerEddie Hung2020-04-241-9/+18
| | | | | |
| * | | | | bugpoint: improve help textEddie Hung2020-04-231-11/+13
| | | | | |
* | | | | | Merge pull request #2002 from YosysHQ/dave/cxxrtl-widthwhitequark2020-04-251-1/+1
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | cxxrtl: Round up constant width
| * | | | | cxxrtl: Round up constant widthDavid Shah2020-04-251-1/+1
|/ / / / / | | | | | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | | | | Merge pull request #1998 from whitequark/cxxrtl-fixeswhitequark2020-04-241-49/+50
|\ \ \ \ \ | | | | | | | | | | | | cxxrtl: fix attribute syntax, minor fixes
| * | | | | cxxrtl: use `cxxrtl_` prefix rather than `cxxrtl.`whitequark2020-04-241-45/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former prefix does not need to be escaped in Verilog, unlike the latter, and the Yosys convention is to use the former.
| * | | | | cxxrtl: improve printing of narrow memories.whitequark2020-04-241-3/+4
| | | | | |
| * | | | | cxxrtl: fix handling of parametric modules with large parameters.whitequark2020-04-241-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | These have a `$paramod$` prefix, not `$paramod\\`.
* | | | | Merge pull request #1995 from YosysHQ/eddie/fix_verific_wiretypeClaire Wolf2020-04-242-2/+7
|\ \ \ \ \ | | |_|/ / | |/| | | verific: do not assert if wire not found; warn instead
| * | | | verific: do not assert if wire not found; warn insteadEddie Hung2020-04-232-2/+7
| | |/ / | |/| |
* / | | intel_alm: cleanup duplicationDan Ravensloft2020-04-245-113/+64
|/ / /
* | | Merge pull request #1974 from YosysHQ/eddie/abc9_disable_mfsEddie Hung2020-04-231-2/+17
|\ \ \ | | | | | | | | abc9: tolerate &mfs failure by writing output file before calling it (and using that if it fails)
| * | | abc9: tolerate ABC nonzero exit code if output.aig; write before &mfsEddie Hung2020-04-203-6/+13
| | | | | | | | | | | | | | | | | | | | Re-enable mfs for xilinx/ecp5 speculatively -- if it fails, use pre-mfs result
| * | | xilinx/ecp5: disable abc9's "&mfs" optimisationEddie Hung2020-04-203-0/+8
| | | | | | | | | | | | | | | | Can sometimes fire an assertion, e.g. #1962
* | | | Merge pull request #1989 from boqwxp/qbfsat_anyconst_sourcelocsClaire Wolf2020-04-231-5/+2
|\ \ \ \ | | | | | | | | | | qbfsat: Make hole name recovery from source locations more robust.