yosys.git
3 years agosv: fix up end label checking
Zachary Snow [Mon, 14 Jun 2021 19:32:01 +0000 (15:32 -0400)]
sv: fix up end label checking

- disallow [gen]blocks with an end label but not begin label
- check validity of module end label
- fix memory leak of package name and end label
- fix memory leak of module end label

3 years agoInclude blif reader header in public facing extension header files.
Ashton Snelgrove [Wed, 16 Jun 2021 19:47:47 +0000 (13:47 -0600)]
Include blif reader header in public facing extension header files.

3 years agoverilog: fix leaking of type names in parser
Xiretza [Thu, 18 Mar 2021 20:52:06 +0000 (21:52 +0100)]
verilog: fix leaking of type names in parser

3 years agoverilog: fix wildcard port connections leaking memory
Xiretza [Thu, 18 Mar 2021 09:38:36 +0000 (10:38 +0100)]
verilog: fix wildcard port connections leaking memory

3 years agoast: delete wires and localparams after finishing const evaluation
Xiretza [Tue, 16 Mar 2021 23:14:27 +0000 (00:14 +0100)]
ast: delete wires and localparams after finishing const evaluation

3 years agoverilog: fix leaking ASTNodes
Xiretza [Tue, 16 Mar 2021 15:43:03 +0000 (16:43 +0100)]
verilog: fix leaking ASTNodes

3 years agoast: fix error condition causing assert to fail
Xiretza [Tue, 16 Mar 2021 23:08:43 +0000 (00:08 +0100)]
ast: fix error condition causing assert to fail

type2str returns a string that doesn't start with $ or \, so it can't be
assigned to an IdString.

3 years agomacos: fix leak in proc_self_dirname()
Zachary Snow [Mon, 14 Jun 2021 15:59:01 +0000 (11:59 -0400)]
macos: fix leak in proc_self_dirname()

3 years agoSimplify some RTLIL destructors
Rupert Swarbrick [Mon, 20 Apr 2020 14:58:30 +0000 (15:58 +0100)]
Simplify some RTLIL destructors

No change in behaviour, but use range-based for loops instead of
iterators.

3 years agoverilog: Squash a memory leak.
Marcelina Kościelnicka [Mon, 14 Jun 2021 14:28:10 +0000 (16:28 +0200)]
verilog: Squash a memory leak.

That was added in ecc22f7fedfa639482dbc55a05709da85116a60f

3 years agoAdd regression test for #2824.
Marcelina Kościelnicka [Fri, 11 Jun 2021 10:19:21 +0000 (12:19 +0200)]
Add regression test for #2824.

3 years agoopt_muxtree: Update port_off and port_idx even for constant bits
gatecat [Fri, 11 Jun 2021 10:11:12 +0000 (11:11 +0100)]
opt_muxtree: Update port_off and port_idx even for constant bits

Signed-off-by: gatecat <gatecat@ds0.me>
3 years agoopt_expr: Fix mul/div/mod by POT patterns to support >= 32 bits.
Marcelina Kościelnicka [Wed, 9 Jun 2021 16:41:57 +0000 (18:41 +0200)]
opt_expr: Fix mul/div/mod by POT patterns to support >= 32 bits.

The previous code, in addition to being needlessly limitted to 32 bits
in the first place, also had UB for the 31th bit (doing 1 << 31).

3 years agoopt_expr: Optimize div/mod by const 1.
Marcelina Kościelnicka [Wed, 9 Jun 2021 14:14:16 +0000 (16:14 +0200)]
opt_expr: Optimize div/mod by const 1.

Turns out the code for div by a power of 2 is already almost capable of
optimizing this to a shift-by-0 or and-with-0, which will be further
folded into nothingness; let's beef it up to handle div by 1 as well.

Fixes #2820.

3 years agoMerge pull request #2817 from YosysHQ/claire/fixemails
Claire Xen [Wed, 9 Jun 2021 11:22:52 +0000 (13:22 +0200)]
Merge pull request #2817 from YosysHQ/claire/fixemails

Fixing old e-mail addresses and deadnames

