yosys.git
2 years agoMerge pull request #3368 from jix/smtbmc-unroll-noincr-traces-fix
Jannis Harder [Fri, 10 Jun 2022 13:25:57 +0000 (15:25 +0200)]
Merge pull request #3368 from jix/smtbmc-unroll-noincr-traces-fix

smtbmc: noincr: keep solver running for post check-sat unrolling

2 years agoNext dev cycle
Miodrag Milanovic [Fri, 10 Jun 2022 13:05:09 +0000 (15:05 +0200)]
Next dev cycle

2 years agoRelease version 0.18
Miodrag Milanovic [Fri, 10 Jun 2022 13:01:40 +0000 (15:01 +0200)]
Release version 0.18

2 years agoUpdate manual
Miodrag Milanovic [Fri, 10 Jun 2022 13:00:07 +0000 (15:00 +0200)]
Update manual

2 years agoUpdated CHANGELOG
Miodrag Milanovic [Fri, 10 Jun 2022 07:08:23 +0000 (09:08 +0200)]
Updated CHANGELOG

2 years agoBump version
github-actions[bot] [Fri, 10 Jun 2022 00:17:46 +0000 (00:17 +0000)]
Bump version

2 years agoMerge pull request #3349 from nakengelhardt/select_count_scratchpad
N. Engelhardt [Thu, 9 Jun 2022 15:15:02 +0000 (17:15 +0200)]
Merge pull request #3349 from nakengelhardt/select_count_scratchpad

Make 'stat' and 'select -count' save counts to scratchpad

2 years agoMerge pull request #3359 from jix/fmcombine-memid
N. Engelhardt [Thu, 9 Jun 2022 15:12:34 +0000 (17:12 +0200)]
Merge pull request #3359 from jix/fmcombine-memid

fmcombine: Add _gold/_gate suffix to memids

2 years agoUse compiler-generated default constructor for RTLIL::Const::Const
Henner Zeller [Mon, 6 Jun 2022 20:03:47 +0000 (13:03 -0700)]
Use compiler-generated default constructor for RTLIL::Const::Const

No need for a manual implementation.
While at it: have the constructor that takes a string take a
const string reference instead to avoid a copy.

2 years agoAvoid unnecessary copy of a potential large constant value.
Henner Zeller [Mon, 6 Jun 2022 20:50:32 +0000 (13:50 -0700)]
Avoid unnecessary copy of a potential large constant value.

The local variable is used just to iterate through the values, so
a const reference is all we need.

2 years agoverific: Added "-vlog-libext" option to specify search extension for libraries
Miodrag Milanovic [Thu, 9 Jun 2022 06:57:48 +0000 (08:57 +0200)]
verific: Added "-vlog-libext" option to specify search extension for libraries

2 years agoBump version
github-actions[bot] [Thu, 9 Jun 2022 00:16:16 +0000 (00:16 +0000)]
Bump version

2 years agowreduce: Introduce -mux_undef option (aligned with opt_expr).
Marcelina Kościelnicka [Wed, 8 Jun 2022 18:32:04 +0000 (20:32 +0200)]
wreduce: Introduce -mux_undef option (aligned with opt_expr).

2 years agosmtbmc: noincr: keep solver running for post check-sat unrolling
Jannis Harder [Wed, 8 Jun 2022 09:22:17 +0000 (11:22 +0200)]
smtbmc: noincr: keep solver running for post check-sat unrolling

2 years agoMerge pull request #3357 from jix/smtbmc-cvc5
Jannis Harder [Wed, 8 Jun 2022 10:52:51 +0000 (12:52 +0200)]
Merge pull request #3357 from jix/smtbmc-cvc5

smtbmc: recognize cvc5 and fix unrolling for cvc4/cvc5

2 years agoMore updates on CHANGELOG
Miodrag Milanovic [Wed, 8 Jun 2022 09:41:13 +0000 (11:41 +0200)]
More updates on CHANGELOG

2 years agoUpdate changelog and manual
Miodrag Milanovic [Wed, 8 Jun 2022 09:28:06 +0000 (11:28 +0200)]
Update changelog and manual

