yosys.git
4 years agoMerge branch 'master' of https://github.com/YosysHQ/yosys into gowin
Pepijn de Vos [Mon, 11 Nov 2019 16:08:40 +0000 (17:08 +0100)]
Merge branch 'master' of https://github.com/YosysHQ/yosys into gowin

4 years agoMerge pull request #1470 from YosysHQ/clifford/subpassdoc
Clifford Wolf [Sun, 10 Nov 2019 10:00:38 +0000 (11:00 +0100)]
Merge pull request #1470 from YosysHQ/clifford/subpassdoc

Add CodingReadme section on script passes

4 years agoAdd check for valid macro names in macro definitions
Clifford Wolf [Thu, 7 Nov 2019 12:30:03 +0000 (13:30 +0100)]
Add check for valid macro names in macro definitions

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agofix wide luts
Pepijn de Vos [Wed, 6 Nov 2019 18:48:18 +0000 (19:48 +0100)]
fix wide luts

4 years agosynth_xilinx: Merge blackbox primitive libraries.
Marcin Kościelnicki [Fri, 1 Nov 2019 14:00:15 +0000 (14:00 +0000)]
synth_xilinx: Merge blackbox primitive libraries.

First, there are no longer separate cell libraries for xc6s/xc7/xcu.
Manually instantiating a primitive for a "wrong" family will result
in yosys passing it straight through to the output, and it will be
either upgraded or rejected by the P&R tool.

Second, the blackbox library is expanded to cover many more families:
everything from Spartan 3 up is included.  Primitives for Virtex and
Virtex 2 are listed in the Python file as well if we ever want to
include them, but that would require having two different ISE versions
(10.1 and 14.7) available when running cells_xtra.py, and so is probably
more trouble than it's worth.

Third, the blockram blackboxes are no longer in separate files — there
is no practical reason to do so (from synthesis PoV, they are no
different from any other cells_xtra blackbox), and they needlessly
complicated the flow (among other things, merging them allows the user
to use eg. Series 7 primitives and have them auto-upgraded to
Ultrascale).

Last, since xc5v logic synthesis appears to work reasonably well
(the only major problem is lack of blockram inference support), xc5v is
now an accepted setting for the -family option.

4 years agoFix write_aiger bug added in 524af21
Clifford Wolf [Mon, 4 Nov 2019 13:25:13 +0000 (14:25 +0100)]
Fix write_aiger bug added in 524af21

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoAdd CodingReadme section on script passes
Clifford Wolf [Thu, 31 Oct 2019 09:46:20 +0000 (10:46 +0100)]
Add CodingReadme section on script passes

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agodon't cound exact luts in big muxes; futile and fragile
Pepijn de Vos [Wed, 30 Oct 2019 13:58:25 +0000 (14:58 +0100)]
don't cound exact luts in big muxes; futile and fragile

4 years agoadd IOBUF
Pepijn de Vos [Mon, 28 Oct 2019 14:33:05 +0000 (15:33 +0100)]
add IOBUF

4 years agoadd tristate buffer and test
Pepijn de Vos [Mon, 28 Oct 2019 14:18:01 +0000 (15:18 +0100)]
add tristate buffer and test

4 years agodo not use wide luts in testcase
Pepijn de Vos [Mon, 28 Oct 2019 13:40:12 +0000 (14:40 +0100)]
do not use wide luts in testcase

4 years agoactually run the gowin tests
Pepijn de Vos [Mon, 28 Oct 2019 13:28:03 +0000 (14:28 +0100)]
actually run the gowin tests

4 years agoMore formatting
Pepijn de Vos [Mon, 28 Oct 2019 12:10:12 +0000 (13:10 +0100)]
More formatting

4 years agoreally really fix formatting maybe
Pepijn de Vos [Mon, 28 Oct 2019 12:01:20 +0000 (13:01 +0100)]
really really fix formatting maybe

4 years agoundo formatting fuckup
Pepijn de Vos [Mon, 28 Oct 2019 11:57:12 +0000 (12:57 +0100)]
undo formatting fuckup

4 years agoadd wide luts
Pepijn de Vos [Mon, 28 Oct 2019 11:49:08 +0000 (12:49 +0100)]
add wide luts

4 years agoadd 32-bit BRAM and byte-enables
Pepijn de Vos [Mon, 28 Oct 2019 09:33:27 +0000 (10:33 +0100)]
add 32-bit BRAM and byte-enables

4 years agoMerge pull request #1393 from whitequark/write_verilog-avoid-init
Clifford Wolf [Sun, 27 Oct 2019 09:25:01 +0000 (10:25 +0100)]
Merge pull request #1393 from whitequark/write_verilog-avoid-init

