yosys.git
2 years agoBump version
github-actions[bot] [Wed, 15 Dec 2021 00:59:04 +0000 (00:59 +0000)]
Bump version

2 years agoMerge pull request #3111 from whitequark/issue-3110
Catherine [Tue, 14 Dec 2021 21:25:06 +0000 (21:25 +0000)]
Merge pull request #3111 from whitequark/issue-3110

Fix null pointer dereference after failing to extract DFF from memory

2 years agoHotfix for run_shell auto-detection
Claire Xenia Wolf [Tue, 14 Dec 2021 20:38:58 +0000 (21:38 +0100)]
Hotfix for run_shell auto-detection

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoFix null pointer dereference after failing to extract DFF from memory.
Catherine [Tue, 14 Dec 2021 16:27:37 +0000 (16:27 +0000)]
Fix null pointer dereference after failing to extract DFF from memory.

Fixes #3110.

2 years agoBump version
github-actions[bot] [Tue, 14 Dec 2021 00:59:10 +0000 (00:59 +0000)]
Bump version

2 years agoMerge pull request #3108 from YosysHQ/claire/verificdefs
Claire Xen [Mon, 13 Dec 2021 21:03:29 +0000 (22:03 +0100)]
Merge pull request #3108 from YosysHQ/claire/verificdefs

Add YOSYS to the implicitly defined verilog macros in verific

2 years agoAdd YOSYS to the implicitly defined verilog macros in verific
Claire Xenia Wolf [Mon, 13 Dec 2021 17:20:08 +0000 (18:20 +0100)]
Add YOSYS to the implicitly defined verilog macros in verific

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoBump version
github-actions[bot] [Mon, 13 Dec 2021 00:55:45 +0000 (00:55 +0000)]
Bump version

2 years agoAdd clean_zerowidth pass, use it for Verilog output.
Marcelina Kościelnicka [Sat, 11 Dec 2021 15:07:29 +0000 (16:07 +0100)]
Add clean_zerowidth pass, use it for Verilog output.

This should remove instances of zero-width sigspecs in the netlist,
avoiding problems in the Verilog backend with emitting them.

See #3103.

2 years agoMerge pull request #3105 from whitequark/cxxrtl-reset-memories-2
Catherine [Sun, 12 Dec 2021 01:23:03 +0000 (01:23 +0000)]
Merge pull request #3105 from whitequark/cxxrtl-reset-memories-2

cxxrtl: preserve interior memory pointers across reset

2 years agoBump version
github-actions[bot] [Sun, 12 Dec 2021 01:12:53 +0000 (01:12 +0000)]
Bump version

2 years agoFix unused param warning with ENABLE_NDEBUG.
Marcelina Kościelnicka [Sat, 11 Dec 2021 16:17:43 +0000 (17:17 +0100)]
Fix unused param warning with ENABLE_NDEBUG.

2 years agortlil: Dump empty connections when whole module is selected.
Marcelina Kościelnicka [Sat, 11 Dec 2021 15:53:54 +0000 (16:53 +0100)]
rtlil: Dump empty connections when whole module is selected.

Without this, empty connections will be always skipped by `dump`, since
they contain no selected wires.  This makes debugging rather confusing.

2 years agocxxrtl: preserve interior memory pointers across reset.
Catherine [Sat, 11 Dec 2021 15:38:43 +0000 (15:38 +0000)]
cxxrtl: preserve interior memory pointers across reset.

Before this commit, values, wires, and memories with an initializer
were value-initialized in emitted C++ code. After this commit, all
values, wires, and memories are default-initialized, and the default
constructor of generated modules calls the reset() method, which
assigns the members that have an initializer.

2 years agoMerge pull request #3103 from whitequark/write_verilog-more-zero-width-values
Catherine [Sat, 11 Dec 2021 16:24:47 +0000 (16:24 +0000)]
Merge pull request #3103 from whitequark/write_verilog-more-zero-width-values

write_verilog: dump zero width sigspecs correctly

2 years agocxxrtl: use unique_ptr<value<>[]> to store memory contents.
whitequark [Sun, 20 Dec 2020 17:17:37 +0000 (17:17 +0000)]
cxxrtl: use unique_ptr<value<>[]> to store memory contents.

This makes the depth properly immutable.

2 years agowrite_verilog: dump zero width sigspecs correctly.
whitequark [Sat, 11 Dec 2021 12:01:52 +0000 (12:01 +0000)]
write_verilog: dump zero width sigspecs correctly.

