yosys.git
5 years agoecp5: Add support for mapping 36-bit wide PDP BRAMs
David Shah [Tue, 1 Oct 2019 12:46:36 +0000 (13:46 +0100)]
ecp5: Add support for mapping 36-bit wide PDP BRAMs

Signed-off-by: David Shah <dave@ds0.me>
5 years agoFix typo
Eddie Hung [Sat, 28 Sep 2019 00:00:19 +0000 (17:00 -0700)]
Fix typo

5 years agoUpdate doc for equiv_opt
Eddie Hung [Mon, 30 Sep 2019 17:59:56 +0000 (10:59 -0700)]
Update doc for equiv_opt

5 years agoMerge pull request #1406 from whitequark/connect_rpc
whitequark [Mon, 30 Sep 2019 17:38:20 +0000 (17:38 +0000)]
Merge pull request #1406 from whitequark/connect_rpc

rpc: new frontend

5 years agoMerge pull request #1397 from btut/fix/python_wrappers_inline_constructors
Eddie Hung [Mon, 30 Sep 2019 17:31:57 +0000 (10:31 -0700)]
Merge pull request #1397 from btut/fix/python_wrappers_inline_constructors

Generate Python wrappers for inline constructors

5 years agorpc: new frontend.
whitequark [Thu, 26 Sep 2019 03:57:16 +0000 (03:57 +0000)]
rpc: new frontend.

A new pass, connect_rpc, allows any HDL frontend that can read/write
JSON from/to stdin/stdout or an unix socket or a named pipe to
participate in elaboration as a first class citizen, such that any
other HDL supported by Yosys directly or indirectly can transparently
instantiate modules handled by this frontend.

Recognizing that many HDL frontends emit Verilog, it allows the RPC
frontend to direct Yosys to process the result of instantiation via
any built-in Yosys frontend. The resulting RTLIL is then hygienically
integrated into the overall design.

5 years agolibs: import json11.
whitequark [Thu, 26 Sep 2019 02:11:22 +0000 (02:11 +0000)]
libs: import json11.

This commit imports the code from upstream commit
dropbox/json11@8ccf1f0c5ecab6151a65f216e7eeccd8588e5457.

5 years agoMerge pull request #1416 from YosysHQ/mmicko/frontend_binary_in
Miodrag Milanović [Mon, 30 Sep 2019 15:49:23 +0000 (17:49 +0200)]
Merge pull request #1416 from YosysHQ/mmicko/frontend_binary_in

Open aig frontend as binary file

5 years agoBump version
Clifford Wolf [Mon, 30 Sep 2019 15:08:38 +0000 (17:08 +0200)]
Bump version

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #1412 from YosysHQ/eddie/equiv_opt_async2sync
Clifford Wolf [Mon, 30 Sep 2019 15:04:21 +0000 (17:04 +0200)]
Merge pull request #1412 from YosysHQ/eddie/equiv_opt_async2sync

equiv_opt to call async2sync when not -multiclock like SymbiYosys

5 years agoMerge pull request #1417 from YosysHQ/clifford/fixasync2sync
Clifford Wolf [Mon, 30 Sep 2019 15:04:03 +0000 (17:04 +0200)]
Merge pull request #1417 from YosysHQ/clifford/fixasync2sync

Fix $dlatch handling in async2sync

5 years agoFix $dlatch handling in async2sync
Clifford Wolf [Mon, 30 Sep 2019 12:58:23 +0000 (14:58 +0200)]
Fix $dlatch handling in async2sync

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd latch test modified from #1363
Eddie Hung [Fri, 27 Sep 2019 19:50:20 +0000 (12:50 -0700)]
Add latch test modified from #1363

5 years agoAdd LDCE/LDPE sim library, remove from *cells_xtra.{v,py}
Eddie Hung [Fri, 27 Sep 2019 19:49:57 +0000 (12:49 -0700)]
Add LDCE/LDPE sim library, remove from *cells_xtra.{v,py}