write_verilog: do not print (*init*) attributes on regs

4 years agoALU sim tweaks
Pepijn de Vos [Thu, 24 Oct 2019 11:39:43 +0000 (13:39 +0200)]
ALU sim tweaks

4 years agoImprove naming scheme for (VHDL) modules imported from Verific
Clifford Wolf [Thu, 24 Oct 2019 10:13:37 +0000 (12:13 +0200)]
Improve naming scheme for (VHDL) modules imported from Verific

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoMerge pull request #1455 from YosysHQ/dave/ultrascaleplus
David Shah [Thu, 24 Oct 2019 07:14:20 +0000 (08:14 +0100)]
Merge pull request #1455 from YosysHQ/dave/ultrascaleplus

Add BRAM and URAM mapping for UltraScale[+]

4 years agoAdd "verific -L"
Clifford Wolf [Thu, 24 Oct 2019 07:14:03 +0000 (09:14 +0200)]
Add "verific -L"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoxilinx: Add URAM288 mapping for xcup
David Shah [Fri, 18 Oct 2019 13:02:57 +0000 (14:02 +0100)]
xilinx: Add URAM288 mapping for xcup

Signed-off-by: David Shah <dave@ds0.me>
4 years agoxilinx: Add support for UltraScale[+] BRAM mapping
David Shah [Fri, 18 Oct 2019 12:24:19 +0000 (13:24 +0100)]
xilinx: Add support for UltraScale[+] BRAM mapping

Signed-off-by: David Shah <dave@ds0.me>
4 years agoBugfix in smtio vcd handling of $-identifiers
Clifford Wolf [Tue, 22 Oct 2019 22:04:34 +0000 (00:04 +0200)]
Bugfix in smtio vcd handling of $-identifiers

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoxilinx: Support multiplier mapping for all families.
Marcin Kościelnicki [Tue, 8 Oct 2019 17:00:30 +0000 (17:00 +0000)]
xilinx: Support multiplier mapping for all families.

This supports several older families that are not yet supported for
actual logic synthesis — the intention is to add them soon.

4 years agoMerge pull request #1452 from nakengelhardt/fix_dsp_mem_reg
Clifford Wolf [Tue, 22 Oct 2019 15:36:54 +0000 (17:36 +0200)]
Merge pull request #1452 from nakengelhardt/fix_dsp_mem_reg