2 years agosta: warn on unrecognised cells only once
Lofty [Mon, 6 Jun 2022 14:29:52 +0000 (15:29 +0100)]
sta: warn on unrecognised cells only once

2 years agoBump version
github-actions[bot] [Wed, 8 Jun 2022 00:15:24 +0000 (00:15 +0000)]
Bump version

2 years agoMerge pull request #3367 from jix/smtlib2-module-fixes
Jannis Harder [Tue, 7 Jun 2022 17:45:47 +0000 (19:45 +0200)]
Merge pull request #3367 from jix/smtlib2-module-fixes

smt2: emit smtlib2_comb_expr outputs after all inputs

2 years agosmt2: emit smtlib2_comb_expr outputs after all inputs
Jannis Harder [Tue, 7 Jun 2022 15:37:04 +0000 (17:37 +0200)]
smt2: emit smtlib2_comb_expr outputs after all inputs

2 years agoMerge pull request #3319 from programmerjake/smtlib2-expr-support
Jannis Harder [Tue, 7 Jun 2022 14:47:10 +0000 (16:47 +0200)]
Merge pull request #3319 from programmerjake/smtlib2-expr-support

add smtlib2_comb_expr

2 years agoMerge pull request #3358 from jix/smtbmc-yices-forall
Jannis Harder [Tue, 7 Jun 2022 11:19:34 +0000 (13:19 +0200)]
Merge pull request #3358 from jix/smtbmc-yices-forall

smtbmc: Force nonincremental mode when yices is used with forall

2 years agoopt_ffinv: Harden against simple ff/inv loop.
Marcelina Kościelnicka [Tue, 7 Jun 2022 02:26:25 +0000 (04:26 +0200)]
opt_ffinv: Harden against simple ff/inv loop.

2 years agoiopadmap: Fix z assignment removal.
Marcelina Kościelnicka [Tue, 7 Jun 2022 00:18:08 +0000 (02:18 +0200)]
iopadmap: Fix z assignment removal.

Fixes #3360.

2 years agoBump version
github-actions[bot] [Sun, 5 Jun 2022 00:19:28 +0000 (00:19 +0000)]
Bump version

2 years agoverific: proper file location for readmem commands
Miodrag Milanovic [Sat, 4 Jun 2022 06:39:50 +0000 (08:39 +0200)]
verific: proper file location for readmem commands

2 years agoBump version
github-actions[bot] [Sat, 4 Jun 2022 00:16:35 +0000 (00:16 +0000)]
Bump version

2 years agofmcombine: Add _gold/_gate suffix to memids
Jannis Harder [Fri, 3 Jun 2022 19:47:50 +0000 (21:47 +0200)]
fmcombine: Add _gold/_gate suffix to memids

2 years agosmtbmc: Force nonincremental mode when yices is used with forall
Jannis Harder [Fri, 3 Jun 2022 14:45:23 +0000 (16:45 +0200)]
smtbmc: Force nonincremental mode when yices is used with forall

2 years agosmtbmc: recognize cvc5 and fix unrolling for cvc4/cvc5
Jannis Harder [Fri, 3 Jun 2022 14:24:09 +0000 (16:24 +0200)]
smtbmc: recognize cvc5 and fix unrolling for cvc4/cvc5

2 years agodon't use sed -i because it won't work on macos smtlib2-expr-support
Jacob Lifshay [Fri, 3 Jun 2022 08:09:57 +0000 (01:09 -0700)]
don't use sed -i because it won't work on macos

2 years agoFix preventing show crashing with newer graphviz
Miodrag Milanovic [Fri, 3 Jun 2022 06:38:16 +0000 (08:38 +0200)]
Fix preventing show crashing with newer graphviz

2 years agosmtlib2_module: try to fix test on macos
Jacob Lifshay [Fri, 3 Jun 2022 06:12:07 +0000 (23:12 -0700)]
smtlib2_module: try to fix test on macos