5 years agosynth_xilinx: Support latches, remove used-up FF init values.
Marcin Kościelnicki [Mon, 23 Sep 2019 10:41:42 +0000 (12:41 +0200)]
synth_xilinx: Support latches, remove used-up FF init values.

Fixes #1387.

5 years agoMerge pull request #1414 from hzeller/improve-replace-with-empty-map
Eddie Hung [Mon, 30 Sep 2019 02:35:23 +0000 (19:35 -0700)]
Merge pull request #1414 from hzeller/improve-replace-with-empty-map

Avoid work in replace() if rules empty.

5 years agoMerge pull request #1359 from YosysHQ/xc7dsp
Eddie Hung [Sun, 29 Sep 2019 18:26:22 +0000 (11:26 -0700)]
Merge pull request #1359 from YosysHQ/xc7dsp

DSP inference for Xilinx (improved for ice40, initial support for ecp5)

5 years agoFix reading aig files on windows
Miodrag Milanovic [Sun, 29 Sep 2019 13:40:37 +0000 (15:40 +0200)]
Fix reading aig files on windows

5 years agoOpen aig frontend as binary file
Miodrag Milanovic [Sun, 29 Sep 2019 11:22:11 +0000 (13:22 +0200)]
Open aig frontend as binary file

5 years agoMerge pull request #1413 from YosysHQ/mmicko/backend_binary_out
Miodrag Milanović [Sun, 29 Sep 2019 08:37:34 +0000 (10:37 +0200)]
Merge pull request #1413 from YosysHQ/mmicko/backend_binary_out

Support binary files for backends, fixes #1407

5 years agoMerge pull request #1411 from aman-goel/YosysHQ-master
Clifford Wolf [Sun, 29 Sep 2019 08:36:25 +0000 (10:36 +0200)]
Merge pull request #1411 from aman-goel/YosysHQ-master

Corrects BTOR2 backend

5 years agoAvoid work in replace() if rules empty.
Henner Zeller [Sun, 29 Sep 2019 07:17:40 +0000 (00:17 -0700)]
Avoid work in replace() if rules empty.

This speeds up processing when number of bits are large but there
is actually nothing to replace. Adresses part of #1382.

Signed-off-by: Henner Zeller <h.zeller@acm.org>
5 years agoAdd aiger and protobuf backends binary support
Miodrag Milanovic [Sat, 28 Sep 2019 07:50:29 +0000 (09:50 +0200)]
Add aiger and protobuf backends binary support

5 years agoSupport binary files for backends, fixes #1407
Miodrag Milanovic [Sat, 28 Sep 2019 07:28:51 +0000 (09:28 +0200)]
Support binary files for backends, fixes #1407

5 years agoFix box name
Eddie Hung [Sat, 28 Sep 2019 01:49:45 +0000 (18:49 -0700)]
Fix box name

5 years agoRe-order
Eddie Hung [Fri, 27 Sep 2019 21:32:07 +0000 (14:32 -0700)]
Re-order

5 years agoMissing (* mul2dsp *) for sliceB
Eddie Hung [Fri, 27 Sep 2019 21:21:47 +0000 (14:21 -0700)]
Missing (* mul2dsp *) for sliceB

5 years agoequiv_opt to call async2sync when not -multiclock like SymbiYosys
Eddie Hung [Fri, 27 Sep 2019 19:59:10 +0000 (12:59 -0700)]
equiv_opt to call async2sync when not -multiclock like SymbiYosys

5 years agoOoops AREG and BREG to default to -1
Eddie Hung [Fri, 27 Sep 2019 18:57:53 +0000 (11:57 -0700)]
Ooops AREG and BREG to default to -1

5 years agoCorrects btor2 backend
Aman Goel [Fri, 27 Sep 2019 16:40:17 +0000 (12:40 -0400)]
Corrects btor2 backend