Call memory_dff before DSP mapping to reserve registers (fixes #1447)

4 years agoAdd some tests
Pepijn de Vos [Mon, 21 Oct 2019 14:25:15 +0000 (16:25 +0200)]
Add some tests

Copied from Efinix.

* fsm is broken
* latch and tribuf are not implemented yet
* memory maps to dram

4 years agoadd a few more missing dff
Pepijn de Vos [Mon, 21 Oct 2019 14:08:13 +0000 (16:08 +0200)]
add a few more missing dff

4 years agoAdd "verilog_defines -list" and "verilog_defines -reset"
Clifford Wolf [Mon, 21 Oct 2019 11:35:31 +0000 (13:35 +0200)]
Add "verilog_defines -list" and "verilog_defines -reset"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoFix handling of "restrict" in Verific front-end
Clifford Wolf [Mon, 21 Oct 2019 10:39:28 +0000 (12:39 +0200)]
Fix handling of "restrict" in Verific front-end

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoadd negedge DFF
Pepijn de Vos [Mon, 21 Oct 2019 10:31:11 +0000 (12:31 +0200)]
add negedge DFF

4 years agouse ADDSUB ALU mode to remove inverters
Pepijn de Vos [Mon, 21 Oct 2019 10:00:27 +0000 (12:00 +0200)]
use ADDSUB ALU mode to remove inverters

4 years agoMerge branch 'master' of https://github.com/YosysHQ/yosys into gowin
Pepijn de Vos [Mon, 21 Oct 2019 08:51:34 +0000 (10:51 +0200)]
Merge branch 'master' of https://github.com/YosysHQ/yosys into gowin

4 years agoecp5: Pass -nomfs to abc9
David Shah [Sun, 20 Oct 2019 09:30:41 +0000 (10:30 +0100)]
ecp5: Pass -nomfs to abc9

Fixes #1459

Signed-off-by: David Shah <dave@ds0.me>
4 years agoMerge pull request #1457 from xobs/python-binary-name
Miodrag Milanović [Sat, 19 Oct 2019 06:58:02 +0000 (08:58 +0200)]
Merge pull request #1457 from xobs/python-binary-name

Makefile: don't assume python is called `python3`

4 years agoMakefile: don't assume python is called `python3`
Sean Cross [Sat, 19 Oct 2019 06:04:52 +0000 (14:04 +0800)]
Makefile: don't assume python is called `python3`

On some architectures, notably on Windows, the official name for the
Python binary from python.org is `python`.  The build system assumes
that python is called `python3`, which breaks under this architecture.

There is already infrastructure in place to determine the name of the
Python binary when building PYOSYS.  Since Python is now always required
to build Yosys, enable this check universally which sets the
`PYTHON_EXECUTABLE` variable.

Then, reuse this variable in other Makefiles as necessary, rather than
hardcoding `python3` everywhere.

Signed-off-by: Sean Cross <sean@xobs.io>
4 years agoMerge pull request #1454 from YosysHQ/mmicko/common_tests
Miodrag Milanović [Fri, 18 Oct 2019 12:29:44 +0000 (14:29 +0200)]
Merge pull request #1454 from YosysHQ/mmicko/common_tests

Share common tests

4 years agofixed error
Miodrag Milanovic [Fri, 18 Oct 2019 11:15:36 +0000 (13:15 +0200)]
fixed error

4 years agoUnify verilog style
Miodrag Milanovic [Fri, 18 Oct 2019 10:50:24 +0000 (12:50 +0200)]
Unify verilog style

4 years agoCommon memory test now shared
Miodrag Milanovic [Fri, 18 Oct 2019 10:33:35 +0000 (12:33 +0200)]
Common memory test now shared

4 years agoRemove not needed tests
Miodrag Milanovic [Fri, 18 Oct 2019 10:20:35 +0000 (12:20 +0200)]
Remove not needed tests

4 years agoShare common tests
Miodrag Milanovic [Fri, 18 Oct 2019 10:19:59 +0000 (12:19 +0200)]
Share common tests

4 years agofix yosys path
Miodrag Milanovic [Fri, 18 Oct 2019 09:18:53 +0000 (11:18 +0200)]
fix yosys path

4 years agoFix path to yosys
Miodrag Milanovic [Fri, 18 Oct 2019 09:12:03 +0000 (11:12 +0200)]
Fix path to yosys

4 years agoMoved all tests in arch sub directory
Miodrag Milanovic [Fri, 18 Oct 2019 09:06:12 +0000 (11:06 +0200)]
Moved all tests in arch sub directory

4 years agoAdd async2sync
Miodrag Milanovic [Fri, 18 Oct 2019 09:00:27 +0000 (11:00 +0200)]
Add async2sync

4 years agoMerge pull request #1435 from YosysHQ/mmicko/efinix
Miodrag Milanović [Fri, 18 Oct 2019 08:54:35 +0000 (10:54 +0200)]
Merge pull request #1435 from YosysHQ/mmicko/efinix

Add tests for Efinix architecture (contd)

4 years agoMerge branch 'master' into mmicko/efinix
Miodrag Milanović [Fri, 18 Oct 2019 08:54:28 +0000 (10:54 +0200)]
Merge branch 'master' into mmicko/efinix

4 years agoMerge pull request #1434 from YosysHQ/mmicko/anlogic
Miodrag Milanović [Fri, 18 Oct 2019 08:54:04 +0000 (10:54 +0200)]
Merge pull request #1434 from YosysHQ/mmicko/anlogic

Add tests for Anlogic architecture (contd)

4 years agoMerge branch 'master' into mmicko/anlogic
Miodrag Milanović [Fri, 18 Oct 2019 08:53:56 +0000 (10:53 +0200)]
Merge branch 'master' into mmicko/anlogic

4 years agoMerge pull request #1421 from YosysHQ/eddie/pr1352
Miodrag Milanović [Fri, 18 Oct 2019 08:53:34 +0000 (10:53 +0200)]
Merge pull request #1421 from YosysHQ/eddie/pr1352

Add tests for ECP5 architecture (contd)

4 years agoMerge branch 'master' into eddie/pr1352
Miodrag Milanović [Fri, 18 Oct 2019 08:52:50 +0000 (10:52 +0200)]
Merge branch 'master' into eddie/pr1352

4 years agoMerge pull request #1420 from YosysHQ/eddie/pr1363
Miodrag Milanović [Fri, 18 Oct 2019 08:51:32 +0000 (10:51 +0200)]
Merge pull request #1420 from YosysHQ/eddie/pr1363

Add tests for Xilinx architecture (contd)

4 years agohierarchy - proc reorder
Miodrag Milanovic [Fri, 18 Oct 2019 07:13:06 +0000 (09:13 +0200)]
hierarchy - proc reorder

4 years agohierarchy - proc reorder
Miodrag Milanovic [Fri, 18 Oct 2019 07:06:43 +0000 (09:06 +0200)]
hierarchy - proc reorder

4 years agohierarchy - proc reorder
Miodrag Milanovic [Fri, 18 Oct 2019 07:04:02 +0000 (09:04 +0200)]
hierarchy - proc reorder

4 years agohierarchy - proc reorder
Miodrag Milanovic [Fri, 18 Oct 2019 06:06:57 +0000 (08:06 +0200)]
hierarchy - proc reorder

4 years agoCall memory_dff before DSP mapping to reserve registers (fixes #1447)
N. Engelhardt [Thu, 17 Oct 2019 19:33:54 +0000 (21:33 +0200)]
Call memory_dff before DSP mapping to reserve registers (fixes #1447)

4 years agoMake equivalence work with latest master
Miodrag Milanovic [Thu, 17 Oct 2019 15:24:53 +0000 (17:24 +0200)]
Make equivalence work with latest master

4 years agoremove not needed top module
Miodrag Milanovic [Fri, 4 Oct 2019 07:41:45 +0000 (09:41 +0200)]
remove not needed top module

4 years agoremove not needed top module
Miodrag Milanovic [Fri, 4 Oct 2019 07:39:34 +0000 (09:39 +0200)]
remove not needed top module

4 years agosplit muxes synth per type
Miodrag Milanovic [Fri, 4 Oct 2019 07:39:22 +0000 (09:39 +0200)]
split muxes synth per type

4 years agoTest dffs separetely
Miodrag Milanovic [Fri, 4 Oct 2019 07:28:18 +0000 (09:28 +0200)]
Test dffs separetely

4 years agoSplit latches into separete tests
Miodrag Milanovic [Fri, 4 Oct 2019 07:24:22 +0000 (09:24 +0200)]
Split latches into separete tests

4 years agoFix formatting
Miodrag Milanovic [Fri, 4 Oct 2019 07:19:17 +0000 (09:19 +0200)]
Fix formatting

4 years agoClean verilog code from not used define block
Miodrag Milanovic [Fri, 4 Oct 2019 06:27:49 +0000 (08:27 +0200)]
Clean verilog code from not used define block

4 years agoRemoved alu and div_mod test as agreed, ignore generated files
Miodrag Milanovic [Fri, 4 Oct 2019 06:24:37 +0000 (08:24 +0200)]
Removed alu and div_mod test as agreed, ignore generated files

4 years agoTest per flip-flop type
Miodrag Milanovic [Fri, 4 Oct 2019 06:19:26 +0000 (08:19 +0200)]
Test per flip-flop type

4 years agoAdd -assert
Eddie Hung [Tue, 1 Oct 2019 02:57:26 +0000 (19:57 -0700)]
Add -assert

4 years agoUse built-in async2sync call as per #1417
Eddie Hung [Mon, 30 Sep 2019 21:56:19 +0000 (14:56 -0700)]
Use built-in async2sync call as per #1417

4 years agoUpdate mul test to DSP48E1
Eddie Hung [Mon, 30 Sep 2019 21:38:06 +0000 (14:38 -0700)]
Update mul test to DSP48E1

4 years agoUpdate area for div_mod
Eddie Hung [Mon, 30 Sep 2019 21:20:47 +0000 (14:20 -0700)]
Update area for div_mod

4 years agoAdd comment for lack of tristate logic pointing to #1225
Eddie Hung [Mon, 30 Sep 2019 21:17:59 +0000 (14:17 -0700)]
Add comment for lack of tristate logic pointing to #1225

4 years agoMove $x to end as 7f0eec8
Eddie Hung [Mon, 30 Sep 2019 21:16:45 +0000 (14:16 -0700)]
Move $x to end as 7f0eec8

4 years agoadffs test update (equiv_opt -multiclock)
SergeyDegtyar [Tue, 17 Sep 2019 08:53:49 +0000 (11:53 +0300)]
adffs test update (equiv_opt -multiclock)

4 years agoFix div_mod test
Sergey [Thu, 12 Sep 2019 11:54:01 +0000 (14:54 +0300)]
Fix div_mod test

4 years agoFix div_mod test
Sergey [Thu, 12 Sep 2019 10:58:49 +0000 (13:58 +0300)]
Fix div_mod test

4 years agoFix div_mod test
Sergey [Thu, 12 Sep 2019 04:13:49 +0000 (07:13 +0300)]
Fix div_mod test

4 years agoFix div_mod test
Sergey [Thu, 12 Sep 2019 03:24:18 +0000 (06:24 +0300)]
Fix div_mod test

4 years agoFix div_mod test
Sergey [Wed, 11 Sep 2019 18:28:40 +0000 (21:28 +0300)]
Fix div_mod test

4 years agoFix div_mod test
Sergey [Wed, 11 Sep 2019 17:34:22 +0000 (20:34 +0300)]
Fix div_mod test

4 years agoAdd comment with expected behavior for latches,tribuf tests;Update adffs test
SergeyDegtyar [Wed, 11 Sep 2019 14:01:19 +0000 (17:01 +0300)]
Add comment with expected behavior for latches,tribuf tests;Update adffs test

4 years agoFix latches.ys test
SergeyDegtyar [Tue, 10 Sep 2019 05:36:59 +0000 (08:36 +0300)]
Fix latches.ys test

4 years agoRemove xilinx_ug901 tests (will be moved to yosys-tests)
SergeyDegtyar [Tue, 10 Sep 2019 05:11:56 +0000 (08:11 +0300)]
Remove xilinx_ug901 tests (will be moved to yosys-tests)

4 years agoAdd smoke tests to tests/xilinx
SergeyDegtyar [Tue, 10 Sep 2019 05:08:03 +0000 (08:08 +0300)]
Add smoke tests to tests/xilinx

4 years agoAdd comments for unproven cells.
SergeyDegtyar [Mon, 9 Sep 2019 05:49:29 +0000 (08:49 +0300)]
Add comments for unproven cells.

4 years agoAdd tests for Xilinx UG901 examples
SergeyDegtyar [Mon, 9 Sep 2019 05:33:26 +0000 (08:33 +0300)]
Add tests for Xilinx UG901 examples

4 years agoMerge pull request #1450 from YosysHQ/clifford/fixdffmux
Clifford Wolf [Wed, 16 Oct 2019 12:44:38 +0000 (14:44 +0200)]
Merge pull request #1450 from YosysHQ/clifford/fixdffmux

Fix handling of init attributes in peepopt dffmux pattern

4 years agoFix dffmux peepopt init handling
Clifford Wolf [Wed, 16 Oct 2019 09:40:32 +0000 (11:40 +0200)]
Fix dffmux peepopt init handling

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoMove GENERATE_PATTERN macro to separate utility header
Clifford Wolf [Wed, 16 Oct 2019 09:40:01 +0000 (11:40 +0200)]
Move GENERATE_PATTERN macro to separate utility header

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoremove duplicate DFFR
Pepijn de Vos [Wed, 16 Oct 2019 09:24:56 +0000 (11:24 +0200)]
remove duplicate DFFR

4 years agoDisable left-over log_debug in peepopt_dffmux.pmg
Clifford Wolf [Wed, 16 Oct 2019 08:43:47 +0000 (10:43 +0200)]
Disable left-over log_debug in peepopt_dffmux.pmg

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoFix parsing of .cname BLIF statements
Clifford Wolf [Wed, 16 Oct 2019 07:06:57 +0000 (09:06 +0200)]
Fix parsing of .cname BLIF statements

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoAdd .blackbox support to blif front-end
Clifford Wolf [Tue, 15 Oct 2019 22:00:27 +0000 (00:00 +0200)]
Add .blackbox support to blif front-end

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoMerge pull request #1448 from YosysHQ/daveshah1-sv-experiments
Clifford Wolf [Mon, 14 Oct 2019 14:49:15 +0000 (16:49 +0200)]
Merge pull request #1448 from YosysHQ/daveshah1-sv-experiments

Typedef support (with wrong syntax)

4 years agoMerge pull request #1446 from YosysHQ/dave/ecp5-ioff
David Shah [Mon, 14 Oct 2019 13:05:54 +0000 (14:05 +0100)]
Merge pull request #1446 from YosysHQ/dave/ecp5-ioff

ecp5: Use IOLOGIC flipflops

4 years agoUse "(id)" instead of "id" for types as temporary hack
Clifford Wolf [Mon, 14 Oct 2019 03:24:31 +0000 (05:24 +0200)]
Use "(id)" instead of "id" for types as temporary hack

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoecp5: Add ECLKBRIDGECS blackbox
David Shah [Fri, 11 Oct 2019 13:50:33 +0000 (14:50 +0100)]
ecp5: Add ECLKBRIDGECS blackbox

Signed-off-by: David Shah <dave@ds0.me>
4 years agoecp5: Add attrmvcp to copy syn_useioff to driving FF
David Shah [Thu, 10 Oct 2019 14:58:31 +0000 (15:58 +0100)]
ecp5: Add attrmvcp to copy syn_useioff to driving FF

Signed-off-by: David Shah <dave@ds0.me>