Claire Wolf [Thu, 2 Apr 2020 13:38:47 +0000 (15:38 +0200)]
Merge pull request #1770 from YosysHQ/claire/btor_symbols
Improve write_btor symbol handling
Claire Wolf [Thu, 2 Apr 2020 13:38:27 +0000 (15:38 +0200)]
Merge pull request #1765 from YosysHQ/claire/btor_info
Add info-file and cover features to write_btor
Claire Wolf [Thu, 2 Apr 2020 12:31:33 +0000 (14:31 +0200)]
Merge pull request #1777 from YosysHQ/claire/manyhot
Using LFSR counter for ezSAT::manyhot()
Claire Wolf [Thu, 2 Apr 2020 10:22:28 +0000 (12:22 +0200)]
Improve ezsat onehot encoding scheme
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
Claire Wolf [Tue, 17 Mar 2020 13:15:08 +0000 (14:15 +0100)]
Using LFSR counter for ezSAT::manyhot()
The only user of this API right now is the puzzle3d benchmark and
it sees a slight reduction in CNF size from this, but the performance
difference is within the noise of measurement on my system.
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
Eddie Hung [Wed, 1 Apr 2020 21:17:45 +0000 (14:17 -0700)]
Merge pull request #1828 from YosysHQ/eddie/celltypes_speedup
kernel: share a single CellTypes within a pass
Eddie Hung [Wed, 1 Apr 2020 21:17:01 +0000 (14:17 -0700)]
Merge pull request #1790 from YosysHQ/eddie/opt_expr_xor
opt_expr: optimise $xor/$xnor/$_XOR_/$_XNOR_ -s with constant inputs
Eddie Hung [Wed, 1 Apr 2020 21:11:09 +0000 (14:11 -0700)]
Merge pull request #1789 from YosysHQ/eddie/opt_expr_alu
opt_expr: improve performance on $alu and $sub
David Shah [Wed, 1 Apr 2020 19:55:24 +0000 (20:55 +0100)]
Merge pull request #1844 from YosysHQ/dave/gen-source-loc
verilog: Add location info for generate constructs
Eddie Hung [Wed, 1 Apr 2020 18:18:38 +0000 (11:18 -0700)]
Merge pull request #1852 from boqwxp/cleanup_synth_ice40
Fix indentation in `techlibs/ice40/synth_ice40.cc`.
David Shah [Mon, 30 Mar 2020 20:14:51 +0000 (21:14 +0100)]
verilog: Add location info for generate constructs
Signed-off-by: David Shah <dave@ds0.me>
Eddie Hung [Wed, 1 Apr 2020 16:35:35 +0000 (09:35 -0700)]
Merge pull request #1849 from boqwxp/cleanup_kernel_yosys
Clean up pseudo-private member usage in `kernel/yosys.cc`.
Eddie Hung [Wed, 1 Apr 2020 16:34:02 +0000 (09:34 -0700)]
Merge pull request #1850 from boqwxp/cleanup_backends
Cleanup pseudo-private member usage and outdated `RTLIL::id2cstr()` in backends
Alberto Gonzalez [Wed, 1 Apr 2020 16:29:56 +0000 (16:29 +0000)]
Fix indentation in `techlibs/ice40/synth_ice40.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 06:53:28 +0000 (06:53 +0000)]
Update `RTLIL::id2cstr()` usage to `log_id`.
Claire Wolf [Wed, 1 Apr 2020 06:38:14 +0000 (08:38 +0200)]
Merge pull request #1848 from YosysHQ/eddie/fix_dynslice
ast: simplify to fully populate dynamic slicing case transformation
Alberto Gonzalez [Wed, 1 Apr 2020 06:32:09 +0000 (06:32 +0000)]
Clean up pseudo-private member usage in `backends/intersynth/intersynth.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 05:50:48 +0000 (05:50 +0000)]
Clean up pseudo-private member usage in `backends/blif/blif.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 05:25:10 +0000 (05:25 +0000)]
Clean up pseudo-private member usage in `backends/verilog/verilog_backend.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 04:56:52 +0000 (04:56 +0000)]
Clean up pseudo-private member usage in `backends/spice/spice.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 04:37:07 +0000 (04:37 +0000)]
Clean up pseudo-private member usage in `backends/edif/edif.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 03:08:39 +0000 (03:08 +0000)]
Clean up pseudo-private member usage in `backends/ilang/ilang_backend.cc`.
Alberto Gonzalez [Wed, 1 Apr 2020 02:53:56 +0000 (02:53 +0000)]
Clean up pseudo-private member usage in `kernel/yosys.cc`.
Eddie Hung [Tue, 31 Mar 2020 21:50:32 +0000 (14:50 -0700)]
Merge pull request #1761 from YosysHQ/eddie/opt_merge_speedup
opt_merge: speedup
Eddie Hung [Tue, 31 Mar 2020 18:52:14 +0000 (11:52 -0700)]
ast: simplify to fully populate dynamic slicing case transformation
Eddie Hung [Tue, 31 Mar 2020 18:51:31 +0000 (11:51 -0700)]
Add dynamic slicing Verilog testcase
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>
Eddie Hung [Mon, 30 Mar 2020 15:35:40 +0000 (08:35 -0700)]
memory_share: fix stray brace
Eddie Hung [Mon, 30 Mar 2020 15:22:12 +0000 (08:22 -0700)]
Code review fixes
Eddie Hung [Mon, 30 Mar 2020 15:19:56 +0000 (08:19 -0700)]
Apply suggestions from code review
Co-Authored-By: Alberto Gonzalez <61295559+boqwxp@users.noreply.github.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.
Eddie Hung [Thu, 26 Mar 2020 22:05:45 +0000 (15:05 -0700)]
kernel: clear some more ShareWorker state
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
Eddie Hung [Fri, 20 Mar 2020 21:39:08 +0000 (14:39 -0700)]
opt_expr: fix failing $xnor test
Eddie Hung [Fri, 20 Mar 2020 21:38:50 +0000 (14:38 -0700)]
opt_expr: add failing $xnor test
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>
Eddie Hung [Fri, 20 Mar 2020 18:25:17 +0000 (11:25 -0700)]
Simplify breaking tests/arch/*/fsm.ys tests
Eddie Hung [Fri, 20 Mar 2020 16:17:53 +0000 (09:17 -0700)]
opt_expr: fix missing brace
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 23:59:11 +0000 (16:59 -0700)]
opt_expr: add $xor/$xnor/$_XOR_/$_XNOR_ tests
Eddie Hung [Thu, 19 Mar 2020 23:56:39 +0000 (16:56 -0700)]
opt_expr: extend to $xnor and $_XNOR_
Eddie Hung [Thu, 19 Mar 2020 23:33:54 +0000 (16:33 -0700)]
opt_expr: optimise 1-bit $xor or $_XOR_ with constant input
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
Eddie Hung [Thu, 19 Mar 2020 21:57:10 +0000 (14:57 -0700)]
opt_expr: add $alu tests
Eddie Hung [Thu, 19 Mar 2020 21:34:27 +0000 (14:34 -0700)]
opt_expr: remove redundant
Eddie Hung [Thu, 19 Mar 2020 21:34:10 +0000 (14:34 -0700)]
opt_expr: optimise $sub when both A[i] and B[i] == 1'b1
Eddie Hung [Thu, 19 Mar 2020 21:24:55 +0000 (14:24 -0700)]
opt_expr: optimise for identity $alu-s just like $add/$sub
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