3 years agoFix deadname SVN links
Claire Xenia Wolf [Wed, 9 Jun 2021 10:44:37 +0000 (12:44 +0200)]
Fix deadname SVN links

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoIntersynth URL
Claire Xenia Wolf [Wed, 9 Jun 2021 10:42:52 +0000 (12:42 +0200)]
Intersynth URL

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoMore deadname stuff
Claire Xenia Wolf [Wed, 9 Jun 2021 10:40:33 +0000 (12:40 +0200)]
More deadname stuff

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoFix icestorm links
Claire Xenia Wolf [Wed, 9 Jun 2021 10:39:12 +0000 (12:39 +0200)]
Fix icestorm links

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoMore deadname stuff
Claire Xenia Wolf [Wed, 9 Jun 2021 10:33:41 +0000 (12:33 +0200)]
More deadname stuff

3 years agoUse HTTPS for website links, gatecat email
Claire Xenia Wolf [Wed, 9 Jun 2021 10:16:56 +0000 (12:16 +0200)]
Use HTTPS for website links, gatecat email

git ls-tree -r --name-only HEAD | xargs sed -i -rf ~/fixemails.sed

s/((Claire|Xen|Xenia|Clifford)\s+)+(Wolf|Xen)\s+<(claire|clifford)@(symbioticeda.com|clifford.at|yosyshq.com)>/Claire Xenia Wolf <claire@yosyshq.com>/gi;
s/((Nina|Nak|N\.)\s+)+Engelhardt\s+<nak@(symbioticeda.com|yosyshq.com)>/N. Engelhardt <nak@yosyshq.com>/gi;
s/((David)\s+)+(Shah|gatecat)\s+<(dave|david|gatecat)@(symbioticeda.com|yosyshq.com|ds0.me)>/gatecat <gatecat@ds0.me>/gi;
s/((Miodrag)\s+)+Milanovic\s+<(miodrag|micko)@(symbioticeda.com|yosyshq.com)>/Miodrag Milanovic <micko@yosyshq.com>/gi;
s,https?://www.clifford.at/yosys/|http://yosyshq.net/yosys/,https://yosyshq.net/yosys/,g;

3 years agoFix files with CRLF line endings
Claire Xenia Wolf [Wed, 9 Jun 2021 10:16:33 +0000 (12:16 +0200)]
Fix files with CRLF line endings

3 years agoverilog: check for module scope identifiers during width detection
Zachary Snow [Sat, 5 Jun 2021 20:21:09 +0000 (16:21 -0400)]
verilog: check for module scope identifiers during width detection

The recent fix for case expression width detection causes the width of
the expressions to be queried before they are simplified. Because the
logic supporting module scope identifiers only existed in simplify,
looking them up would fail during width detection. This moves the logic
to a common helper used in both simplify() and detectSignWidthWorker().

3 years agomem2reg: tolerate out of bounds constant accesses
Zachary Snow [Wed, 26 May 2021 22:22:31 +0000 (18:22 -0400)]
mem2reg: tolerate out of bounds constant accesses

This brings the mem2reg behavior in line with the nomem2reg behavior.

3 years agoautoname: simple perf optimizations
Zachary Snow [Tue, 8 Jun 2021 16:06:32 +0000 (12:06 -0400)]
autoname: simple perf optimizations

3 years agoFixing old e-mail addresses and deadnames
Claire Xenia Wolf [Mon, 7 Jun 2021 22:39:36 +0000 (00:39 +0200)]
Fixing old e-mail addresses and deadnames

s/((Claire|Xen|Xenia|Clifford)\s+)+(Wolf|Xen)\s+<(claire|clifford)@(symbioticeda.com|clifford.at|yosyshq.com)>/Claire Xenia Wolf <claire@yosyshq.com>/gi;
s/((Nina|Nak|N\.)\s+)+Engelhardt\s+<nak@(symbioticeda.com|yosyshq.com)>/N. Engelhardt <nak@yosyshq.com>/gi;
s/((David)\s+)+Shah\s+<(dave|david)@(symbioticeda.com|yosyshq.com|ds0.me)>/David Shah <dave@ds0.me>/gi;
s/((Miodrag)\s+)+Milanovic\s+<(miodrag|micko)@(symbioticeda.com|yosyshq.com)>/Miodrag Milanovic <micko@yosyshq.com>/gi;
s,https?://www.clifford.at/yosys/,http://yosyshq.net/yosys/,g;

