yosys.git
3 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)

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

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

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

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

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

3 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

3 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

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

3 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

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

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

3 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

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

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

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

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

3 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

3 years agoAdd "verific -cfg" command
Claire Xenia Wolf [Mon, 1 Nov 2021 09:41:51 +0000 (10:41 +0100)]
Add "verific -cfg" command

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoBump version
github-actions[bot] [Mon, 1 Nov 2021 01:05:04 +0000 (01:05 +0000)]
Bump version

3 years agoci: removed the old `test.yml` workflow, as it was replaced by `test-linux.yml` and...
Aki Van Ness [Thu, 28 Oct 2021 07:23:03 +0000 (03:23 -0400)]
ci: removed the old `test.yml` workflow, as it was replaced by `test-linux.yml` and `test-macos.yml`

3 years agoci: expanded the macOS tests suite to cover more compilers and C++ versions
Aki Van Ness [Thu, 28 Oct 2021 01:43:51 +0000 (21:43 -0400)]
ci: expanded the macOS tests suite to cover more compilers and C++ versions

3 years agoci: expanded the Linux test suite to cover more compilers and C++ versions
Aki Van Ness [Wed, 27 Oct 2021 23:18:16 +0000 (19:18 -0400)]
ci: expanded the Linux test suite to cover more compilers and C++ versions

3 years agoChanged the Makefile to have an explicit `CXXSTD` parameter which allows for the...
Aki Van Ness [Thu, 28 Oct 2021 00:02:33 +0000 (20:02 -0400)]
Changed the Makefile to have an explicit `CXXSTD` parameter which allows for the setting of other C++ standards, the default is `c++11`

3 years agoMerge pull request #3066 from YosysHQ/claire/verific_gclk
Claire Xen [Sun, 31 Oct 2021 17:04:54 +0000 (18:04 +0100)]
Merge pull request #3066 from YosysHQ/claire/verific_gclk

Fix verific gclk handling for async-load FFs

3 years agoFix verific gclk handling for async-load FFs
Claire Xenia Wolf [Sun, 31 Oct 2021 16:12:29 +0000 (17:12 +0100)]
Fix verific gclk handling for async-load FFs

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoBump version
github-actions[bot] [Sat, 30 Oct 2021 00:51:07 +0000 (00:51 +0000)]
Bump version

3 years agoAdd missing items in CHANGELOG
Miodrag Milanovic [Fri, 29 Oct 2021 11:31:41 +0000 (13:31 +0200)]
Add missing items in CHANGELOG

3 years agoUpdate command reference part of manual
Miodrag Milanovic [Fri, 29 Oct 2021 11:10:50 +0000 (13:10 +0200)]
Update command reference part of manual

3 years agoBump version
github-actions[bot] [Thu, 28 Oct 2021 00:52:35 +0000 (00:52 +0000)]
Bump version

3 years agoMerge pull request #3063 from YosysHQ/micko/verific_aldff
Miodrag Milanović [Wed, 27 Oct 2021 15:20:31 +0000 (17:20 +0200)]
Merge pull request #3063 from YosysHQ/micko/verific_aldff

Enable async load dff emit by default in Verific

3 years agoecp5: Add support for mapping aldff.
Marcelina Kościelnicka [Wed, 27 Oct 2021 12:04:21 +0000 (14:04 +0200)]
ecp5: Add support for mapping aldff.

3 years agoEnable async load dff emit by default in Verific
Miodrag Milanovic [Wed, 27 Oct 2021 13:56:56 +0000 (15:56 +0200)]
Enable async load dff emit by default in Verific

3 years agoRevert "Compile option for enabling async load verific support"
Miodrag Milanovic [Wed, 27 Oct 2021 13:55:43 +0000 (15:55 +0200)]
Revert "Compile option for enabling async load verific support"

This reverts commit b8624ad2aef941776f5b4a08f66f8d43e70f8467.

3 years agoproc_dff: Emit $aldff.
Marcelina Kościelnicka [Sat, 2 Oct 2021 00:34:13 +0000 (02:34 +0200)]
proc_dff: Emit $aldff.

