yosys.git
5 years agoflowmap: don't break if that creates a k+2 (and larger) LUT either.
whitequark [Mon, 11 Nov 2019 23:13:00 +0000 (23:13 +0000)]
flowmap: don't break if that creates a k+2 (and larger) LUT either.

Fixes #1405.

5 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

5 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>
5 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.

5 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>
5 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>
5 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

5 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>
5 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[+]

5 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>
5 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>
5 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>
5 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>
5 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.

5 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)

5 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>
5 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>
5 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>
5 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`

5 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>
5 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

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

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

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

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

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

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

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

5 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

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

5 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)

5 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

5 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)

5 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

5 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)

5 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

5 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)

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

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

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

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

5 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)

5 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

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

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

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

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

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

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

5 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

5 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

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

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

5 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

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

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

5 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

5 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

5 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)

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

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

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

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

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

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

5 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

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

5 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)

5 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

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

5 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

5 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

5 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>
5 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>
5 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>
5 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>
5 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>
5 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)

5 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

5 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>
5 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>
5 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>
5 years agoecp5: Set syn_useioff on IO FFs to enable packing
David Shah [Thu, 10 Oct 2019 14:55:16 +0000 (15:55 +0100)]
ecp5: Set syn_useioff on IO FFs to enable packing

Signed-off-by: David Shah <dave@ds0.me>
5 years agoMerge pull request #1445 from YosysHQ/mwk/xilinx_ibufg
Miodrag Milanović [Thu, 10 Oct 2019 12:09:32 +0000 (14:09 +0200)]
Merge pull request #1445 from YosysHQ/mwk/xilinx_ibufg

xilinx: Add simulation model for IBUFG.

5 years agoxilinx: Add simulation model for IBUFG.
Marcin Kościelnicki [Thu, 10 Oct 2019 09:31:33 +0000 (11:31 +0200)]
xilinx: Add simulation model for IBUFG.

5 years agoRevert "Add test that is expecting to fail"
Eddie Hung [Tue, 8 Oct 2019 19:41:26 +0000 (12:41 -0700)]
Revert "Add test that is expecting to fail"

This reverts commit c28d4b804720c2cf0086e921748219150e9631b5.

5 years agoRevert "Be mindful that sigmap(wire) could have dupes when checking \init"
Eddie Hung [Tue, 8 Oct 2019 19:41:24 +0000 (12:41 -0700)]
Revert "Be mindful that sigmap(wire) could have dupes when checking \init"

This reverts commit f46ac1df9f8847dac9d9851f2f948d93a1064ff1.

5 years agoMerge pull request #1432 from YosysHQ/eddie/fix1427
Eddie Hung [Tue, 8 Oct 2019 19:38:29 +0000 (12:38 -0700)]
Merge pull request #1432 from YosysHQ/eddie/fix1427

Refactor peepopt_dffmux and be sensitive to \init when trimming

5 years agoMerge pull request #1433 from YosysHQ/eddie/equiv_opt_async2sync
Eddie Hung [Tue, 8 Oct 2019 17:53:44 +0000 (10:53 -0700)]
Merge pull request #1433 from YosysHQ/eddie/equiv_opt_async2sync

async2sync to be called by equiv_opt only when -async2sync given

5 years agoMerge pull request #1437 from YosysHQ/eddie/abc_to_abc9
Eddie Hung [Tue, 8 Oct 2019 17:53:38 +0000 (10:53 -0700)]
Merge pull request #1437 from YosysHQ/eddie/abc_to_abc9

Rename abc_* names/attributes to more precisely be abc9_*

5 years agoMerge pull request #1438 from YosysHQ/eddie/xilinx_dsp_comments
Eddie Hung [Tue, 8 Oct 2019 17:53:30 +0000 (10:53 -0700)]
Merge pull request #1438 from YosysHQ/eddie/xilinx_dsp_comments

Add notes and comments for xilinx_dsp

5 years agoMerge pull request #1439 from YosysHQ/eddie/fix_ice40_wrapcarry
Clifford Wolf [Sun, 6 Oct 2019 10:11:20 +0000 (12:11 +0200)]
Merge pull request #1439 from YosysHQ/eddie/fix_ice40_wrapcarry

Missing 'accept' at end of ice40_wrapcarry, spotted by @cliffordwolf

5 years agoMissing 'accept' at end of ice40_wrapcarry, spotted by @cliffordwolf
Eddie Hung [Sat, 5 Oct 2019 16:27:12 +0000 (09:27 -0700)]
Missing 'accept' at end of ice40_wrapcarry, spotted by @cliffordwolf

5 years agoUpdate README.md
Clifford Wolf [Sat, 5 Oct 2019 16:13:04 +0000 (18:13 +0200)]
Update README.md

5 years agoMissed this
Eddie Hung [Sat, 5 Oct 2019 15:57:37 +0000 (08:57 -0700)]
Missed this

5 years agoAdd comment on why we have to match for clock-enable/reset muxes
Eddie Hung [Sat, 5 Oct 2019 15:56:37 +0000 (08:56 -0700)]
Add comment on why we have to match for clock-enable/reset muxes

5 years agoAdd note on pattern detector
Eddie Hung [Sat, 5 Oct 2019 15:53:01 +0000 (08:53 -0700)]
Add note on pattern detector

5 years agoMerge pull request #1436 from YosysHQ/mmicko/msvc_fix
Miodrag Milanović [Sat, 5 Oct 2019 05:48:30 +0000 (07:48 +0200)]
Merge pull request #1436 from YosysHQ/mmicko/msvc_fix

Fixes for MSVC build

5 years agoAdd comment on why partial multipliers are 18x18
Eddie Hung [Sat, 5 Oct 2019 05:30:14 +0000 (22:30 -0700)]
Add comment on why partial multipliers are 18x18

5 years agoAdd comments for xilinx_dsp_cascade
Eddie Hung [Sat, 5 Oct 2019 05:25:30 +0000 (22:25 -0700)]
Add comments for xilinx_dsp_cascade