3 years agoAdd claire deadname stuff to .mailmap
Claire Xenia Wolf [Mon, 7 Jun 2021 22:20:55 +0000 (00:20 +0200)]
Add claire deadname stuff to .mailmap

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agosv: support tasks and functions within packages
Zachary Snow [Thu, 27 May 2021 20:47:02 +0000 (16:47 -0400)]
sv: support tasks and functions within packages

3 years agokernel/mem: Recognize some deprecated memory port configs.
Marcelina Kościelnicka [Mon, 31 May 2021 23:48:35 +0000 (01:48 +0200)]
kernel/mem: Recognize some deprecated memory port configs.

Transparency is meaningless for asynchronous ports, so we assume
transparent == false to simplify the code in this case.  Likewise,
enable is meaningless, and we assume it is const-1.  However,
turns out that nMigen emits the former, and Verilog frontend emits
the latter, so squash these issues when ingesting a $memrd cell.

Fixes #2811.

3 years agomemory_map: Improve start_offset handling.
Marcelina Kościelnicka [Mon, 31 May 2021 13:53:18 +0000 (15:53 +0200)]
memory_map: Improve start_offset handling.

Fixes #2775.

3 years agomemory_share: Add read port merging.
Marcelina Kościelnicka [Sun, 25 Oct 2020 23:44:37 +0000 (00:44 +0100)]
memory_share: Add read port merging.

This is mostly meant for wide port recognition, but may also happen to
merge some ports with compatible initial/reset values (eg. 0 vs x).

3 years agomemory_share: Improve sat-based port sharing.
Marcelina Kościelnicka [Mon, 26 Oct 2020 02:20:57 +0000 (03:20 +0100)]
memory_share: Improve sat-based port sharing.

3 years agoMake a few passes auto-call Mem::narrow instead of rejecting wide ports.
Marcelina Kościelnicka [Thu, 27 May 2021 21:43:25 +0000 (23:43 +0200)]
Make a few passes auto-call Mem::narrow instead of rejecting wide ports.

This essentially adds wide port support for free in passes that don't
have a usefully better way of handling wide ports than just breaking
them up to narrow ports, avoiding "please run memory_narrow" annoyance.

3 years agobackends/verilog: Add support for memory read port reset and init value.
Marcelina Kościelnicka [Thu, 27 May 2021 15:50:59 +0000 (17:50 +0200)]
backends/verilog: Add support for memory read port reset and init value.

3 years agobackends/verilog: Add wide port support.
Marcelina Kościelnicka [Tue, 25 May 2021 23:18:29 +0000 (01:18 +0200)]
backends/verilog: Add wide port support.

3 years agomemory_share: Improve same-address merging, recognize wide write ports.
Marcelina Kościelnicka [Sun, 25 Oct 2020 22:01:59 +0000 (23:01 +0100)]
memory_share: Improve same-address merging, recognize wide write ports.

3 years agokernel/mem: Add helpers for write port widening.
Marcelina Kościelnicka [Wed, 26 May 2021 01:07:51 +0000 (03:07 +0200)]
kernel/mem: Add helpers for write port widening.

3 years agokernel/mem: Add sub_addr helpers.
Marcelina Kościelnicka [Wed, 26 May 2021 00:49:50 +0000 (02:49 +0200)]
kernel/mem: Add sub_addr helpers.

3 years agokernel/mem: Add prepare_wr_merge helper.
Marcelina Kościelnicka [Wed, 26 May 2021 00:06:44 +0000 (02:06 +0200)]
kernel/mem: Add prepare_wr_merge helper.

3 years agobackends/verilog: Try to preserve mem write port priorities.
Marcelina Kościelnicka [Tue, 25 May 2021 20:37:03 +0000 (22:37 +0200)]
backends/verilog: Try to preserve mem write port priorities.