2 years agosmt2: Add smtlib2_comb_expr attribute to allow user-selected smtlib2 expressions
Jacob Lifshay [Fri, 3 Jun 2022 05:37:29 +0000 (22:37 -0700)]
smt2: Add smtlib2_comb_expr attribute to allow user-selected smtlib2 expressions

2 years agoBump version
github-actions[bot] [Fri, 3 Jun 2022 00:14:33 +0000 (00:14 +0000)]
Bump version

2 years agoAdd -no-rw-check option to memory_dff + memory + synth_{ice40,ecp5,gowin}.
Marcelina Kościelnicka [Thu, 2 Jun 2022 15:15:28 +0000 (17:15 +0200)]
Add -no-rw-check option to memory_dff + memory + synth_{ice40,ecp5,gowin}.

2 years agomemory_dff: Add support for no_rw_check attribute.
Marcelina Kościelnicka [Thu, 2 Jun 2022 09:47:29 +0000 (11:47 +0200)]
memory_dff: Add support for no_rw_check attribute.

2 years agoalso make 'stat' save counts to scratchpad
N. Engelhardt [Wed, 1 Jun 2022 14:01:07 +0000 (16:01 +0200)]
also make 'stat' save counts to scratchpad

2 years agohave 'select -count' save the count to scratchpad entry 'select.count'
N. Engelhardt [Wed, 1 Jun 2022 12:38:28 +0000 (14:38 +0200)]
have 'select -count' save the count to scratchpad entry 'select.count'

2 years agoMerge pull request #3348 from zachjs/func-tern-hint
Jannis Harder [Tue, 31 May 2022 13:56:36 +0000 (15:56 +0200)]
Merge pull request #3348 from zachjs/func-tern-hint

verilog: fix width/sign detection for functions

2 years agoBump version
github-actions[bot] [Tue, 31 May 2022 00:16:32 +0000 (00:16 +0000)]
Bump version

2 years agoverilog: fix width/sign detection for functions
Zachary Snow [Mon, 30 May 2022 20:45:39 +0000 (16:45 -0400)]
verilog: fix width/sign detection for functions

2 years agoMerge pull request #3347 from DanielHuisman/fix-3053
Miodrag Milanović [Mon, 30 May 2022 15:03:39 +0000 (17:03 +0200)]
Merge pull request #3347 from DanielHuisman/fix-3053