Before this commit, zero width sigspecs were dumped as "" (empty
string). Unfortunately, 1364-2005 5.2.3.3 indicates that an empty
string is equivalent to "\0", and is 8 bits wide, so that's wrong.

After this commit, a replication operation with a count of zero is
used instead, which is explicitly permitted per 1364-2005 5.1.14,
and is defined to have size zero. (Its operand has to have a non-zero
size for it to be legal, though.)

PR #1203 has addressed this issue before, but in an incomplete way.

2 years agoBump version
github-actions[bot] [Sat, 11 Dec 2021 00:54:59 +0000 (00:54 +0000)]
Bump version

2 years agoMerge pull request #3102 from YosysHQ/claire/enumxz
Miodrag Milanović [Fri, 10 Dec 2021 18:36:37 +0000 (19:36 +0100)]
Merge pull request #3102 from YosysHQ/claire/enumxz

Fix verific import of enum values with x and/or z

2 years agoFix verific import of enum values with x and/or z
Claire Xenia Wolf [Fri, 10 Dec 2021 13:52:27 +0000 (14:52 +0100)]
Fix verific import of enum values with x and/or z

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoMerge pull request #3097 from YosysHQ/modport
Miodrag Milanović [Fri, 10 Dec 2021 13:32:14 +0000 (14:32 +0100)]
Merge pull request #3097 from YosysHQ/modport

If direction NONE use that from first bit

2 years agoUpdate verific.cc
Claire Xen [Fri, 10 Dec 2021 13:27:18 +0000 (14:27 +0100)]
Update verific.cc

Ad-hoc fixes/improvements

2 years agoMerge pull request #3099 from YosysHQ/claire/readargs
Claire Xen [Fri, 10 Dec 2021 10:23:53 +0000 (11:23 +0100)]
Merge pull request #3099 from YosysHQ/claire/readargs

Use "read" command to parse HDL files from Yosys command-line

2 years agoFix the tests we just broke
Claire Xenia Wolf [Thu, 9 Dec 2021 23:22:37 +0000 (00:22 +0100)]
Fix the tests we just broke

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoAdded "yosys -r <topmodule>"
Claire Xenia Wolf [Thu, 9 Dec 2021 21:24:58 +0000 (22:24 +0100)]
Added "yosys -r <topmodule>"

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoUse "read" command to parse HDL files from Yosys command-line
Claire Xenia Wolf [Thu, 9 Dec 2021 09:33:55 +0000 (10:33 +0100)]
Use "read" command to parse HDL files from Yosys command-line

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoBump version
github-actions[bot] [Thu, 9 Dec 2021 00:55:26 +0000 (00:55 +0000)]
Bump version

2 years agoopt_mem_priority: Fix non-ascii char in help message.
Marcelina Kościelnicka [Wed, 8 Dec 2021 22:23:03 +0000 (23:23 +0100)]
opt_mem_priority: Fix non-ascii char in help message.

This is a fixed version of #3072.

2 years agoIf direction NONE use that from first bit
Miodrag Milanovic [Wed, 8 Dec 2021 10:50:10 +0000 (11:50 +0100)]
If direction NONE use that from first bit

2 years agoBump version
github-actions[bot] [Sat, 4 Dec 2021 00:54:12 +0000 (00:54 +0000)]
Bump version

2 years agoNext dev cycle
Miodrag Milanovic [Fri, 3 Dec 2021 11:51:34 +0000 (12:51 +0100)]
Next dev cycle

2 years agoRelease version 0.12 yosys-0.12
Miodrag Milanovic [Fri, 3 Dec 2021 11:48:49 +0000 (12:48 +0100)]
Release version 0.12

2 years agoUpdate manual
Miodrag Milanovic [Fri, 3 Dec 2021 08:57:14 +0000 (09:57 +0100)]
Update manual

2 years agoAdd gitignore for gatemate
Miodrag Milanovic [Fri, 3 Dec 2021 08:56:37 +0000 (09:56 +0100)]
Add gitignore for gatemate

2 years agoMake sure cell names are unique for wide operators
Miodrag Milanovic [Fri, 3 Dec 2021 08:49:05 +0000 (09:49 +0100)]
Make sure cell names are unique for wide operators

2 years agoBump version
github-actions[bot] [Thu, 2 Dec 2021 00:54:50 +0000 (00:54 +0000)]
Bump version

2 years agoUpdate CHANGELOG and CODEOWNERS
Miodrag Milanovic [Wed, 1 Dec 2021 07:42:37 +0000 (08:42 +0100)]
Update CHANGELOG and CODEOWNERS

2 years agoBump version
github-actions[bot] [Fri, 26 Nov 2021 00:52:41 +0000 (00:52 +0000)]
Bump version