3 years agomem/extract_rdff: Fix "no FF made" edge case.
Marcelina Kościelnicka [Tue, 25 May 2021 20:39:50 +0000 (22:39 +0200)]
mem/extract_rdff: Fix "no FF made" edge case.

When converting a sync transparent read port with const address to async
read port, nothing at all needs to be done other than clk_enable change,
and thus we have no FF cell to return.  Handle this case correctly in
the helper and in its users.

3 years agomemory_bram: Reuse extract_rdff helper for make_outreg.
Marcelina Kościelnicka [Tue, 25 May 2021 17:31:53 +0000 (19:31 +0200)]
memory_bram: Reuse extract_rdff helper for make_outreg.

Also properly skip read ports with init value or reset when not making
use of make_outreg.  Proper support for matching those will land later.

3 years agoverilog: fix case expression sign and width handling
Zachary Snow [Thu, 25 Mar 2021 18:06:05 +0000 (14:06 -0400)]
verilog: fix case expression sign and width handling

- The case expression and case item expressions are extended to the
  maximum width among them, and are only interpreted as signed if all of
  them are signed
- Add overall width and sign detection for AST_CASE
- Add sign argument to genWidthRTLIL helper
- Coverage for both const and non-const case statements

3 years agosv: support remaining assignment operators
Zachary Snow [Sat, 27 Mar 2021 19:59:48 +0000 (15:59 -0400)]
sv: support remaining assignment operators

- Add support for: *=, /=, %=, <<=, >>=, <<<=, >>>=
- Unify existing support for: +=, -=, &=, |=, ^=

3 years agomem/extract_rdff: Add alternate transparency handling.
Marcelina Kościelnicka [Tue, 25 May 2021 18:42:34 +0000 (20:42 +0200)]
mem/extract_rdff: Add alternate transparency handling.

When extracting read register from a transparent port that has an
enable, reset, or initial value, the usual trick of putting a register
on the address instead of data doesn't work.  In this case, create soft
transparency logic instead.

When transparency masks land, this will also be used to handle ports
that are transparent to only a subset of write ports.

3 years agoopt_mem: Add reset/init value support.
Marcelina Kościelnicka [Tue, 25 May 2021 16:49:17 +0000 (18:49 +0200)]
opt_mem: Add reset/init value support.

3 years agokernel/mem: Add model support for read port init value and resets.
Marcelina Kościelnicka [Sat, 22 May 2021 15:18:59 +0000 (17:18 +0200)]
kernel/mem: Add model support for read port init value and resets.

Like wide port support, this is still completely unusable, and support
in various passes will be gradually added later.  It also has no support
at all in the cell library, so attempting to create a read port with
a reset or initial value will cause an assert failure for now.

3 years agomem/extract_rdff: Fix wire naming and wide port support.
Marcelina Kościelnicka [Tue, 25 May 2021 13:48:52 +0000 (15:48 +0200)]
mem/extract_rdff: Fix wire naming and wide port support.

3 years agomemory_bram: Respect write port priority.
Marcelina Kościelnicka [Tue, 25 May 2021 13:34:12 +0000 (15:34 +0200)]
memory_bram: Respect write port priority.

3 years agoopt_mem_feedback: Respect write port priority.
Marcelina Kościelnicka [Tue, 25 May 2021 13:17:29 +0000 (15:17 +0200)]
opt_mem_feedback: Respect write port priority.

3 years agokernel/mem: Add emulate_priority helper.
Marcelina Kościelnicka [Tue, 25 May 2021 00:56:35 +0000 (02:56 +0200)]
kernel/mem: Add emulate_priority helper.

3 years agoAdd memory_narrow pass.
Marcelina Kościelnicka [Tue, 25 May 2021 00:12:55 +0000 (02:12 +0200)]
Add memory_narrow pass.

3 years agomemory_share: Add wide port support.
Marcelina Kościelnicka [Mon, 24 May 2021 23:55:44 +0000 (01:55 +0200)]
memory_share: Add wide port support.