3 years agodfflegalize: Add tests for aldff lowering.
Marcelina Kościelnicka [Wed, 27 Oct 2021 11:37:26 +0000 (13:37 +0200)]
dfflegalize: Add tests for aldff lowering.

3 years agodfflegalize: Add tests targetting aldff.
Marcelina Kościelnicka [Wed, 27 Oct 2021 11:14:34 +0000 (13:14 +0200)]
dfflegalize: Add tests targetting aldff.

3 years agodfflegalize: Refactor, add aldff support.
Marcelina Kościelnicka [Wed, 27 Oct 2021 08:14:07 +0000 (10:14 +0200)]
dfflegalize: Refactor, add aldff support.

3 years agoBump version
github-actions[bot] [Wed, 27 Oct 2021 00:51:44 +0000 (00:51 +0000)]
Bump version

3 years agoverilog: use derived module info to elaborate cell connections
Zachary Snow [Wed, 20 Oct 2021 00:46:26 +0000 (18:46 -0600)]
verilog: use derived module info to elaborate cell connections

- Attempt to lookup a derived module if it potentially contains a port
  connection with elaboration ambiguities
- Mark the cell if module has not yet been derived
- This can be extended to implement automatic hierarchical port
  connections in a future change

3 years agoSplit out logic for reprocessing an AstModule
Rupert Swarbrick [Wed, 20 Oct 2021 00:43:30 +0000 (18:43 -0600)]
Split out logic for reprocessing an AstModule

This will enable other features to use same core logic for replacing an
existing AstModule with a newly elaborated version.

3 years agoBump version
github-actions[bot] [Tue, 26 Oct 2021 00:51:59 +0000 (00:51 +0000)]
Bump version

3 years agoCompile option for enabling async load verific support
Miodrag Milanovic [Mon, 25 Oct 2021 07:04:43 +0000 (09:04 +0200)]
Compile option for enabling async load verific support

3 years agoBump version
github-actions[bot] [Fri, 22 Oct 2021 01:00:39 +0000 (01:00 +0000)]
Bump version

3 years agoChange implicit conversions from bool to Sig* to explicit.
Marcelina Kościelnicka [Thu, 21 Oct 2021 16:26:47 +0000 (18:26 +0200)]
Change implicit conversions from bool to Sig* to explicit.

Also fixes some completely broken code in extract_reduce.

3 years agoMerge pull request #3057 from YosysHQ/claire/verific_latches
Claire Xen [Thu, 21 Oct 2021 11:00:53 +0000 (13:00 +0200)]
Merge pull request #3057 from YosysHQ/claire/verific_latches

Initial Verific impoter support for {PRIM,WIDE_OPER}_DLATCH{,RS}

3 years agoFix verific.cc PRIM_DLATCH handling
Claire Xenia Wolf [Thu, 21 Oct 2021 10:13:35 +0000 (12:13 +0200)]
Fix verific.cc PRIM_DLATCH handling

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoInitial Verific impoter support for {PRIM,WIDE_OPER}_DLATCH{,RS}
Claire Xenia Wolf [Thu, 21 Oct 2021 03:42:47 +0000 (05:42 +0200)]
Initial Verific impoter support for {PRIM,WIDE_OPER}_DLATCH{,RS}

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoextract_reduce: Refactor and fix input signal construction.
Marcelina Kościelnicka [Thu, 21 Oct 2021 00:58:10 +0000 (02:58 +0200)]
extract_reduce: Refactor and fix input signal construction.

Fixes #3047.

3 years agoBump version
github-actions[bot] [Thu, 21 Oct 2021 00:59:29 +0000 (00:59 +0000)]
Bump version

3 years agoIf verific have vhdl lib it is required by other libs
Miodrag Milanovic [Wed, 20 Oct 2021 11:08:08 +0000 (13:08 +0200)]
If verific have vhdl lib it is required by other libs

