aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add extmodule support to firrtl backendSahand Kashani2020-05-061-1/+47
| | | | | | | | | The current firrtl backend emits blackboxes as standard modules with an empty body, but this causes the firrtl compiler to optimize out entire circuits due to the absence of any drivers. Yosys already tags blackboxes with a (*blackbox*) attribute, so this commit just propagates this change to firrtl's syntax for blackboxes.
* Merge pull request #2025 from YosysHQ/eddie/frontend_cleanupEddie Hung2020-05-057-31/+34
|\ | | | | frontend: cleanup to use more ID::*, more dict<> instead of map<>
| * frontend: cleanup to use more ID::*, more dict<> instead of map<>Eddie Hung2020-05-047-31/+34
| |
* | Merge pull request #2012 from whitequark/fix-wasi-abc-buildwhitequark2020-05-051-3/+3
|\ \ | | | | | | Fix WASI builds with abc enabled
| * | Update ABC to include WASI support fixes.whitequark2020-05-021-1/+1
| | |
| * | Fix WASI builds with abc enabled.whitequark2020-05-011-2/+2
| | | | | | | | | | | | This PR works around #2011.
* | | Merge pull request #2026 from YosysHQ/eddie/scratchpad_abc9_WEddie Hung2020-05-053-11/+34
|\ \ \ | | | | | | | | synth_ice40/ecp5/xilinx: allow abc9.W to be overridden via scratchpad
| * | | synth_ice40/ecp5/xilinx: allow abc9.W to be overridden via scratchpadEddie Hung2020-05-043-11/+34
| | |/ | |/|
* | | Merge pull request #2024 from YosysHQ/eddie/primitive_srcEddie Hung2020-05-053-2/+22
|\ \ \ | | | | | | | | verilog: set src attribute for primitives
| * | | verilog: set src attribute for primitivesEddie Hung2020-05-042-2/+6
| | | |
| * | | tests: add tests for primitives' srcEddie Hung2020-05-041-0/+16
| |/ /
* | | Merge pull request #2023 from YosysHQ/eddie/specify_srcEddie Hung2020-05-052-18/+26
|\ \ \ | |/ / |/| | verilog: fix specify src attribute
| * | verilog: fix specify src attributeEddie Hung2020-05-042-18/+26
|/ /
* | 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
| | | | | |