3 years agoopt_mem_feedback: Add wide port support.
Marcelina Kościelnicka [Mon, 24 May 2021 23:52:52 +0000 (01:52 +0200)]
opt_mem_feedback: Add wide port support.

3 years agomemory_map: Add wide port support.
Marcelina Kościelnicka [Mon, 24 May 2021 14:35:25 +0000 (16:35 +0200)]
memory_map: Add wide port support.

3 years agosim: Add wide port support.
Marcelina Kościelnicka [Mon, 24 May 2021 23:12:19 +0000 (01:12 +0200)]
sim: Add wide port support.

3 years agoReject wide ports in some passes that will never support them.
Marcelina Kościelnicka [Sat, 22 May 2021 16:18:50 +0000 (18:18 +0200)]
Reject wide ports in some passes that will never support them.

3 years agokernel/mem: Add a Mem::narrow helper to split up wide ports.
Marcelina Kościelnicka [Mon, 24 May 2021 22:58:17 +0000 (00:58 +0200)]
kernel/mem: Add a Mem::narrow helper to split up wide ports.

3 years agokernel/mem: Emit support for wide ports in packed mode.
Marcelina Kościelnicka [Mon, 24 May 2021 22:49:52 +0000 (00:49 +0200)]
kernel/mem: Emit support for wide ports in packed mode.

Since the packed cell doesn't actually support wide ports yet, we just
auto-narrow them on emit.  The future packed cell will add
RD_WIDE_CONTINUATION and WR_WIDE_CONTINUATION parameters so the
transform will be trivially reversible for proper serialization.

3 years agokernel/mem: Add model for wide ports.
Marcelina Kościelnicka [Sat, 22 May 2021 14:48:46 +0000 (16:48 +0200)]
kernel/mem: Add model for wide ports.

Such ports cannot actually be created or used yet, this just adds the
necessary plumbing in the helper.  Subsequent commits will gradually
add wide port support to various yosys passes.

3 years agokernel/mem: Add priority_mask to model.
Marcelina Kościelnicka [Sat, 22 May 2021 15:00:20 +0000 (17:00 +0200)]
kernel/mem: Add priority_mask to model.

This is going to be used to store arbitrary priority masks in the
future.  Right now, it is not supported by our cell library, so the
priority_mask is computed from port order on helper construction,
and discarded when emitted.  However, this allows us to already convert
helper-using passes to the new model.

3 years agoopt_mem_feedback: Rewrite feedback path finding logic.
Marcelina Kościelnicka [Mon, 24 May 2021 19:21:51 +0000 (21:21 +0200)]
opt_mem_feedback: Rewrite feedback path finding logic.

Fixes #2766.

3 years agoopt_mem_feedback: Convert to Mem helpers.
Marcelina Kościelnicka [Sun, 23 May 2021 15:20:55 +0000 (17:20 +0200)]
opt_mem_feedback: Convert to Mem helpers.

3 years agohashlib: Add a hash for bool.
Marcelina Kościelnicka [Mon, 24 May 2021 19:27:29 +0000 (21:27 +0200)]
hashlib: Add a hash for bool.

3 years agoAdd a .mailmap file.
Marcelina Kościelnicka [Mon, 24 May 2021 15:37:29 +0000 (17:37 +0200)]
Add a .mailmap file.

3 years agoMerge pull request #2779 from YosysHQ/mwk/nuke-travis
Miodrag Milanović [Mon, 24 May 2021 15:24:01 +0000 (17:24 +0200)]
Merge pull request #2779 from YosysHQ/mwk/nuke-travis

Remove Travis CI.

3 years agoRemove Travis CI.
Marcelina Kościelnicka [Mon, 24 May 2021 15:18:03 +0000 (17:18 +0200)]
Remove Travis CI.

It has been replaced by GitHub Actions, and travis-ci.org is shutting
down in a few days anyway.

3 years agobackend/firrtl: Convert to use Mem helpers.
Marcelina Kościelnicka [Sun, 23 May 2021 22:41:31 +0000 (00:41 +0200)]
backend/firrtl: Convert to use Mem helpers.