2 years agointel_alm: preliminary Arria V support
Lofty [Wed, 24 Nov 2021 21:20:40 +0000 (21:20 +0000)]
intel_alm: preliminary Arria V support

2 years agosta: very crude static timing analysis pass
Lofty [Wed, 24 Nov 2021 21:21:08 +0000 (21:21 +0000)]
sta: very crude static timing analysis pass

Co-authored-by: Eddie Hung <eddie@fpgeh.com>
2 years agoBump version
github-actions[bot] [Thu, 18 Nov 2021 00:54:02 +0000 (00:54 +0000)]
Bump version

2 years agoMerge pull request #3080 from YosysHQ/micko/init_wire
Miodrag Milanović [Wed, 17 Nov 2021 12:57:56 +0000 (13:57 +0100)]
Merge pull request #3080 from YosysHQ/micko/init_wire

Give initial wire unique ID, fixes #2914

2 years agoGive initial wire unique ID, fixes #2914
Miodrag Milanovic [Wed, 17 Nov 2021 11:19:06 +0000 (12:19 +0100)]
Give initial wire unique ID, fixes #2914

2 years agoBump version
github-actions[bot] [Wed, 17 Nov 2021 00:53:07 +0000 (00:53 +0000)]
Bump version

2 years agoSupport parameters using struct as a wiretype (#3050)
Kamil Rakoczy [Tue, 16 Nov 2021 09:59:54 +0000 (10:59 +0100)]
Support parameters using struct as a wiretype (#3050)

Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2 years agoBump version
github-actions[bot] [Sun, 14 Nov 2021 00:54:56 +0000 (00:54 +0000)]
Bump version

2 years agosynth_gatemate Revert cascade A/B port mixup
Patrick Urban [Fri, 12 Nov 2021 07:47:15 +0000 (08:47 +0100)]
synth_gatemate Revert cascade A/B port  mixup

2 years agosynth_gatemate: Remove iob_map invokation
Patrick Urban [Wed, 10 Nov 2021 17:46:07 +0000 (18:46 +0100)]
synth_gatemate: Remove iob_map invokation

2 years agosynth_gatemate: Add block RAM cascade support
Patrick Urban [Wed, 10 Nov 2021 15:18:13 +0000 (16:18 +0100)]
synth_gatemate: Add block RAM cascade support

* add simulation model for block RAM cascade in 40K mode
* limit 20K_SDP and 40K_SDP to 40 and 80 bits (the only useful configurations)

2 years agosynth_gatemate: Remove obsolete iob_map
Patrick Urban [Wed, 10 Nov 2021 14:44:54 +0000 (15:44 +0100)]
synth_gatemate: Remove obsolete iob_map

2 years agosynth_gatemate: Update pass
Patrick Urban [Mon, 25 Oct 2021 09:10:00 +0000 (11:10 +0200)]
synth_gatemate: Update pass

* remove `write_edif` and `write_blif` options
* remove redundant `abc` call before muxcover
* update style

2 years agosynth_gatemate: Remove specify blocks
Patrick Urban [Wed, 20 Oct 2021 07:24:01 +0000 (09:24 +0200)]
synth_gatemate: Remove specify blocks

2 years agosynth_gatemate: Remove gatemate_bramopt pass
Patrick Urban [Wed, 20 Oct 2021 07:07:01 +0000 (09:07 +0200)]
synth_gatemate: Remove gatemate_bramopt pass

2 years agosynth_gatemate: Apply new test practice with assert-max
Patrick Urban [Mon, 18 Oct 2021 08:46:18 +0000 (10:46 +0200)]
synth_gatemate: Apply new test practice with assert-max

2 years agosynth_gatemate: Fix fsm test
Patrick Urban [Mon, 11 Oct 2021 08:31:03 +0000 (10:31 +0200)]
synth_gatemate: Fix fsm test

2 years agosynth_gatemate: Revise block RAM read modes and initialization
Patrick Urban [Mon, 11 Oct 2021 08:19:29 +0000 (10:19 +0200)]
synth_gatemate: Revise block RAM read modes and initialization

* enable mixed read-width / write-width ports in SDP mode
* fix NO_CHANGE and WRITE_THROUGH behavior during read access
* remove redundant zero-initialization
* set A/B_WE bit during map (gatemate_bramopt pass could be removed later)
* differentiate "upper" and "lower" initialization for cascade mode

2 years agosynth_gatemate: Remove unsupported FF initialization
Patrick Urban [Mon, 11 Oct 2021 06:56:18 +0000 (08:56 +0200)]
synth_gatemate: Remove unsupported FF initialization

2 years agosynth_gatemate: Rename multiplier factor parameters
Patrick Urban [Fri, 24 Sep 2021 19:53:39 +0000 (21:53 +0200)]
synth_gatemate: Rename multiplier factor parameters

2 years agosynth_gatemate: Registers are uninitialized
Patrick Urban [Fri, 24 Sep 2021 19:52:09 +0000 (21:52 +0200)]
synth_gatemate: Registers are uninitialized

2 years agoAllow initial blocks to be disabled during tests
Patrick Urban [Fri, 24 Sep 2021 19:50:26 +0000 (21:50 +0200)]
Allow initial blocks to be disabled during tests

Wrap initial blocks with a NO_INIT so that tests for archs without register initialization feature don't fail.

2 years agosynth_gatemate: Apply review remarks
Patrick Urban [Fri, 24 Sep 2021 14:00:59 +0000 (16:00 +0200)]
synth_gatemate: Apply review remarks

* remove unused techmap models in `map_regs.v`
* replace RAM initilization loops with 320-bit-writes
* add script to test targets in top-level Makefile
* remove `MAXWIDTH` parameter and treat both vector widths individually in `mult_map.v`
* iterate over all modules in `gatemate_bramopt` pass

2 years agosynth_gatemate: Apply review remarks
Patrick Urban [Tue, 14 Sep 2021 13:10:32 +0000 (15:10 +0200)]
synth_gatemate: Apply review remarks

2 years agosynth_gatemate: Initial implementation
Patrick Urban [Mon, 13 Sep 2021 15:16:15 +0000 (17:16 +0200)]
synth_gatemate: Initial implementation

Signed-off-by: Patrick Urban <patrick.urban@web.de>
2 years agoBump version
github-actions[bot] [Sat, 13 Nov 2021 00:52:01 +0000 (00:52 +0000)]
Bump version

2 years agoshow: Fix wire bit indexing.
Marcelina Kościelnicka [Fri, 12 Nov 2021 10:55:47 +0000 (11:55 +0100)]
show: Fix wire bit indexing.

Fixes #3078.

2 years agoupdate abc
Miodrag Milanovic [Fri, 12 Nov 2021 11:40:24 +0000 (12:40 +0100)]
update abc

2 years agoUpdate abc
Miodrag Milanovic [Fri, 12 Nov 2021 08:00:32 +0000 (09:00 +0100)]
Update abc

2 years agoBump version
github-actions[bot] [Thu, 11 Nov 2021 00:54:18 +0000 (00:54 +0000)]
Bump version

2 years agoMerge pull request #3075 from YosysHQ/micko/verific_mem_size
Claire Xen [Wed, 10 Nov 2021 19:24:00 +0000 (20:24 +0100)]
Merge pull request #3075 from YosysHQ/micko/verific_mem_size

No need to allocate more memory than used

2 years agoMerge pull request #3077 from YosysHQ/claire/genlib
Claire Xen [Wed, 10 Nov 2021 19:02:34 +0000 (20:02 +0100)]
Merge pull request #3077 from YosysHQ/claire/genlib

Add genlib support to ABC command

2 years agoSpelling fix in abc.cc
Claire Xen [Wed, 10 Nov 2021 15:47:54 +0000 (16:47 +0100)]
Spelling fix in abc.cc

2 years agoAdd genlib support to ABC command
Claire Xenia Wolf [Wed, 10 Nov 2021 15:40:47 +0000 (16:40 +0100)]
Add genlib support to ABC command

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2 years agoiopadmap: Fix ebmarassing typo
Marcelina Kościelnicka [Wed, 10 Nov 2021 13:55:28 +0000 (14:55 +0100)]
iopadmap: Fix ebmarassing typo

2 years agoNo need to alocate more memory than used
Miodrag Milanovic [Wed, 10 Nov 2021 09:50:44 +0000 (10:50 +0100)]
No need to alocate more memory than used

2 years agoBump version
github-actions[bot] [Wed, 10 Nov 2021 00:54:39 +0000 (00:54 +0000)]
Bump version

2 years agogenrtlil: Fix displaying debug info in packages
Kamil Rakoczy [Wed, 20 Oct 2021 07:07:22 +0000 (09:07 +0200)]
genrtlil: Fix displaying debug info in packages

Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2 years agoiopadmap: Add native support for negative-polarity output enable.
Marcelina Kościelnicka [Tue, 9 Nov 2021 10:22:48 +0000 (11:22 +0100)]
iopadmap: Add native support for negative-polarity output enable.

2 years agoBump version
github-actions[bot] [Tue, 9 Nov 2021 00:53:27 +0000 (00:53 +0000)]
Bump version

2 years agoUpdate CODEOWNERS
Miodrag Milanović [Mon, 8 Nov 2021 15:59:45 +0000 (16:59 +0100)]
Update CODEOWNERS

2 years agoLimit macOS GH actions
Miodrag Milanović [Mon, 8 Nov 2021 15:56:24 +0000 (16:56 +0100)]
Limit macOS GH actions

2 years agoBump version
github-actions[bot] [Mon, 8 Nov 2021 00:53:20 +0000 (00:53 +0000)]
Bump version

2 years agosynth_gowin: move splitnets to after iopadmap (#2435)
Pepijn de Vos [Sun, 7 Nov 2021 17:00:18 +0000 (18:00 +0100)]
synth_gowin: move splitnets to after iopadmap (#2435)

2 years agomanual: fix pdflatex inputenc undefined char error
Gabriel Somlo [Sun, 7 Nov 2021 00:08:56 +0000 (20:08 -0400)]
manual: fix pdflatex inputenc undefined char error

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2 years agoRemove noalu from synth_gowin json output as Apicula now supports it
Pepijn de Vos [Sat, 6 Nov 2021 16:14:12 +0000 (17:14 +0100)]
Remove noalu from synth_gowin json output as Apicula now supports it

2 years agoBump version
github-actions[bot] [Sun, 7 Nov 2021 00:54:38 +0000 (00:54 +0000)]
Bump version

2 years agogowin: widelut support (#3042)
Pepijn de Vos [Sat, 6 Nov 2021 15:09:30 +0000 (16:09 +0100)]
gowin: widelut support (#3042)

2 years agoBump version
github-actions[bot] [Sat, 6 Nov 2021 00:51:08 +0000 (00:51 +0000)]
Bump version

2 years agoNext dev cycle
Miodrag Milanovic [Fri, 5 Nov 2021 11:52:24 +0000 (12:52 +0100)]
Next dev cycle

2 years agoRelease version 0.11 yosys-0.11
Miodrag Milanovic [Fri, 5 Nov 2021 11:47:38 +0000 (12:47 +0100)]
Release version 0.11

2 years agoMust use latest flex to generate c++17 compatible code
Miodrag Milanovic [Fri, 5 Nov 2021 10:41:51 +0000 (11:41 +0100)]
Must use latest flex to generate c++17 compatible code

2 years agoMake it work on all
Miodrag Milanovic [Fri, 5 Nov 2021 09:51:58 +0000 (10:51 +0100)]
Make it work on all

2 years agoCorrect way of setting maybe_unsused on labels
Miodrag Milanovic [Fri, 5 Nov 2021 09:36:15 +0000 (10:36 +0100)]
Correct way of setting maybe_unsused on labels

2 years agoAdd missing changelog item
Miodrag Milanovic [Fri, 5 Nov 2021 09:08:50 +0000 (10:08 +0100)]
Add missing changelog item

2 years agoUpdate command reference
Miodrag Milanovic [Fri, 5 Nov 2021 09:04:15 +0000 (10:04 +0100)]
Update command reference

2 years agoMerge pull request #3067 from YosysHQ/aki/ci_update
Miodrag Milanović [Fri, 5 Nov 2021 08:58:35 +0000 (09:58 +0100)]
Merge pull request #3067 from YosysHQ/aki/ci_update

Update the Linux and macOS CI jobs

2 years agoRemoved semicolon from macro
Miodrag Milanovic [Fri, 5 Nov 2021 08:57:37 +0000 (09:57 +0100)]
Removed semicolon from macro

2 years agoBump version
github-actions[bot] [Wed, 3 Nov 2021 00:52:24 +0000 (00:52 +0000)]
Bump version

2 years agoflatten: Keep sigmap around between flatten_cell invocations.
Marcelina Kościelnicka [Tue, 2 Nov 2021 11:38:28 +0000 (12:38 +0100)]
flatten: Keep sigmap around between flatten_cell invocations.

Fixes #3064.

2 years agoBump version
github-actions[bot] [Tue, 2 Nov 2021 00:56:31 +0000 (00:56 +0000)]
Bump version

2 years agoMerge pull request #3068 from YosysHQ/claire/verific_cfg
Claire Xen [Mon, 1 Nov 2021 11:53:47 +0000 (12:53 +0100)]
Merge pull request #3068 from YosysHQ/claire/verific_cfg

Add "verific -cfg" command