5 years agoFix _TECHMAP_REMOVEINIT_ handling.
Marcin Kościelnicki [Fri, 27 Sep 2019 09:03:04 +0000 (11:03 +0200)]
Fix _TECHMAP_REMOVEINIT_ handling.

Previously, this wire was handled in the code that populated the "do or
do not" techmap cache, resulting in init value removal being performed
only for the first use of a given template.

Fixes the problem identified in #1396.

5 years agoMerge pull request #7 from YosysHQ/master
Aman Goel [Fri, 27 Sep 2019 16:30:27 +0000 (12:30 -0400)]
Merge pull request #7 from YosysHQ/master

Syncing with official repo

5 years agoMerge pull request #1409 from YosysHQ/mmicko/fix_getopt_difference
Miodrag Milanović [Fri, 27 Sep 2019 15:37:55 +0000 (17:37 +0200)]
Merge pull request #1409 from YosysHQ/mmicko/fix_getopt_difference

Change order of parameters, to work on other OS

5 years agoChange order of parameters, to work on other os
Miodrag Milanovic [Fri, 27 Sep 2019 09:31:55 +0000 (11:31 +0200)]
Change order of parameters, to work on other os

5 years agoMerge pull request #1404 from YosysHQ/fix_gzip_macos
Clifford Wolf [Fri, 27 Sep 2019 07:57:28 +0000 (09:57 +0200)]
Merge pull request #1404 from YosysHQ/fix_gzip_macos

Make read/write gzip files on macos works, fixes #1357

5 years agoUpdate doc with max cascade chain of 20
Eddie Hung [Thu, 26 Sep 2019 21:31:02 +0000 (14:31 -0700)]
Update doc with max cascade chain of 20

5 years agoDo not always zero out C (e.g. during cascade breaks)
Eddie Hung [Thu, 26 Sep 2019 20:59:05 +0000 (13:59 -0700)]
Do not always zero out C (e.g. during cascade breaks)

5 years agoUpdate doc
Eddie Hung [Thu, 26 Sep 2019 20:44:41 +0000 (13:44 -0700)]
Update doc

5 years agoZero out ports
Eddie Hung [Thu, 26 Sep 2019 20:40:38 +0000 (13:40 -0700)]
Zero out ports

5 years agoxilinx_dsp_cascade to also cascade AREG and BREG
Eddie Hung [Thu, 26 Sep 2019 20:29:18 +0000 (13:29 -0700)]
xilinx_dsp_cascade to also cascade AREG and BREG

5 years agoTry recursive pmgen for P cascade
Eddie Hung [Thu, 26 Sep 2019 19:09:57 +0000 (12:09 -0700)]
Try recursive pmgen for P cascade

5 years agoMissing an '&'
Eddie Hung [Thu, 26 Sep 2019 18:13:08 +0000 (11:13 -0700)]
Missing an '&'

5 years agoCombine 'flatten' & 'coarse' labels in synth_ecp5 so proc run once
Eddie Hung [Thu, 26 Sep 2019 17:45:14 +0000 (10:45 -0700)]
Combine 'flatten' & 'coarse' labels in synth_ecp5 so proc run once

5 years agoMake read/write gzip files on macos works, fixes #1357
Miodrag Milanovic [Thu, 26 Sep 2019 17:35:12 +0000 (19:35 +0200)]
Make read/write gzip files on macos works, fixes #1357

5 years agoTypo
Eddie Hung [Thu, 26 Sep 2019 17:34:14 +0000 (10:34 -0700)]
Typo

5 years agoCREG to check for \keep
Eddie Hung [Thu, 26 Sep 2019 17:32:01 +0000 (10:32 -0700)]
CREG to check for \keep

5 years agoRemove newline
Eddie Hung [Thu, 26 Sep 2019 17:31:55 +0000 (10:31 -0700)]
Remove newline

5 years agoselect once
Eddie Hung [Thu, 26 Sep 2019 17:15:05 +0000 (10:15 -0700)]
select once