3 years agoForgot to remove from main list
Miodrag Milanovic [Wed, 20 Oct 2021 10:37:22 +0000 (12:37 +0200)]
Forgot to remove from main list

3 years agoOption to disable verific VHDL support
Miodrag Milanovic [Wed, 20 Oct 2021 08:02:58 +0000 (10:02 +0200)]
Option to disable verific VHDL support

3 years agoBump version
github-actions[bot] [Wed, 20 Oct 2021 00:56:49 +0000 (00:56 +0000)]
Bump version

3 years agoFixed Verific parser error in ice40 cell library
Claire Xenia Wolf [Tue, 19 Oct 2021 10:33:01 +0000 (12:33 +0200)]
Fixed Verific parser error in ice40 cell library

non-net output port 'Q' cannot be initialized at declaration in SystemVerilog mode

3 years agoMerge pull request #3045 from galibert/master
Miodrag Milanović [Tue, 19 Oct 2021 09:23:57 +0000 (11:23 +0200)]
Merge pull request #3045 from galibert/master

CycloneV: Add (passthrough) support for cyclonev_hps_interface_mpu_general_purpose

3 years agoFixes in vcdcd.pl for newer Perl versions
Claire Xenia Wolf [Tue, 19 Oct 2021 08:56:43 +0000 (10:56 +0200)]
Fixes in vcdcd.pl for newer Perl versions

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoBump version
github-actions[bot] [Mon, 18 Oct 2021 00:56:23 +0000 (00:56 +0000)]
Bump version

3 years agodfflegalize: remove redundant check for initialized dlatch
Paul Annesley [Sun, 17 Oct 2021 01:56:32 +0000 (12:56 +1100)]
dfflegalize: remove redundant check for initialized dlatch

This if condition is repeated verbatim, and I can't imagine a legitimate
way the inputs could change in between. I imagine it's a copy/paste
mistake.

3 years agoCycloneV: Add (passthrough) support for cyclonev_oscillator
Olivier Galibert [Sun, 17 Oct 2021 18:00:03 +0000 (20:00 +0200)]
CycloneV: Add (passthrough) support for cyclonev_oscillator

3 years agoCycloneV: Add (passthrough) support for cyclonev_hps_interface_mpu_general_purpose
Olivier Galibert [Thu, 14 Oct 2021 14:56:10 +0000 (16:56 +0200)]
CycloneV: Add (passthrough) support for cyclonev_hps_interface_mpu_general_purpose

3 years agoBump version
github-actions[bot] [Sat, 16 Oct 2021 00:58:22 +0000 (00:58 +0000)]
Bump version

3 years agoMerge pull request #3044 from YosysHQ/micko/verific_bufif1
Claire Xen [Fri, 15 Oct 2021 14:43:25 +0000 (16:43 +0200)]
Merge pull request #3044 from YosysHQ/micko/verific_bufif1

Support PRIM_BUFIF1 primitive, fixes #2981

3 years agoSupport PRIM_BUFIF1 primitive
Miodrag Milanovic [Thu, 14 Oct 2021 11:04:32 +0000 (13:04 +0200)]
Support PRIM_BUFIF1 primitive

3 years agoBump version
github-actions[bot] [Tue, 12 Oct 2021 00:57:44 +0000 (00:57 +0000)]
Bump version

3 years agoMerge pull request #3039 from YosysHQ/claire/verific_aldff
Claire Xen [Mon, 11 Oct 2021 08:01:56 +0000 (10:01 +0200)]
Merge pull request #3039 from YosysHQ/claire/verific_aldff

Add support for $aldff flip-flops to verific importer

3 years agoAdd Verific adffe/dffsre/aldffe FIXMEs
Claire Xenia Wolf [Mon, 11 Oct 2021 08:00:20 +0000 (10:00 +0200)]
Add Verific adffe/dffsre/aldffe FIXMEs

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoMerge pull request #3040 from YosysHQ/micko/split_module_ports
Claire Xen [Mon, 11 Oct 2021 07:56:05 +0000 (09:56 +0200)]
Merge pull request #3040 from YosysHQ/micko/split_module_ports

