Alberto Gonzalez [Sat, 4 Apr 2020 21:26:11 +0000 (21:26 +0000)]
Rename `-duplicate` to `-push-copy`.
Co-Authored-By: whitequark <whitequark@whitequark.org>
Alberto Gonzalez [Fri, 27 Mar 2020 22:36:27 +0000 (22:36 +0000)]
Add `-duplicate` option to the `design` command.
Eddie Hung [Mon, 30 Mar 2020 20:06:10 +0000 (13:06 -0700)]
Merge pull request #1783 from boqwxp/astcc_cleanup
Clean up pseudo-private member usage in `frontends/ast/ast.cc`.
Eddie Hung [Mon, 30 Mar 2020 20:05:12 +0000 (13:05 -0700)]
Merge pull request #1835 from boqwxp/cleanup_sat_expose
Clean up pseudo-private member usage in `passes/sat/expose.cc`.
Eddie Hung [Mon, 30 Mar 2020 18:56:17 +0000 (11:56 -0700)]
Merge pull request #1832 from boqwxp/cleanup_passes_cmds_design
Clean up pseudo-private member usage in `passes/cmds/design.cc`.
Eddie Hung [Mon, 30 Mar 2020 18:37:51 +0000 (11:37 -0700)]
Merge pull request #1786 from boqwxp/hierarchycc_cleanup
Clean up pseudo-private member usage in `passes/hierarchy/hierarchy.cc`.
Alberto Gonzalez [Mon, 30 Mar 2020 18:08:25 +0000 (18:08 +0000)]
Add explanatory comment about inefficient wire removal and remove superfluous call to `fixup_ports()`.
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
Eddie Hung [Mon, 30 Mar 2020 18:13:53 +0000 (11:13 -0700)]
Merge pull request #1831 from boqwxp/cleanup_sat_eval
Clean up pseudo-private member usage in `passes/sat/eval.cc`.
Eddie Hung [Mon, 30 Mar 2020 18:13:06 +0000 (11:13 -0700)]
Merge pull request #1833 from boqwxp/cleanup_sat_freduce
Clean up pseudo-private member usage in `passes/sat/freduce.cc`.
Alberto Gonzalez [Mon, 30 Mar 2020 18:00:19 +0000 (18:00 +0000)]
Remove unused function parameter.
Alberto Gonzalez [Mon, 30 Mar 2020 17:56:07 +0000 (17:56 +0000)]
Simplify iterating over selected modules or cells.
Co-Authored-By: N. Engelhardt <nak@symbioticeda.com>
Alberto Gonzalez [Mon, 30 Mar 2020 16:50:36 +0000 (16:50 +0000)]
Replace `RTLIL::id2cstr()` with `log_id()`.
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
Alberto Gonzalez [Mon, 30 Mar 2020 16:43:54 +0000 (16:43 +0000)]
Fix double deletion in `passes/hierarchy/hierarchy.cc`.
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
Alberto Gonzalez [Mon, 30 Mar 2020 16:38:35 +0000 (16:38 +0000)]
Further clean up `passes/sat/eval.cc`.
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
Alberto Gonzalez [Mon, 30 Mar 2020 16:25:30 +0000 (16:25 +0000)]
Further clean up `passes/sat/freduce.cc`.
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
Alberto Gonzalez [Mon, 30 Mar 2020 16:16:16 +0000 (16:16 +0000)]
Clean up more in `passes/sat/expose.cc`.
Co-Authored-By: N. Engelhardt <nak@symbioticeda.com>
N. Engelhardt [Mon, 30 Mar 2020 11:55:39 +0000 (13:55 +0200)]
Merge pull request #1811 from PeterCrozier/typedef_scope
Support module/package/interface/block scope for typedef names.
N. Engelhardt [Mon, 30 Mar 2020 11:51:12 +0000 (13:51 +0200)]
Merge pull request #1778 from rswarbrick/sv-defines
Add support for SystemVerilog-style `define to Verilog frontend
Miodrag Milanovic [Sat, 28 Mar 2020 08:49:08 +0000 (09:49 +0100)]
Explicit include of csignal
Miodrag Milanovic [Sat, 28 Mar 2020 08:09:11 +0000 (09:09 +0100)]
windows - there are no stopping signals
Alberto Gonzalez [Sat, 28 Mar 2020 06:18:09 +0000 (06:18 +0000)]
Clean up pseudo-private member usage in `passes/sat/expose.cc`.
Alberto Gonzalez [Sat, 28 Mar 2020 06:08:23 +0000 (06:08 +0000)]
Clean up pseudo-private member usage in `passes/sat/freduce.cc`.
Alberto Gonzalez [Sat, 28 Mar 2020 04:45:50 +0000 (04:45 +0000)]
Clean up pseudo-private member usage in `passes/cmds/design.cc`.
Alberto Gonzalez [Sat, 28 Mar 2020 03:11:23 +0000 (03:11 +0000)]
Clean up pseudo-private member usage in `passes/sat/eval.cc`.
Claire Wolf [Fri, 27 Mar 2020 16:28:26 +0000 (17:28 +0100)]
Merge pull request #1607 from whitequark/simplify-simplify-meminit
ast: avoid intermediate wires/assigns when lowering to AST_MEMINIT
Peter Crozier [Fri, 27 Mar 2020 16:21:45 +0000 (16:21 +0000)]
Inline productions to follow house style.
Rupert Swarbrick [Tue, 17 Mar 2020 09:34:31 +0000 (09:34 +0000)]
Add support for SystemVerilog-style `define to Verilog frontend
This patch should support things like
`define foo(a, b = 3, c) a+b+c
`foo(1, ,2)
which will evaluate to 1+3+2. It also spots mistakes like
`foo(1)
(the 3rd argument doesn't have a default value, so a call site is
required to set it).
Most of the patch is a simple parser for the format in preproc.cc, but
I've also taken the opportunity to wrap up the "name -> definition"
map in a type, rather than use multiple std::map's.
Since this type needs to be visible to code that touches defines, I've
pulled it (and the frontend_verilog_preproc declaration) out into a
new file at frontends/verilog/preproc.h and included that where
necessary.
Finally, the patch adds a few tests in tests/various to check that we
are parsing everything correctly.
Claire Wolf [Fri, 27 Mar 2020 15:48:38 +0000 (16:48 +0100)]
Merge pull request #1815 from boqwxp/fix-ef-optimize
Fix solver output parsing for exists-forall optimization
Alberto Gonzalez [Fri, 27 Mar 2020 09:46:40 +0000 (09:46 +0000)]
Revert over-aggressive change to a more modest cleanup.
Alberto Gonzalez [Thu, 26 Mar 2020 21:23:07 +0000 (21:23 +0000)]
Do not change solver output parsing for non-exists-forall problems.
Claire Wolf [Thu, 26 Mar 2020 18:03:37 +0000 (19:03 +0100)]
Merge pull request #1806 from YosysHQ/mwk/techmap-replace-fix
techmap: Fix cell names with _TECHMAP_REPLACE_.*
Alberto Gonzalez [Thu, 26 Mar 2020 01:19:47 +0000 (01:19 +0000)]
Skip reading stdout from the solver that if it isn't a line reading only "sat", "unsat", or "unknown".
Claire Wolf [Tue, 24 Mar 2020 16:30:31 +0000 (17:30 +0100)]
Revert part of
0fda8308 from #1746 that broke other smtbmc flows
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
Peter Crozier [Tue, 24 Mar 2020 14:35:21 +0000 (14:35 +0000)]
Error duplicate declarations of a typedef name in the same scope.
Peter Crozier [Mon, 23 Mar 2020 20:07:22 +0000 (20:07 +0000)]
Support module/package/interface/block scope for typedef names.
N. Engelhardt [Mon, 23 Mar 2020 19:14:13 +0000 (20:14 +0100)]
Merge pull request #1763 from boqwxp/issue1762
Closes #1762. Adds warnings for `select` arguments not matching any object and for `add` command when no modules selected
Alberto Gonzalez [Mon, 23 Mar 2020 17:50:11 +0000 (17:50 +0000)]
Do not warn on empty selection with prefixed `arg_memb`.
Co-Authored-By: N. Engelhardt <nak@symbioticeda.com>
Alberto Gonzalez [Mon, 23 Mar 2020 06:31:41 +0000 (06:31 +0000)]
Suppress warnings for empty `select` arguments when `-count` or `-assert-*` options are set.
Alberto Gonzalez [Mon, 23 Mar 2020 06:13:48 +0000 (06:13 +0000)]
Add tests for `select` command warnings.
N. Engelhardt [Mon, 23 Mar 2020 12:43:35 +0000 (13:43 +0100)]
Merge pull request #1803 from Grazfather/typedef
Support standard typedef grammar (Fixed)
N. Engelhardt [Mon, 23 Mar 2020 11:33:05 +0000 (12:33 +0100)]
Merge pull request #1805 from hofstee/master
fix typo in `write_smt2` help
Marcin Kościelnicki [Mon, 23 Mar 2020 10:07:03 +0000 (11:07 +0100)]
techmap: Fix cell names with _TECHMAP_REPLACE_.*
Fixes #1804.
N. Engelhardt [Mon, 23 Mar 2020 10:10:39 +0000 (11:10 +0100)]
Merge pull request #1785 from boqwxp/mitercc_cleanup
Clean up pseudo-private member usage in `passes/sat/miter.cc`.
Teguh Hofstee [Mon, 23 Mar 2020 09:14:26 +0000 (02:14 -0700)]
fix typo in `write_smt2` help
Alberto Gonzalez [Thu, 12 Mar 2020 17:00:21 +0000 (17:00 +0000)]
Warn on empty selection for `add` command.
Peter Crozier [Sun, 15 Mar 2020 19:02:47 +0000 (19:02 +0000)]
Simplify was not being called for packages. Broke typedef enums.
Peter Crozier [Sun, 15 Mar 2020 19:01:46 +0000 (19:01 +0000)]
Build pkg_user_types before parsing in case of changes in the design.
Peter [Tue, 3 Mar 2020 19:30:54 +0000 (19:30 +0000)]
Clear pkg_user_types if no packages following a 'design -reset-vlog'.
Peter [Thu, 27 Feb 2020 16:59:19 +0000 (16:59 +0000)]
Revert typedef tests to standard grammar.
Peter [Thu, 27 Feb 2020 16:57:35 +0000 (16:57 +0000)]
Parser changes to support typedef.
R. Ou [Mon, 2 Mar 2020 09:54:37 +0000 (01:54 -0800)]
iopadmap: Attempt to give new wires/cells meaningful names
David Shah [Sat, 21 Mar 2020 17:35:27 +0000 (17:35 +0000)]
Merge pull request #1794 from YosysHQ/dave/mince-abc9-fix
ice40: Map unmapped 'mince' DFFs to gate level
Eddie Hung [Fri, 20 Mar 2020 23:13:46 +0000 (16:13 -0700)]
Merge pull request #1795 from smunaut/fix_abc9_spram
ice40: Fix typos in SPRAM ABC9 timing specs
Sylvain Munaut [Fri, 20 Mar 2020 21:19:55 +0000 (22:19 +0100)]
ice40: Fix typos in SPRAM ABC9 timing specs
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
David Shah [Fri, 20 Mar 2020 20:35:28 +0000 (20:35 +0000)]
Add test for abc9+mince issue
Signed-off-by: David Shah <dave@ds0.me>
David Shah [Fri, 20 Mar 2020 20:29:16 +0000 (20:29 +0000)]
ice40: Map unmapped 'mince' DFFs to gate level
Signed-off-by: David Shah <dave@ds0.me>
Marcin Kościelnicki [Fri, 20 Mar 2020 13:36:00 +0000 (14:36 +0100)]
xilinx: Mark IOBUFDS.IOB as external pad
Eddie Hung [Thu, 19 Mar 2020 21:58:06 +0000 (14:58 -0700)]
Merge pull request #1788 from YosysHQ/eddie/fix_ndebug
Fix NDEBUG warnings
Marcin Kościelnicki [Wed, 18 Mar 2020 19:58:36 +0000 (20:58 +0100)]
fsm_extract: Initialize celltypes with full design.
Fixes #1781.
Miodrag Milanović [Thu, 19 Mar 2020 17:24:40 +0000 (18:24 +0100)]
Merge pull request #1787 from YosysHQ/mmicko/lexer_deps
Add dependency to verilog_lexer.cc
Miodrag Milanovic [Thu, 19 Mar 2020 15:53:40 +0000 (16:53 +0100)]
Add one mode dependency
Eddie Hung [Thu, 19 Mar 2020 15:48:39 +0000 (08:48 -0700)]
Fix NDEBUG warnings
N. Engelhardt [Thu, 19 Mar 2020 12:14:43 +0000 (13:14 +0100)]
Merge pull request #1774 from boqwxp/exec
Add `exec` command to allow running shell commands from inside Yosys scripts
N. Engelhardt [Thu, 19 Mar 2020 12:12:18 +0000 (13:12 +0100)]
Merge pull request #1775 from huaixv/asserts_locations
Add precise locations for asserts
Alberto Gonzalez [Thu, 19 Mar 2020 06:15:53 +0000 (06:15 +0000)]
Clean up pseudo-private member usage in `frontends/ast/ast.cc`.
Alberto Gonzalez [Thu, 19 Mar 2020 06:22:42 +0000 (06:22 +0000)]
Clean up pseudo-private member usage in `passes/sat/miter.cc`.
Alberto Gonzalez [Thu, 19 Mar 2020 06:49:52 +0000 (06:49 +0000)]
Clean up pseudo-private member usage in `passes/hierarchy/hierarchy.cc`.
huaixv [Tue, 17 Mar 2020 05:00:12 +0000 (13:00 +0800)]
Add precise locations for asserts
Miodrag Milanović [Wed, 18 Mar 2020 16:39:28 +0000 (17:39 +0100)]
Merge pull request #1780 from YosysHQ/fix-test-bash
Fix make test on macOS: add bash to brewfile & fix argument order
N. Engelhardt [Wed, 18 Mar 2020 14:11:49 +0000 (15:11 +0100)]
fix argument order for macOS compatibility
N. Engelhardt [Wed, 18 Mar 2020 13:36:15 +0000 (14:36 +0100)]
add bash to brewfile
Default bash on macOS is version 3, which does not support `define -A`, now used in `tests/arch/run-test.sh`. Use brew to install newer bash.
Alberto Gonzalez [Wed, 18 Mar 2020 09:14:22 +0000 (09:14 +0000)]
Update copyright and license header.
I hereby assign to Claire Wolf the copyright for all work I did on `passes/cmds/exec.cc`.
In the event that this copyright assignment is not legally valid, I offer this work under the ISC license.
Alberto Gonzalez [Mon, 16 Mar 2020 16:42:04 +0000 (16:42 +0000)]
Clean up `exec` code according to review.
Co-Authored-By: Miodrag Milanović <mmicko@gmail.com>
Claire Wolf [Tue, 17 Mar 2020 17:44:06 +0000 (18:44 +0100)]
Add N:* to select language, fix some old code
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
Eddie Hung [Tue, 17 Mar 2020 17:43:45 +0000 (10:43 -0700)]
Merge pull request #1769 from boqwxp/select_cleanup
Clean up code style and pseudo-private member usage in `passes/cmds/select.cc`
N. Engelhardt [Tue, 17 Mar 2020 15:55:38 +0000 (16:55 +0100)]
Merge pull request #1776 from boqwxp/precise_locations
Add AST node source location information in a couple more parser rules.
Alberto Gonzalez [Tue, 17 Mar 2020 06:21:10 +0000 (06:21 +0000)]
Add AST node source location information in a couple more parser rules.
Alberto Gonzalez [Mon, 16 Mar 2020 20:32:46 +0000 (20:32 +0000)]
Further clean up `passes/cmds/select.cc`.
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
Alberto Gonzalez [Sat, 14 Mar 2020 04:40:14 +0000 (04:40 +0000)]
Cleanup code style and pseudo-private member usage in `passes/cmds/select.cc`.
Claire Wolf [Mon, 16 Mar 2020 15:28:25 +0000 (16:28 +0100)]
Update Copyright
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
Claire Wolf [Mon, 16 Mar 2020 15:25:58 +0000 (16:25 +0100)]
Merge pull request #1771 from waldyrious/license-update
License: bump year and add title
N. Engelhardt [Mon, 16 Mar 2020 12:49:10 +0000 (13:49 +0100)]
Merge pull request #1768 from boqwxp/smt2_cleanup
Clean up pseudo-private member usage in `backends/smt2/smt2.cc`.
N. Engelhardt [Mon, 16 Mar 2020 11:23:14 +0000 (12:23 +0100)]
Merge pull request #1746 from boqwxp/optimization
Add support for optimizing exists-forall problems.
Alberto Gonzalez [Mon, 16 Mar 2020 06:44:21 +0000 (06:44 +0000)]
Add test for `exec` command.
Alberto Gonzalez [Mon, 16 Mar 2020 06:02:14 +0000 (06:02 +0000)]
Allow specifying multiple regexes to match in `exec` command output, and also to specify regexes that must _not_ match.
Alberto Gonzalez [Sun, 15 Mar 2020 09:16:04 +0000 (09:16 +0000)]
Add `exec` command to run shell commands.
David Shah [Sun, 15 Mar 2020 17:16:57 +0000 (17:16 +0000)]
Merge pull request #1773 from smunaut/fix_spram_model
ice40: Fix SPRAM model to keep data stable if chipselect is low
Sylvain Munaut [Sat, 14 Mar 2020 20:01:42 +0000 (21:01 +0100)]
ice40: Fix SPRAM model to keep data stable if chipselect is low
According to the official simulation model, and also cross-checked
on real hardware, the data output of the SPRAM when chipselect is
low is kept stable. It doesn't go undefined.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Waldir Pimenta [Sat, 14 Mar 2020 16:46:07 +0000 (16:46 +0000)]
License: bump year and add title
Miodrag Milanovic [Sat, 14 Mar 2020 13:33:44 +0000 (14:33 +0100)]
Fix invalid verilog syntax
Miodrag Milanović [Sat, 14 Mar 2020 11:34:59 +0000 (13:34 +0200)]
Merge pull request #1759 from zeldin/constant_with_comment_redux
refixed parsing of constant with comment between size and value
Marcus Comstedt [Sat, 14 Mar 2020 10:41:09 +0000 (11:41 +0100)]
Add regression tests for new handling of comments in constants
Miodrag Milanović [Sat, 14 Mar 2020 09:18:39 +0000 (11:18 +0200)]
Merge pull request #1754 from boqwxp/precise_locations
Set AST node source location in more parser rules.
Miodrag Milanović [Sat, 14 Mar 2020 09:18:27 +0000 (11:18 +0200)]
Merge pull request #1766 from YosysHQ/mmicko/regex_gcc48
Regex support for GCC 4.8
Alberto Gonzalez [Fri, 13 Mar 2020 21:49:12 +0000 (21:49 +0000)]
Clean up pseudo-private member usage in `backends/smt2/smt2.cc`.
Alberto Gonzalez [Sun, 8 Mar 2020 06:34:47 +0000 (06:34 +0000)]
Add support for optimizing exists-forall problems.
Modifies smt2 backend to recognize `$anyconst` etc. assigned to a wire with the `maximize` or `minimize` attribute and emit `; yosys-smt2-maximize` or `; yosys-smt2-minimize` directives as appropriate.
Modifies `backends/smt2/smtbmc.py` and `smtio.py` to recognize those directives and emit a `(maximize ...)` or `(minimize ...)` command at the end of `smt_forall_assert()`, as described in the paper "νZ - An Optimizing SMT Solver" by Nikolaj Bjørner et al.
Adds an example `examples/smtbmc/demo9.v` to show how it can be used.
Miodrag Milanovic [Fri, 13 Mar 2020 16:23:27 +0000 (17:23 +0100)]
exclude clang from checking
Miodrag Milanovic [Fri, 13 Mar 2020 16:19:54 +0000 (17:19 +0100)]
Add YS_ prefix to macros, add explanation and apply to older version as well
Claire Wolf [Fri, 13 Mar 2020 15:54:19 +0000 (16:54 +0100)]
Merge pull request #1764 from Xiretza/fix-abcrev-check
Improve ABC repository management in Makefile
Miodrag Milanovic [Fri, 13 Mar 2020 14:00:18 +0000 (15:00 +0100)]
Added back tests for logger