5 years agoStop trying to be too smart by prematurely optimising
Eddie Hung [Thu, 26 Sep 2019 16:57:11 +0000 (09:57 -0700)]
Stop trying to be too smart by prematurely optimising

5 years agomul2dsp.v slice names
Eddie Hung [Thu, 26 Sep 2019 05:58:55 +0000 (22:58 -0700)]
mul2dsp.v slice names

5 years agoDo not die if DSP48E1.P has no users (would otherwise get 'clean'-ed)
Eddie Hung [Thu, 26 Sep 2019 05:58:03 +0000 (22:58 -0700)]
Do not die if DSP48E1.P has no users (would otherwise get 'clean'-ed)

5 years agoReject if (* init *) present
Eddie Hung [Thu, 26 Sep 2019 01:21:08 +0000 (18:21 -0700)]
Reject if (* init *) present

5 years agoRemove unnecessary check for A_SIGNED != B_SIGNED; be more explicit
Eddie Hung [Thu, 26 Sep 2019 00:26:47 +0000 (17:26 -0700)]
Remove unnecessary check for A_SIGNED != B_SIGNED; be more explicit

5 years agoRevert "Remove _TECHMAP_CELLTYPE_ check since all $mul"
Eddie Hung [Thu, 26 Sep 2019 00:25:44 +0000 (17:25 -0700)]
Revert "Remove _TECHMAP_CELLTYPE_ check since all $mul"

This reverts commit 234738b103d4f2b3d937ed928fd89bc4e31627f1.

5 years agoRevert "No need for $__mul anymore?"
Eddie Hung [Thu, 26 Sep 2019 00:24:11 +0000 (17:24 -0700)]
Revert "No need for $__mul anymore?"

This reverts commit 1d875ac76a354f654f28b9632d83f6b43542e827.

5 years agoRework xilinx_dsp postAdd for new wreduce call
Eddie Hung [Thu, 26 Sep 2019 00:22:30 +0000 (17:22 -0700)]
Rework xilinx_dsp postAdd for new wreduce call

5 years agoOnly wreduce on t:$add
Eddie Hung [Thu, 26 Sep 2019 00:22:04 +0000 (17:22 -0700)]
Only wreduce on t:$add

5 years agoRemove _TECHMAP_CELLTYPE_ check since all $mul
Eddie Hung [Wed, 25 Sep 2019 23:51:31 +0000 (16:51 -0700)]
Remove _TECHMAP_CELLTYPE_ check since all $mul

5 years agoFix memory issue since SigSpec& could be invalidated
Eddie Hung [Wed, 25 Sep 2019 23:45:51 +0000 (16:45 -0700)]
Fix memory issue since SigSpec& could be invalidated

5 years agoMerge pull request #1401 from SergeyDegtyar/SergeyDegtyar/ice40
Eddie Hung [Wed, 25 Sep 2019 23:43:24 +0000 (16:43 -0700)]
Merge pull request #1401 from SergeyDegtyar/SergeyDegtyar/ice40

ICE40 tests. adffs test update (equiv_opt -multiclock).

5 years agoNo need for $__mul anymore?
Eddie Hung [Wed, 25 Sep 2019 21:06:21 +0000 (14:06 -0700)]
No need for $__mul anymore?

5 years agounextend only used in init
Eddie Hung [Wed, 25 Sep 2019 21:05:59 +0000 (14:05 -0700)]
unextend only used in init

5 years agoCall 'wreduce' after mul2dsp to avoid unextend()
Eddie Hung [Wed, 25 Sep 2019 21:04:36 +0000 (14:04 -0700)]
Call 'wreduce' after mul2dsp to avoid unextend()

5 years agoOops. Actually use __NAME__ in ABC_DSP48E1 macro
Eddie Hung [Wed, 25 Sep 2019 17:33:16 +0000 (10:33 -0700)]
Oops. Actually use __NAME__ in ABC_DSP48E1 macro