Split module ports, 20 per line

3 years agoMerge pull request #3041 from YosysHQ/mmicko/module_attr
Claire Xen [Mon, 11 Oct 2021 07:54:28 +0000 (09:54 +0200)]
Merge pull request #3041 from YosysHQ/mmicko/module_attr

Import module attributes from Verific

3 years agoImport module attributes from Verific
Miodrag Milanovic [Sun, 10 Oct 2021 08:01:45 +0000 (10:01 +0200)]
Import module attributes from Verific

3 years agoSplit module ports, 20 per line
Miodrag Milanovic [Sat, 9 Oct 2021 11:40:55 +0000 (13:40 +0200)]
Split module ports, 20 per line

3 years agoBump version
github-actions[bot] [Sat, 9 Oct 2021 00:51:28 +0000 (00:51 +0000)]
Bump version

3 years agoFixes and add comments for open FIXME items
Claire Xenia Wolf [Fri, 8 Oct 2021 15:24:45 +0000 (17:24 +0200)]
Fixes and add comments for open FIXME items

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoAdd support for $aldff flip-flops to verific importer
Claire Xenia Wolf [Fri, 8 Oct 2021 14:21:25 +0000 (16:21 +0200)]
Add support for $aldff flip-flops to verific importer

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoFix a regression from #3035.
Marcelina Kościelnicka [Fri, 8 Oct 2021 12:51:57 +0000 (14:51 +0200)]
Fix a regression from #3035.

3 years agoBump version
github-actions[bot] [Fri, 8 Oct 2021 00:57:28 +0000 (00:57 +0000)]
Bump version

3 years agoFfData: some refactoring.
Marcelina Kościelnicka [Wed, 6 Oct 2021 20:16:55 +0000 (22:16 +0200)]
FfData: some refactoring.

- FfData now keeps track of the module and underlying cell, if any (so
  calling emit on FfData created from a cell will replace the existing cell)
- FfData implementation is split off to its own .cc file for faster
  compilation
- the "flip FF data sense by inserting inverters in front and after"
  functionality that zinit uses is moved onto FfData class and beefed up
  to have dffsr support, to support more use cases

3 years agoBump version
github-actions[bot] [Tue, 5 Oct 2021 00:53:24 +0000 (00:53 +0000)]
Bump version

3 years agoverific set db_infer_set_reset_registers
Miodrag Milanovic [Mon, 4 Oct 2021 14:48:33 +0000 (16:48 +0200)]
verific set db_infer_set_reset_registers

3 years agoBump version
github-actions[bot] [Sun, 3 Oct 2021 00:58:23 +0000 (00:58 +0000)]
Bump version

3 years agoHook up $aldff support in various passes.
Marcelina Kościelnicka [Fri, 1 Oct 2021 23:23:43 +0000 (01:23 +0200)]
Hook up $aldff support in various passes.

3 years agozinit: Refactor to use FfData.
Marcelina Kościelnicka [Fri, 1 Oct 2021 22:05:22 +0000 (00:05 +0200)]
zinit: Refactor to use FfData.

3 years agokernel/ff: Refactor FfData to enable FFs with async load.
Marcelina Kościelnicka [Fri, 1 Oct 2021 21:50:48 +0000 (23:50 +0200)]
kernel/ff: Refactor FfData to enable FFs with async load.

- *_en is split into *_ce (clock enable) and *_aload (async load aka
  latch gate enable), so both can be present at once
- has_d is removed
- has_gclk is added (to have a clear marker for $ff)
- d_is_const and val_d leftovers are removed
- async2sync, clk2fflogic, opt_dff are updated to operate correctly on
  FFs with async load

3 years agoAdd $aldff and $aldffe: flip-flops with async load.
Marcelina Kościelnicka [Fri, 1 Oct 2021 02:33:00 +0000 (04:33 +0200)]
Add $aldff and $aldffe: flip-flops with async load.