3 years agogithub actions: Test on several gcc and clang versions on Linux.
Marcelina Kościelnicka [Sun, 23 May 2021 19:20:04 +0000 (21:20 +0200)]
github actions: Test on several gcc and clang versions on Linux.

Fixes #2776.

3 years agomemory_share: Use Mem helpers.
Marcelina Kościelnicka [Sun, 23 May 2021 15:20:51 +0000 (17:20 +0200)]
memory_share: Use Mem helpers.

3 years agoextract_rdff: Add initvals parameter.
Marcelina Kościelnicka [Sun, 23 May 2021 16:29:44 +0000 (18:29 +0200)]
extract_rdff: Add initvals parameter.

This is not used yet, but will be needed when read port reset/initial
value support lands.

3 years agobtor: Use is_mem_cell in one more place.
Marcelina Kościelnicka [Sun, 23 May 2021 16:08:34 +0000 (18:08 +0200)]
btor: Use is_mem_cell in one more place.

3 years agomemory_share: Split off feedback path finding as a separate pass.
Marcelina Kościelnicka [Sun, 23 May 2021 13:42:51 +0000 (15:42 +0200)]
memory_share: Split off feedback path finding as a separate pass.

memory_share is actually three passes in a trenchcoat.  Split off the
one that has the least in common with the other two as a separate pass.

3 years agoAdd new helper class for merging FFs into cells, use for memory_dff.
Marcelina Kościelnicka [Mon, 15 Mar 2021 14:38:45 +0000 (15:38 +0100)]
Add new helper class for merging FFs into cells, use for memory_dff.

Fixes #1854.

3 years agoopt_mem: Remove write ports with const-0 EN.
Marcelina Kościelnicka [Sat, 22 May 2021 18:27:51 +0000 (20:27 +0200)]
opt_mem: Remove write ports with const-0 EN.

Fixes #2765.

3 years agomemory_memx: Use Mem helper.
Marcelina Kościelnicka [Sat, 22 May 2021 18:19:00 +0000 (20:19 +0200)]
memory_memx: Use Mem helper.

3 years agokernel/rtlil: Extract some helpers for checking memory cell types.
Marcelina Kościelnicka [Sat, 22 May 2021 17:14:13 +0000 (19:14 +0200)]
kernel/rtlil: Extract some helpers for checking memory cell types.

There will soon be more (versioned) memory cells, so handle passes that
only care if a cell is memory-related by a simple helper call instead of
a hardcoded list.

3 years agokernel/mem: Add a check() function.
Marcelina Kościelnicka [Sat, 22 May 2021 14:36:50 +0000 (16:36 +0200)]
kernel/mem: Add a check() function.

3 years agokernel/mem: defer port removal to emit()
Marcelina Kościelnicka [Sat, 22 May 2021 14:10:18 +0000 (16:10 +0200)]
kernel/mem: defer port removal to emit()

3 years agomemory_dff: Use Mem helper.
Marcelina Kościelnicka [Fri, 23 Oct 2020 15:48:00 +0000 (17:48 +0200)]
memory_dff: Use Mem helper.

3 years agoRun VS build on PRs and each push
Miodrag Milanović [Thu, 20 May 2021 17:21:34 +0000 (19:21 +0200)]
Run VS build on PRs and each push

3 years agoBump version
Marcelina Kościelnicka [Thu, 20 May 2021 10:50:32 +0000 (12:50 +0200)]
Bump version

3 years agotests/blif: Add missing gitignore
Marcelina Kościelnicka [Thu, 20 May 2021 10:49:51 +0000 (12:49 +0200)]
tests/blif: Add missing gitignore

3 years agoVisual Studio build action
Miodrag Milanovic [Mon, 17 May 2021 08:24:30 +0000 (10:24 +0200)]
Visual Studio build action

3 years agointel_alm: Fix illegal carry chains
gatecat [Sat, 15 May 2021 13:40:37 +0000 (14:40 +0100)]
intel_alm: Fix illegal carry chains

Signed-off-by: gatecat <gatecat@ds0.me>
3 years agointel_alm: Add global buffer insertion
gatecat [Sat, 15 May 2021 13:34:48 +0000 (14:34 +0100)]
intel_alm: Add global buffer insertion