5 years agoChange sync controls to async.
SergeyDegtyar [Wed, 25 Sep 2019 11:43:26 +0000 (14:43 +0300)]
Change sync controls to async.

5 years agoMerge pull request #1402 from YosysHQ/clifford/portlist
Clifford Wolf [Wed, 25 Sep 2019 07:20:54 +0000 (09:20 +0200)]
Merge pull request #1402 from YosysHQ/clifford/portlist

Add "portlist" command

5 years agoImprove "portlist" command
Clifford Wolf [Wed, 25 Sep 2019 07:20:38 +0000 (09:20 +0200)]
Improve "portlist" command

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "portlist" command
Clifford Wolf [Tue, 24 Sep 2019 16:08:59 +0000 (18:08 +0200)]
Add "portlist" command

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoadffs test update (equiv_opt -multiclock).
SergeyDegtyar [Tue, 24 Sep 2019 11:55:32 +0000 (14:55 +0300)]
adffs test update (equiv_opt -multiclock).

5 years agoAdd (* techmap_autopurge *) to abc_unmap.v too
Eddie Hung [Tue, 24 Sep 2019 05:02:22 +0000 (22:02 -0700)]
Add (* techmap_autopurge *) to abc_unmap.v too

5 years ago"abc_padding" attr for blackbox outputs that were padded, remove them later
Eddie Hung [Tue, 24 Sep 2019 04:58:40 +0000 (21:58 -0700)]
"abc_padding" attr for blackbox outputs that were padded, remove them later

5 years agoForce $inout.out ports to begin with '$' to indicate internal
Eddie Hung [Tue, 24 Sep 2019 04:58:04 +0000 (21:58 -0700)]
Force $inout.out ports to begin with '$' to indicate internal

5 years agoAdd techmap_autopurge to outputs in abc_map.v too
Eddie Hung [Tue, 24 Sep 2019 04:56:28 +0000 (21:56 -0700)]
Add techmap_autopurge to outputs in abc_map.v too

5 years agoRevert "Add a xilinx_finalise pass"
Eddie Hung [Tue, 24 Sep 2019 02:52:55 +0000 (19:52 -0700)]
Revert "Add a xilinx_finalise pass"

This reverts commit 23d90e0439ffef510632ce45a3d2aff1c129f405.

5 years agoRevert "Remove (* techmap_autopurge *) from abc_unmap.v since no effect"
Eddie Hung [Tue, 24 Sep 2019 02:52:55 +0000 (19:52 -0700)]
Revert "Remove (* techmap_autopurge *) from abc_unmap.v since no effect"

This reverts commit 67c2db3486a7b2ff34f89dc861fb66d51ba6101b.

5 years agoRevert "Vivado does not like zero width port connections"
Eddie Hung [Tue, 24 Sep 2019 02:52:54 +0000 (19:52 -0700)]
Revert "Vivado does not like zero width port connections"

This reverts commit 895e2befa76bd326cc47fd40de112ea067fcaf98.

5 years agoVivado does not like zero width port connections
Eddie Hung [Tue, 24 Sep 2019 02:04:07 +0000 (19:04 -0700)]
Vivado does not like zero width port connections

5 years agoRemove (* techmap_autopurge *) from abc_unmap.v since no effect
Eddie Hung [Tue, 24 Sep 2019 01:56:18 +0000 (18:56 -0700)]
Remove (* techmap_autopurge *) from abc_unmap.v since no effect

5 years agoAdd a xilinx_finalise pass
Eddie Hung [Tue, 24 Sep 2019 01:56:02 +0000 (18:56 -0700)]
Add a xilinx_finalise pass

5 years agoSet [AB]CASCREG to legal values
Eddie Hung [Mon, 23 Sep 2019 23:00:11 +0000 (16:00 -0700)]
Set [AB]CASCREG to legal values

5 years agoComment to explain separating CREG packing
Eddie Hung [Mon, 23 Sep 2019 20:58:10 +0000 (13:58 -0700)]
Comment to explain separating CREG packing