3 years agoSpecify minimum bison version 3.0+
Zachary Snow [Fri, 1 Oct 2021 20:41:11 +0000 (14:41 -0600)]
Specify minimum bison version 3.0+

Yosys works with bison 3.0 (or newer), but not bison 2.7 (the previous
release). Ideally, we would require "3" rather than "3.0" to give a
better error message, but bison 2.3, which still ships with macOS, does
not support major-only version requirements. With this change, building
with an outdated bison yields: `frontends/rtlil/rtlil_parser.y:25.10-14:
require bison 3.0, but have 2.3`.

3 years agosimplemap: refactor to use FfData.
Marcelina Kościelnicka [Fri, 1 Oct 2021 22:42:36 +0000 (00:42 +0200)]
simplemap: refactor to use FfData.

3 years agoMerge pull request #3017 from YosysHQ/claire/short_rtlil_x_const
Miodrag Milanović [Tue, 28 Sep 2021 16:03:14 +0000 (18:03 +0200)]
Merge pull request #3017 from YosysHQ/claire/short_rtlil_x_const

Add optimization to rtlil back-end for all-x parameter values

3 years agoBump version
github-actions[bot] [Tue, 28 Sep 2021 00:53:49 +0000 (00:53 +0000)]
Bump version

3 years agoPrepare for next release cycle
Miodrag Milanovic [Mon, 27 Sep 2021 14:24:43 +0000 (16:24 +0200)]
Prepare for next release cycle

3 years agoAdd optimization to rtlil back-end for all-x parameter values
Claire Xenia Wolf [Mon, 27 Sep 2021 14:02:20 +0000 (16:02 +0200)]
Add optimization to rtlil back-end for all-x parameter values

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoBump version
github-actions[bot] [Sat, 25 Sep 2021 00:51:53 +0000 (00:51 +0000)]
Bump version

3 years agoMerge pull request #3014 from YosysHQ/claire/fix-vgtest
Claire Xen [Fri, 24 Sep 2021 15:50:34 +0000 (17:50 +0200)]
Merge pull request #3014 from YosysHQ/claire/fix-vgtest

Fix "make vgtest"

3 years agoFix TOK_ID memory leak in for_initialization
Zachary Snow [Thu, 23 Sep 2021 17:33:55 +0000 (13:33 -0400)]
Fix TOK_ID memory leak in for_initialization

3 years agoFix "make vgtest" so it runs to the end (but now it fails ;)
Claire Xenia Wolf [Wed, 22 Sep 2021 15:34:20 +0000 (17:34 +0200)]
Fix "make vgtest" so it runs to the end (but now it fails ;)

Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
3 years agoBump version
github-actions[bot] [Wed, 22 Sep 2021 00:54:54 +0000 (00:54 +0000)]
Bump version

3 years agosv: support wand and wor of data types
Zachary Snow [Sat, 14 Aug 2021 03:51:28 +0000 (20:51 -0700)]
sv: support wand and wor of data types

This enables the usage of declarations of wand or wor with a base type
of logic, integer, or a typename. Note that declarations of nets with
2-state base types is still permitted, in violation of the spec.

3 years agoverilog: fix multiple AST_PREFIX scope resolution issues
Zachary Snow [Tue, 3 Aug 2021 00:42:34 +0000 (18:42 -0600)]
verilog: fix multiple AST_PREFIX scope resolution issues

- Root AST_PREFIX nodes are now subject to genblk expansion to allow
  them to refer to a locally-visible generate block
- Part selects on AST_PREFIX member leafs can now refer to generate
  block items (previously would not resolve and raise an error)
- Add source location information to AST_PREFIX nodes

3 years agoBump version
github-actions[bot] [Sun, 19 Sep 2021 00:52:56 +0000 (00:52 +0000)]
Bump version

3 years agoMerge pull request #3010 from the6p4c/master
Miodrag Milanović [Sat, 18 Sep 2021 07:16:58 +0000 (09:16 +0200)]
Merge pull request #3010 from the6p4c/master

Fix protobuf backend build dependencies - intermittent build issue due to missing rule