Sylvain Munaut [Sat, 8 Dec 2018 21:46:28 +0000 (22:46 +0100)]
ice40: Honor the "dont_touch" attribute in FFSSR pass
This is useful if you want to place FF manually ... can't merge SR in those
because it might make the manual placement invalid
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
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>