5 years agoSeparate out CREG packing into new pattern, to avoid conflict with PREG
Eddie Hung [Mon, 23 Sep 2019 20:27:10 +0000 (13:27 -0700)]
Separate out CREG packing into new pattern, to avoid conflict with PREG

5 years agoMove log_debug("\n") later
Eddie Hung [Mon, 23 Sep 2019 20:27:00 +0000 (13:27 -0700)]
Move log_debug("\n") later

5 years agoMove unextend initialisation later
Eddie Hung [Mon, 23 Sep 2019 20:26:34 +0000 (13:26 -0700)]
Move unextend initialisation later

5 years agoUse new port() overload once more
Eddie Hung [Mon, 23 Sep 2019 20:00:44 +0000 (13:00 -0700)]
Use new port() overload once more

5 years agoMerge pull request #1399 from nakengelhardt/fix-show-macos
Miodrag Milanović [Mon, 23 Sep 2019 18:06:40 +0000 (20:06 +0200)]
Merge pull request #1399 from nakengelhardt/fix-show-macos

fix show command for macos

5 years agoMerge remote-tracking branch 'origin/master' into xc7dsp
Eddie Hung [Mon, 23 Sep 2019 17:58:28 +0000 (10:58 -0700)]
Merge remote-tracking branch 'origin/master' into xc7dsp

5 years agoadd xdot dependency to Brewfile
N. Engelhardt [Mon, 23 Sep 2019 16:25:04 +0000 (18:25 +0200)]
add xdot dependency to Brewfile

5 years agofix show command for macos
N. Engelhardt [Mon, 23 Sep 2019 15:25:30 +0000 (17:25 +0200)]
fix show command for macos

5 years agoGenerate Python wrappers for inline constructors
Benedikt Tutzer [Mon, 23 Sep 2019 11:17:59 +0000 (13:17 +0200)]
Generate Python wrappers for inline constructors

Fixes: #1353
5 years agoMerge pull request #1392 from YosysHQ/eddie/fix1391
Clifford Wolf [Sat, 21 Sep 2019 09:25:36 +0000 (11:25 +0200)]
Merge pull request #1392 from YosysHQ/eddie/fix1391

(* techmap_autopurge *) fixes when ports aren't consistently-sized

5 years agoHell let's add the original #1381 testcase too
Eddie Hung [Sat, 21 Sep 2019 00:58:51 +0000 (17:58 -0700)]
Hell let's add the original #1381 testcase too

5 years agoRevert abc9.cc
Eddie Hung [Sat, 21 Sep 2019 00:52:23 +0000 (17:52 -0700)]
Revert abc9.cc

5 years agoAdd testcase
Eddie Hung [Sat, 21 Sep 2019 00:49:26 +0000 (17:49 -0700)]
Add testcase

5 years agoTrim mismatched connection to be same (smallest) size
Eddie Hung [Sat, 21 Sep 2019 00:48:37 +0000 (17:48 -0700)]
Trim mismatched connection to be same (smallest) size

5 years agoFix first testcase in #1391
Eddie Hung [Sat, 21 Sep 2019 00:42:36 +0000 (17:42 -0700)]
Fix first testcase in #1391

5 years agoGrammar
Eddie Hung [Fri, 20 Sep 2019 21:24:31 +0000 (14:24 -0700)]
Grammar

5 years agoUse new port/param overload in pmg
Eddie Hung [Fri, 20 Sep 2019 21:21:22 +0000 (14:21 -0700)]
Use new port/param overload in pmg

5 years agoOutput pattern matcher items as log_debug()
Eddie Hung [Fri, 20 Sep 2019 19:42:28 +0000 (12:42 -0700)]
Output pattern matcher items as log_debug()

5 years agoOPMODE is port not param
Eddie Hung [Fri, 20 Sep 2019 19:37:29 +0000 (12:37 -0700)]
OPMODE is port not param