Signed-off-by: gatecat <gatecat@ds0.me>
3 years agointel_alm: Add IO buffer insertion
gatecat [Sat, 15 May 2021 13:23:22 +0000 (14:23 +0100)]
intel_alm: Add IO buffer insertion

Signed-off-by: gatecat <gatecat@ds0.me>
3 years agoChange the type of current_module to Module
Rupert Swarbrick [Mon, 20 Apr 2020 13:41:55 +0000 (14:41 +0100)]
Change the type of current_module to Module

The current_module global is needed so that genRTLIL has somewhere to
put cells and wires that it generates as it makes sense of expressions
that it sees. However, that doesn't actually need to be an AstModule:
the Module base class is enough.

This patch should cause no functional change, but the point is that
it's now possible to call genRTLIL with a module that isn't an
AstModule as "current_module". This will be needed for 'bind' support.

3 years agoUse range-based for loop in AST::process
Rupert Swarbrick [Mon, 20 Apr 2020 15:24:57 +0000 (16:24 +0100)]
Use range-based for loop in AST::process

No functional change: just get rid of the explicit iterator and
replace (*it)-> with child->. It's even the same number of characters,
but is hopefully a little easier to read.

3 years agoAdd missing parameters for MULT18X18D and ALU54B to ECP5 techlib.
Adam Greig [Wed, 27 Jan 2021 18:51:19 +0000 (18:51 +0000)]
Add missing parameters for MULT18X18D and ALU54B to ECP5 techlib.

3 years agosv: check validity of package end label
Zachary Snow [Mon, 10 May 2021 15:06:02 +0000 (11:06 -0400)]
sv: check validity of package end label

3 years agoblif: Use library cells' start_offset and upto for wideports.
Marcelina Kościelnicka [Wed, 5 May 2021 18:31:27 +0000 (20:31 +0200)]
blif: Use library cells' start_offset and upto for wideports.

Fixes #2729.

3 years agoconnect: Add -assert option, fix non-working sigmap.
Marcelina Kościelnicka [Wed, 5 May 2021 18:32:07 +0000 (20:32 +0200)]
connect: Add -assert option, fix non-working sigmap.

Should be useful for writing tests.

3 years agoopt_dff: Fix NOT gates wired in reverse.
Marcelina Kościelnicka [Tue, 4 May 2021 17:14:24 +0000 (19:14 +0200)]
opt_dff: Fix NOT gates wired in reverse.

3 years agoMerge pull request #2738 from mdko/xilinx-blif
Miodrag Milanović [Tue, 27 Apr 2021 09:46:41 +0000 (11:46 +0200)]
Merge pull request #2738 from mdko/xilinx-blif

Fix use of blif name in synth_xilinx command

3 years agoFix use of blif name in synth_xilinx command
Michael Christensen [Tue, 27 Apr 2021 09:29:52 +0000 (02:29 -0700)]
Fix use of blif name in synth_xilinx command

3 years agoMerge pull request #2737 from YosysHQ/claire/fix2736
Claire Xen [Mon, 26 Apr 2021 15:54:30 +0000 (17:54 +0200)]
Merge pull request #2737 from YosysHQ/claire/fix2736

Remove duplicates from conns array in JSON front-end, fixes #2736

3 years agoRemove duplicates from conns array in JSON front-end, fixes #2736
Claire Xenia Wolf [Mon, 26 Apr 2021 14:31:44 +0000 (16:31 +0200)]
Remove duplicates from conns array in JSON front-end, fixes #2736

3 years agoMerge pull request #2669 from YosysHQ/claire/ice40defaults
Claire Xen [Wed, 21 Apr 2021 10:24:07 +0000 (12:24 +0200)]
Merge pull request #2669 from YosysHQ/claire/ice40defaults

Add input default assignments to iCE40 cell library

3 years agoAdd default assignments to other SB_* simulation models
Claire Xenia Wolf [Tue, 20 Apr 2021 16:52:36 +0000 (18:52 +0200)]
Add default assignments to other SB_* simulation models

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>