Graham Edgecombe [Sat, 8 Dec 2018 09:59:56 +0000 (09:59 +0000)]
memory_bram: Fix initdata bit order after shuffling
In some cases the memory_bram pass shuffles the order of the bits in a
memory's RD_DATA port. Although the order of the bits in the WR_DATA and
WR_EN ports is changed to match the RD_DATA port, the order of the bits
in the initialization data is not.
This causes reads of initialized memories to return invalid data (until
the initialization data is overwritten).
This commit fixes the bug by shuffling the initdata bits in exactly the
same order as the RD_DATA/WR_DATA/WR_EN bits.
Clifford Wolf [Sat, 8 Dec 2018 05:59:27 +0000 (06:59 +0100)]
Add "yosys-smtbmc --btorwit" skeleton
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Sat, 8 Dec 2018 05:21:31 +0000 (06:21 +0100)]
Fix btor init value handling
Signed-off-by: Clifford Wolf <clifford@clifford.at>
David Shah [Fri, 7 Dec 2018 17:17:26 +0000 (17:17 +0000)]
Merge pull request #727 from whitequark/opt_lut
opt_lut: leave intact LUTs with cascade feeding module outputs
whitequark [Fri, 7 Dec 2018 17:13:52 +0000 (17:13 +0000)]
opt_lut: leave intact LUTs with cascade feeding module outputs.
whitequark [Fri, 7 Dec 2018 17:04:41 +0000 (17:04 +0000)]
opt_lut: show original truth table for both cells.
whitequark [Fri, 7 Dec 2018 16:31:15 +0000 (16:31 +0000)]
opt_lut: add -limit option, for debugging misoptimizations.
Clifford Wolf [Thu, 6 Dec 2018 06:29:37 +0000 (07:29 +0100)]
Add missing .gitignore
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Thu, 6 Dec 2018 06:29:21 +0000 (07:29 +0100)]
Bugfix in opt_expr handling of a<0 and a>=0
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Thu, 6 Dec 2018 06:21:50 +0000 (07:21 +0100)]
Verific updates
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Wed, 5 Dec 2018 17:19:44 +0000 (09:19 -0800)]
Merge pull request #709 from smunaut/issue_708
Make return value of $clog2 signed
Clifford Wolf [Wed, 5 Dec 2018 17:16:35 +0000 (09:16 -0800)]
Merge pull request #718 from whitequark/gate2lut
gate2lut: new techlib, for converting Yosys gates to FPGA LUTs
whitequark [Wed, 5 Dec 2018 05:24:15 +0000 (05:24 +0000)]
synth_ice40: add -noabc option, to use built-in LUT techmapping.
This should be combined with -relut to get sensible results.
whitequark [Wed, 5 Dec 2018 04:50:38 +0000 (04:50 +0000)]
gate2lut: new techlib, for converting Yosys gates to FPGA LUTs.
whitequark [Wed, 5 Dec 2018 04:32:01 +0000 (04:32 +0000)]
Fix typo.
Clifford Wolf [Wed, 5 Dec 2018 17:08:30 +0000 (09:08 -0800)]
Merge pull request #713 from Diego-HR/master
Changes in GoWin synth commands and ALU primitive support
Clifford Wolf [Wed, 5 Dec 2018 17:08:04 +0000 (09:08 -0800)]
Merge pull request #712 from mmicko/anlogic-support
Initial support for Anlogic FPGA
Clifford Wolf [Wed, 5 Dec 2018 17:03:58 +0000 (18:03 +0100)]
Rename opt_lut.cpp to opt_lut.cc
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Wed, 5 Dec 2018 17:02:13 +0000 (09:02 -0800)]
Merge pull request #717 from whitequark/opt_lut
Add a new opt_lut pass, which combines inefficiently packed LUTs
Clifford Wolf [Wed, 5 Dec 2018 16:59:21 +0000 (08:59 -0800)]
Merge pull request #716 from whitequark/ice40_unlut
Extract ice40_unlut pass from ice40_opt
whitequark [Wed, 5 Dec 2018 15:26:40 +0000 (15:26 +0000)]
opt_lut: add -dlogic, to avoid disturbing logic such as carry chains.
whitequark [Wed, 5 Dec 2018 13:14:44 +0000 (13:14 +0000)]
opt_lut: always prefer to eliminate 1-LUTs.
These are always either buffers or inverters, and keeping the larger
LUT preserves more source-level information about the design.
whitequark [Wed, 5 Dec 2018 12:35:27 +0000 (12:35 +0000)]
opt_lut: collect and display statistics.
whitequark [Wed, 5 Dec 2018 12:26:41 +0000 (12:26 +0000)]
opt_lut: refactor to use a worker. NFC.
whitequark [Wed, 5 Dec 2018 00:28:03 +0000 (00:28 +0000)]
synth_ice40: add -relut option, to run ice40_unlut and opt_lut.
whitequark [Wed, 5 Dec 2018 00:23:22 +0000 (00:23 +0000)]
opt_lut: new pass, to combine LUTs for tighter packing.
whitequark [Tue, 4 Dec 2018 19:43:33 +0000 (19:43 +0000)]
Extract ice40_unlut pass from ice40_opt.
Currently, `ice40_opt -unlut` would map SB_LUT4 to $lut and convert
them back to logic immediately. This is not desirable if the goal
is to operate on $lut cells. If this is desirable, the same result
as `ice40_opt -unlut` can be achieved by running simplemap and opt
after ice40_unlut.
Serge Bazanski [Wed, 5 Dec 2018 16:22:14 +0000 (17:22 +0100)]
Merge pull request #719 from YosysHQ/q3k/flailing-around-trying-to-fix-osx
Fix Travis on OSX
Sergiusz Bazanski [Wed, 5 Dec 2018 10:50:58 +0000 (11:50 +0100)]
travis/osx: fix, use clang instead of gcc
Clifford Wolf [Tue, 4 Dec 2018 22:30:23 +0000 (23:30 +0100)]
Fix typo
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 4 Dec 2018 22:29:21 +0000 (14:29 -0800)]
Merge pull request #702 from smunaut/min_ce_use
Add option to only use DFFE is the resulting E signal would be use > N times
Diego H [Tue, 4 Dec 2018 02:08:35 +0000 (20:08 -0600)]
Changes in GoWin synth commands and ALU primitive support
Miodrag Milanovic [Sun, 2 Dec 2018 10:57:50 +0000 (11:57 +0100)]
Leave only real black box cells
Miodrag Milanovic [Sat, 1 Dec 2018 17:28:54 +0000 (18:28 +0100)]
Initial support for Anlogic FPGA
Clifford Wolf [Sat, 1 Dec 2018 03:11:19 +0000 (04:11 +0100)]
Merge pull request #676 from rafaeltp/master
Splits SigSpec into bits before calling check_signal_in_fanout (solves #675)
Clifford Wolf [Thu, 29 Nov 2018 04:07:40 +0000 (05:07 +0100)]
Improve ConstEval error handling for non-eval cell types
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Sylvain Munaut [Thu, 15 Nov 2018 01:49:35 +0000 (02:49 +0100)]
ice40: Add option to only use CE if it'd be use by more than X FFs
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Thu, 15 Nov 2018 01:48:44 +0000 (02:48 +0100)]
dff2dffe: Add option for unmap to only remove DFFE with low CE signal use
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Nov 2018 17:49:23 +0000 (18:49 +0100)]
Make return value of $clog2 signed
As per Verilog 2005 - 17.11.1.
Fixes #708
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Clifford Wolf [Tue, 20 Nov 2018 16:56:47 +0000 (17:56 +0100)]
Add iteration limit to "opt_muxtree"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 13 Nov 2018 16:22:28 +0000 (17:22 +0100)]
Update ABC to git rev
2ddc57d
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Mon, 12 Nov 2018 08:27:33 +0000 (09:27 +0100)]
Add "write_aiger -I -O -B"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Mon, 12 Nov 2018 08:10:25 +0000 (09:10 +0100)]
Merge branch 'master' of github.com:YosysHQ/yosys
Clifford Wolf [Mon, 12 Nov 2018 08:09:22 +0000 (09:09 +0100)]
Merge pull request #697 from eddiehung/xilinx_ps7
Add support for PS7 block for Xilinx
Clifford Wolf [Mon, 12 Nov 2018 08:08:49 +0000 (09:08 +0100)]
Merge pull request #695 from daveshah1/ecp5_bb
ecp5: Adding some blackbox cells
Clifford Wolf [Sun, 11 Nov 2018 18:37:31 +0000 (19:37 +0100)]
Update ABC to git rev
68da3cf
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Eddie Hung [Sat, 10 Nov 2018 20:37:45 +0000 (12:37 -0800)]
Add support for Xilinx PS7 block
Clifford Wolf [Fri, 9 Nov 2018 20:03:13 +0000 (21:03 +0100)]
Set Verific flag vhdl_support_variable_slice=1
Signed-off-by: Clifford Wolf <clifford@clifford.at>
David Shah [Fri, 9 Nov 2018 18:25:42 +0000 (18:25 +0000)]
ecp5: Add 'fake' DCU parameters
Signed-off-by: David Shah <dave@ds0.me>
David Shah [Fri, 9 Nov 2018 15:18:30 +0000 (15:18 +0000)]
ecp5: Add blackboxes for ancillary DCU cells
Signed-off-by: David Shah <dave@ds0.me>
Clifford Wolf [Fri, 9 Nov 2018 12:02:49 +0000 (13:02 +0100)]
Merge pull request #696 from arjenroodselaar/verific_darwin
Use appropriate static libraries when building with Verific on MacOS
Clifford Wolf [Thu, 8 Nov 2018 08:58:47 +0000 (09:58 +0100)]
Fix "make ystests" to use correct Yosys binary
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Arjen Roodselaar [Thu, 8 Nov 2018 07:18:47 +0000 (23:18 -0800)]
Use appropriate static libraries when building with Verific on MacOS
Clifford Wolf [Wed, 7 Nov 2018 19:16:40 +0000 (20:16 +0100)]
Merge pull request #693 from YosysHQ/rlimit
improve rlimit handling in smtio.py
David Shah [Wed, 7 Nov 2018 14:56:38 +0000 (14:56 +0000)]
ecp5: Adding some blackbox cells
Signed-off-by: David Shah <dave@ds0.me>
Clifford Wolf [Wed, 7 Nov 2018 14:32:34 +0000 (15:32 +0100)]
Limit stack size to 16 MB on Darwin
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 6 Nov 2018 11:21:05 +0000 (12:21 +0100)]
Merge pull request #694 from trcwm/dffmap_expr_fix
DFFLIBMAP: changed 'missing pin' error into a warning.
Niels Moseley [Tue, 6 Nov 2018 11:11:52 +0000 (12:11 +0100)]
DFFLIBMAP: changed 'missing pin' error into a warning with additional reason/info.
Clifford Wolf [Tue, 6 Nov 2018 10:11:05 +0000 (11:11 +0100)]
Run solver in non-incremental mode whem smtio.py is configured for non-incremental solving
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 6 Nov 2018 10:10:27 +0000 (11:10 +0100)]
Update ABC rev to
4d56acf
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 6 Nov 2018 09:09:03 +0000 (10:09 +0100)]
Fix for improved smtio.py rlimit code
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 6 Nov 2018 09:05:23 +0000 (10:05 +0100)]
Improve stack rlimit code in smtio.py
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Mon, 5 Nov 2018 11:33:21 +0000 (12:33 +0100)]
Allow square brackets in liberty identifiers
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Mon, 5 Nov 2018 08:19:56 +0000 (09:19 +0100)]
Merge pull request #691 from arjenroodselaar/stacksize
Use conservative stack size for SMT2 on MacOS
Arjen Roodselaar [Mon, 5 Nov 2018 05:58:09 +0000 (21:58 -0800)]
Use conservative stack size for SMT2 on MacOS
Clifford Wolf [Sun, 4 Nov 2018 14:57:17 +0000 (15:57 +0100)]
Add warning for SV "restrict" without "property"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Sun, 4 Nov 2018 13:41:28 +0000 (14:41 +0100)]
Add proper error message for when smtbmc "append" fails
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Sun, 4 Nov 2018 09:19:32 +0000 (10:19 +0100)]
Various indenting fixes in AST front-end (mostly space vs tab issues)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Sun, 4 Nov 2018 09:08:33 +0000 (10:08 +0100)]
Merge pull request #687 from trcwm/master
Liberty file: error when it contains pin references to non-existing pins
Clifford Wolf [Sun, 4 Nov 2018 09:04:48 +0000 (10:04 +0100)]
Merge pull request #688 from ZipCPU/rosenfell
Make rose and fell dependent upon LSB only
ZipCPU [Sat, 3 Nov 2018 17:39:32 +0000 (13:39 -0400)]
Make and dependent upon LSB only
Niels Moseley [Sat, 3 Nov 2018 17:38:49 +0000 (18:38 +0100)]
Liberty file newline handling is more relaxed. More descriptive error message
Niels Moseley [Sat, 3 Nov 2018 17:07:51 +0000 (18:07 +0100)]
Report an error when a liberty file contains pin references that reference non-existing pins
Clifford Wolf [Thu, 1 Nov 2018 14:25:24 +0000 (15:25 +0100)]
Do not generate "reg assigned in a continuous assignment" warnings for "rand reg"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Thu, 1 Nov 2018 10:40:58 +0000 (11:40 +0100)]
Add support for signed $shift/$shiftx in smt2 back-end
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Wed, 31 Oct 2018 14:37:39 +0000 (15:37 +0100)]
Merge branch 'igloo2'
Clifford Wolf [Wed, 31 Oct 2018 14:36:53 +0000 (15:36 +0100)]
Fix sf2 LUT interface
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Wed, 31 Oct 2018 14:28:57 +0000 (15:28 +0100)]
Basic SmartFusion2 and IGLOO2 synthesis support
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 30 Oct 2018 10:25:07 +0000 (11:25 +0100)]
Merge pull request #680 from jburgess777/fix-empty-string-back-assert
Avoid assert when label is an empty string
Jon Burgess [Sun, 28 Oct 2018 14:49:09 +0000 (14:49 +0000)]
Avoid assert when label is an empty string
Calling back() on an empty string is not allowed and triggers
an assert with recent gcc:
$ cd manual/PRESENTATION_Intro
$ ../../yosys counter.ys
...
/usr/include/c++/8/bits/basic_string.h:1136: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::back() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference = char&]: Assertion '!empty()' failed.
802 if (label.back() == ':' && GetSize(label) > 1)
(gdb) p label
$1 = ""
Clifford Wolf [Thu, 25 Oct 2018 11:23:26 +0000 (13:23 +0200)]
Merge pull request #678 from whentze/master
Fix unhandled std::out_of_range in run_frontend() due to integer underflow
Clifford Wolf [Thu, 25 Oct 2018 11:20:00 +0000 (13:20 +0200)]
Fix minor typo in error message
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Thu, 25 Oct 2018 11:18:59 +0000 (13:18 +0200)]
Merge pull request #679 from udif/pr_syntax_error
More meaningful SystemVerilog/Verilog parser error messages
Udi Finkelstein [Wed, 24 Oct 2018 23:37:56 +0000 (02:37 +0300)]
Rename the generic "Syntax error" message from the Verilog/SystemVerilog parser into unique,
meaningful info on the error.
Also add 13 compilation examples that triggers each of these messages.
Clifford Wolf [Tue, 23 Oct 2018 17:18:45 +0000 (19:18 +0200)]
Merge pull request #677 from daveshah1/ecp5_dsp
ecp5: Add blackboxes for MULT18X18D and ALU54B
whentze [Mon, 22 Oct 2018 17:40:22 +0000 (19:40 +0200)]
fix unhandled std::out_of_range when calling yosys with 3-character argument
David Shah [Mon, 22 Oct 2018 15:20:38 +0000 (16:20 +0100)]
ecp5: Remove DSP parameters that don't work
Signed-off-by: David Shah <davey1576@gmail.com>
rafaeltp [Sun, 21 Oct 2018 18:32:44 +0000 (11:32 -0700)]
using [i] to access individual bits of SigSpec and merging bits into a tmp Sig before setting the port to new signal
David Shah [Sun, 21 Oct 2018 18:27:02 +0000 (19:27 +0100)]
ecp5: Add DSP blackboxes
Signed-off-by: David Shah <davey1576@gmail.com>
rafaeltp [Sun, 21 Oct 2018 01:02:59 +0000 (18:02 -0700)]
cleaning up for PR
rafaeltp [Sun, 21 Oct 2018 00:57:26 +0000 (17:57 -0700)]
fixing code style
rafaeltp [Sun, 21 Oct 2018 00:50:21 +0000 (17:50 -0700)]
solves #675
rafaeltp [Sun, 21 Oct 2018 00:01:09 +0000 (17:01 -0700)]
Merge pull request #1 from YosysHQ/master
updating
Clifford Wolf [Sat, 20 Oct 2018 21:48:53 +0000 (23:48 +0200)]
Improve read_verilog range out of bounds warning
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Sat, 20 Oct 2018 21:28:09 +0000 (23:28 +0200)]
Merge pull request #674 from rubund/feature/svinterface_at_top
Support for SystemVerilog interfaces as ports in the top level module + test case
Ruben Undheim [Sat, 20 Oct 2018 10:45:51 +0000 (12:45 +0200)]
Refactor code to avoid code duplication + added comments
Ruben Undheim [Sat, 20 Oct 2018 09:58:25 +0000 (11:58 +0200)]
Support for SystemVerilog interfaces as a port in the top level module + test case
Ruben Undheim [Sat, 20 Oct 2018 09:57:39 +0000 (11:57 +0200)]
Fixed memory leak
Clifford Wolf [Fri, 19 Oct 2018 15:32:42 +0000 (17:32 +0200)]
Merge pull request #673 from daveshah1/ecp5_improve
Small ECP5 improvements
David Shah [Thu, 18 Oct 2018 18:40:02 +0000 (19:40 +0100)]
ecp5: Sim model fixes
Signed-off-by: David Shah <dave@ds0.me>