Fix typo in emcc flags (typo introduced by #3053)

2 years agoFix typo in emcc flags (typo introduced by #3053)
Daniel Huisman [Mon, 30 May 2022 15:01:02 +0000 (17:01 +0200)]
Fix typo in emcc flags (typo introduced by #3053)

2 years agoverilog: fix size and signedness of array querying functions
Jannis Harder [Fri, 20 May 2022 19:46:39 +0000 (21:46 +0200)]
verilog: fix size and signedness of array querying functions

genrtlil.cc and simplify.cc had inconsistent and slightly broken
handling of signedness for array querying functions. These functions are
defined to return a signed result. Simplify always produced an unsigned
and genrtlil always a signed 32-bit result ignoring the context.

Includes tests for the the relvant edge cases for context dependent
conversions.

2 years agoBump version
github-actions[bot] [Sat, 28 May 2022 00:16:59 +0000 (00:16 +0000)]
Bump version

2 years agogatemate: Fix minor issues with `memory_libmap` (#3343)
Patrick Urban [Fri, 27 May 2022 21:35:26 +0000 (23:35 +0200)]
gatemate: Fix minor issues with `memory_libmap` (#3343)

2 years agoMerge pull request #3333 from mohamed/feature/tmpdir
Miodrag Milanović [Fri, 27 May 2022 14:51:16 +0000 (16:51 +0200)]
Merge pull request #3333 from mohamed/feature/tmpdir

Observe $TMPDIR variable when creating tmp files

2 years agoCleanup, and fix windows
Miodrag Milanovic [Fri, 27 May 2022 14:13:55 +0000 (16:13 +0200)]
Cleanup, and fix windows

2 years agoObserve $TMPDIR variable when creating tmp files
Mohamed A. Bamakhrama [Mon, 23 May 2022 20:21:45 +0000 (22:21 +0200)]
Observe $TMPDIR variable when creating tmp files

POSIX defines $TMPDIR as containing the pathname of the directory where
programs can create temporary files. On most systems, this variable points to
"/tmp". However, on some systems it can point to a different location.
Without respecting this variable, yosys fails to run on such systems.

Signed-off-by: Mohamed A. Bamakhrama <mohamed@alumni.tum.de>
2 years agoMerge pull request #3341 from mmicko/unused_vars
Miodrag Milanović [Fri, 27 May 2022 12:45:35 +0000 (14:45 +0200)]
Merge pull request #3341 from mmicko/unused_vars

Remove set but unused variable

2 years agoUpload emscripten artifact
Miodrag Milanovic [Fri, 27 May 2022 12:15:25 +0000 (14:15 +0200)]
Upload emscripten artifact

2 years agoRemove set but unused variable
Miodrag Milanovic [Fri, 27 May 2022 10:37:03 +0000 (12:37 +0200)]
Remove set but unused variable

2 years agoAdd emcc build (stuck if all cpus used on GH)
Miodrag Milanovic [Fri, 27 May 2022 09:05:17 +0000 (11:05 +0200)]
Add emcc build (stuck if all cpus used on GH)

2 years agoProper std::move
Miodrag Milanovic [Fri, 27 May 2022 09:04:16 +0000 (11:04 +0200)]
Proper std::move

2 years agoUse proper operator
Miodrag Milanovic [Fri, 27 May 2022 08:23:34 +0000 (10:23 +0200)]
Use proper operator

2 years agoMerge pull request #3053 from DanielHuisman/pr-2
Miodrag Milanović [Fri, 27 May 2022 08:13:44 +0000 (10:13 +0200)]
Merge pull request #3053 from DanielHuisman/pr-2

Fix emcc warnings for WebAssembly build

2 years agoBump version
github-actions[bot] [Thu, 26 May 2022 00:17:28 +0000 (00:17 +0000)]
Bump version

2 years agoverilog: fix $past's signedness
Jannis Harder [Tue, 24 May 2022 15:18:53 +0000 (17:18 +0200)]
verilog: fix $past's signedness

2 years agoMerge pull request #3011 from DanielHuisman/pr-1
Miodrag Milanović [Wed, 25 May 2022 15:34:19 +0000 (17:34 +0200)]
Merge pull request #3011 from DanielHuisman/pr-1

Update WaveDrom script URLs in YosysJS demo

2 years agoMerge pull request #3335 from programmerjake/divfloor-in-write_smt2
Jannis Harder [Wed, 25 May 2022 10:25:04 +0000 (12:25 +0200)]
Merge pull request #3335 from programmerjake/divfloor-in-write_smt2

add $divfloor support to write_smt2

2 years agoMerge pull request #3138 from DanielG/fix-git-rev
Miodrag Milanović [Wed, 25 May 2022 09:33:11 +0000 (11:33 +0200)]
Merge pull request #3138 from DanielG/fix-git-rev

Make GIT_REV logic work in release tarballs

2 years agoMake GIT_REV logic work in release tarballs
Daniel Gröber [Thu, 30 Dec 2021 17:45:15 +0000 (18:45 +0100)]
Make GIT_REV logic work in release tarballs

Currently GIT_REV doesn't get set properly when building a release
tarball. To fix this we arrange for .gitcommit to contain the (short)
commit hash in tarballs generated with git-archive(1) using export-subst in
gitattributes. This way the correct commit hash is (reproducibly) included
in the release tarballs while not burdening the maintainers with updating
it in the git repo.

Please note this even works on Github and similar forges as they use
git-archive for generating tarballs so this works out quite nicely.

2 years agoverilog: fix signedness when removing unreachable cases
Jannis Harder [Tue, 24 May 2022 12:32:14 +0000 (14:32 +0200)]
verilog: fix signedness when removing unreachable cases

2 years agoadd $divfloor support to write_smt2 divfloor-in-write_smt2
Jacob Lifshay [Tue, 24 May 2022 08:34:25 +0000 (01:34 -0700)]
add $divfloor support to write_smt2

Fixes: #3330
2 years agoBump version
github-actions[bot] [Tue, 24 May 2022 00:18:18 +0000 (00:18 +0000)]
Bump version

2 years agoMerge pull request #3332 from YosysHQ/verific_f
Miodrag Milanović [Mon, 23 May 2022 18:01:44 +0000 (20:01 +0200)]
Merge pull request #3332 from YosysHQ/verific_f

Update Verific command file documentation

2 years agofix text to fit 80 columns
Miodrag Milanovic [Mon, 23 May 2022 17:57:21 +0000 (19:57 +0200)]
fix text to fit 80 columns

2 years agoUpdate verific command file documentation
Miodrag Milanovic [Mon, 23 May 2022 17:35:14 +0000 (19:35 +0200)]
Update verific command file documentation

2 years agoUse analysis mode if set in file
Miodrag Milanovic [Mon, 23 May 2022 17:13:45 +0000 (19:13 +0200)]
Use analysis mode if set in file

2 years agoMerge pull request #3331 from YosysHQ/git_rev_fix
Miodrag Milanović [Mon, 23 May 2022 16:33:11 +0000 (18:33 +0200)]
Merge pull request #3331 from YosysHQ/git_rev_fix

work around the new(ish) git safe.directory restrictions

2 years agoChange way to get commit sha
Jannis Harder [Mon, 23 May 2022 15:04:07 +0000 (17:04 +0200)]
Change way to get commit sha

2 years agoabc9_ops: Don't leave unused derived modules lying around
gatecat [Sun, 1 May 2022 08:24:17 +0000 (09:24 +0100)]
abc9_ops: Don't leave unused derived modules lying around

These later become accidentally used for techmap replacements for
blackboxes that we don't actually want.

Signed-off-by: gatecat <gatecat@ds0.me>
2 years agoBump version
github-actions[bot] [Sat, 21 May 2022 00:16:34 +0000 (00:16 +0000)]
Bump version

2 years agoMerge pull request #3324 from jix/confusing-select-errors
Jannis Harder [Fri, 20 May 2022 15:40:40 +0000 (17:40 +0200)]
Merge pull request #3324 from jix/confusing-select-errors

select: Fix -assert-none and -assert-any error output and docs

2 years agoselect: Fix -assert-none and -assert-any error output and docs
Jannis Harder [Thu, 19 May 2022 11:58:46 +0000 (13:58 +0200)]
select: Fix -assert-none and -assert-any error output and docs

Both of these options consider a selection containing only empty modules
as non-empty. This wasn't mentioned in the documentation nor did the
error message when using `select -assert-none` list those empty modules,
which produced a very confusing error message complaining about a
non-empty selection followed by an empty listing of the selection.

This fixes the documentation and changes the `-assert-none` and
`-assert-any` assertion error messages to also output fully selected
modules (this includes selected empty modules).

It doesn't change the messages for `-assert-count` etc. as they don't
count modules.

2 years agoBump version
github-actions[bot] [Thu, 19 May 2022 00:17:59 +0000 (00:17 +0000)]
Bump version

2 years agoAdd memory_bmux2rom pass.
Marcelina Kościelnicka [Wed, 18 May 2022 19:20:42 +0000 (21:20 +0200)]
Add memory_bmux2rom pass.

2 years agoAdd memory_libmap tests.
Marcelina Kościelnicka [Fri, 6 May 2022 14:30:56 +0000 (16:30 +0200)]
Add memory_libmap tests.

2 years agogatemate: Use `memory_libmap` pass.
Marcelina Kościelnicka [Sun, 6 Mar 2022 05:49:18 +0000 (06:49 +0100)]
gatemate: Use `memory_libmap` pass.

2 years agomachxo2: Use `memory_libmap` pass.
Marcelina Kościelnicka [Sun, 6 Mar 2022 02:43:13 +0000 (03:43 +0100)]
machxo2: Use `memory_libmap` pass.

2 years agoefinix: Use `memory_libmap` pass.
Marcelina Kościelnicka [Sun, 6 Mar 2022 01:21:53 +0000 (02:21 +0100)]
efinix: Use `memory_libmap` pass.

2 years agoanlogic: Use `memory_libmap` pass.
Marcelina Kościelnicka [Sun, 27 Feb 2022 08:57:10 +0000 (09:57 +0100)]
anlogic: Use `memory_libmap` pass.

2 years agoice40: Use `memory_libmap` pass.
Marcelina Kościelnicka [Sun, 27 Feb 2022 08:29:26 +0000 (09:29 +0100)]
ice40: Use `memory_libmap` pass.

2 years agoxilinx: Use `memory_libmap` pass.
Marcelina Kościelnicka [Sun, 6 Feb 2022 09:10:40 +0000 (10:10 +0100)]
xilinx: Use `memory_libmap` pass.

2 years agogowin: Use `memory_libmap` pass.
Marcelina Kościelnicka [Wed, 9 Feb 2022 08:25:45 +0000 (09:25 +0100)]
gowin: Use `memory_libmap` pass.

2 years agonexus: Use `memory_libmap` pass.
Marcelina Kościelnicka [Tue, 8 Feb 2022 02:52:50 +0000 (03:52 +0100)]
nexus: Use `memory_libmap` pass.

2 years agoecp5: Use `memory_libmap` pass.
Marcelina Kościelnicka [Tue, 8 Feb 2022 02:52:16 +0000 (03:52 +0100)]
ecp5: Use `memory_libmap` pass.

2 years agoAdd memory_libmap pass.
Marcelina Kościelnicka [Sun, 6 Feb 2022 09:10:21 +0000 (10:10 +0100)]
Add memory_libmap pass.

2 years agoproc_rom: Add special handling of const-0 address bits.
Marcelina Kościelnicka [Wed, 18 May 2022 06:18:13 +0000 (08:18 +0200)]
proc_rom: Add special handling of const-0 address bits.

2 years agoBump version
github-actions[bot] [Wed, 18 May 2022 00:16:27 +0000 (00:16 +0000)]
Bump version

2 years agoMerge pull request #3310 from robinsonb5-PRs/master master
Miodrag Milanović [Tue, 17 May 2022 07:33:20 +0000 (09:33 +0200)]
Merge pull request #3310 from robinsonb5-PRs/master

Now calls Tcl_Init after creating the interp, fixes clock format.

2 years agoopt_ffinv: Use ModIndex instead of ModWalker.
Marcelina Kościelnicka [Mon, 16 May 2022 23:52:55 +0000 (01:52 +0200)]
opt_ffinv: Use ModIndex instead of ModWalker.

This avoids using out-of-data index information.

2 years agoUse log_warning when Tcl_Init fails, report error with Tcl_ErrnoMsg.
Alastair M. Robinson [Mon, 16 May 2022 19:22:28 +0000 (20:22 +0100)]
Use log_warning when Tcl_Init fails, report error with Tcl_ErrnoMsg.

2 years agoMerge pull request #3314 from jix/sva_value_change_logic_wide
Jannis Harder [Mon, 16 May 2022 14:15:04 +0000 (16:15 +0200)]
Merge pull request #3314 from jix/sva_value_change_logic_wide

verific: Use new value change logic also for $stable of wide signals.

2 years agoBump version
github-actions[bot] [Sat, 14 May 2022 00:19:50 +0000 (00:19 +0000)]
Bump version

2 years agoAdd opt_ffinv pass.
Marcelina Kościelnicka [Fri, 13 May 2022 14:59:52 +0000 (16:59 +0200)]
Add opt_ffinv pass.

2 years agoBump version
github-actions[bot] [Fri, 13 May 2022 00:19:56 +0000 (00:19 +0000)]
Bump version

2 years agoAdd proc_rom pass.
Marcelina Kościelnicka [Thu, 12 May 2022 21:36:28 +0000 (23:36 +0200)]
Add proc_rom pass.