yosys.git
4 years agoMerge pull request #2405 from byuccl/fix_xilinx_cells
clairexen [Tue, 20 Oct 2020 15:11:36 +0000 (17:11 +0200)]
Merge pull request #2405 from byuccl/fix_xilinx_cells

xilinx/cells_sim.v: Move signal declaration to before first use

4 years agoMerge pull request #2404 from YosysHQ/claire/fixrpcargs
clairexen [Tue, 20 Oct 2020 09:32:35 +0000 (11:32 +0200)]
Merge pull request #2404 from YosysHQ/claire/fixrpcargs

Fix argument handling in connect_rpc

4 years agoBump version
Yosys Bot [Tue, 20 Oct 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoMove signal declarations to before first use
Jeff Goeders [Mon, 19 Oct 2020 22:09:04 +0000 (16:09 -0600)]
Move signal declarations to before first use

Signed-off-by: Jeff Goeders <jeff.goeders@gmail.com>
4 years agoFix argument handling in connect_rpc
Claire Xenia Wolf [Mon, 19 Oct 2020 11:40:57 +0000 (13:40 +0200)]
Fix argument handling in connect_rpc

Signed-off-by: Claire Xenia Wolf <claire@symbioticeda.com>
4 years agoMerge pull request #2397 from daveshah1/nexus
Miodrag Milanović [Mon, 19 Oct 2020 09:20:56 +0000 (11:20 +0200)]
Merge pull request #2397 from daveshah1/nexus

synth_nexus: Initial implementation

4 years agoBump version
Yosys Bot [Fri, 16 Oct 2020 00:10:07 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2398 from jakobwenzel/smtbmc-escape
clairexen [Thu, 15 Oct 2020 16:08:59 +0000 (18:08 +0200)]
Merge pull request #2398 from jakobwenzel/smtbmc-escape

smtbmc: escape identifiers in verilog testbench

4 years agosynth_nexus: Initial implementation
David Shah [Thu, 1 Oct 2020 10:15:54 +0000 (11:15 +0100)]
synth_nexus: Initial implementation

Signed-off-by: David Shah <dave@ds0.me>
4 years agoBump version
Yosys Bot [Tue, 13 Oct 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoextend verific library API for formal apps and generators
Miodrag Milanovic [Mon, 12 Oct 2020 12:56:15 +0000 (14:56 +0200)]
extend verific library API for formal apps and generators

4 years agoBump version
Yosys Bot [Fri, 9 Oct 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

4 years agoopt_clean: Better memory handling.
Marcelina Kościelnicka [Thu, 8 Oct 2020 11:33:47 +0000 (13:33 +0200)]
opt_clean: Better memory handling.

Previously, `$memwr` and `$meminit` cells were always preserved (along
with the memory itself).  With this change, they are instead part of the
main cell mark-and-sweep pass: a memory (and its `$meminit` and `$memwr`
cells) is only preserved iff any associated `$memrd` cell needs to be
preserved.

4 years agosmtbmc: escape identifiers in verilog testbench
Jakob Wenzel [Tue, 6 Oct 2020 09:24:29 +0000 (11:24 +0200)]
smtbmc: escape identifiers in verilog testbench

4 years agoBump version
Yosys Bot [Tue, 6 Oct 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoUpdate required Verific version
Miodrag Milanović [Mon, 5 Oct 2020 11:27:27 +0000 (13:27 +0200)]
Update required Verific version

4 years agoBump version
Yosys Bot [Sat, 3 Oct 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2396 from YosysHQ/claire/empty-param
clairexen [Fri, 2 Oct 2020 08:16:23 +0000 (10:16 +0200)]
Merge pull request #2396 from YosysHQ/claire/empty-param

Ignore empty parameters in Verilog module instantiations

4 years agoBump version
Yosys Bot [Fri, 2 Oct 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

4 years agoIgnore empty parameters in Verilog module instantiations
Claire Xenia Wolf [Thu, 1 Oct 2020 16:26:53 +0000 (18:26 +0200)]
Ignore empty parameters in Verilog module instantiations

Fixes #2394

Signed-off-by: Claire Xenia Wolf <claire@symbioticeda.com>
4 years agoMerge pull request #2378 from udif/pr_dollar_high_low
clairexen [Thu, 1 Oct 2020 16:17:36 +0000 (18:17 +0200)]
Merge pull request #2378 from udif/pr_dollar_high_low

Added $high(), $low(), $left(), $right()

4 years agoMerge pull request #2380 from Xiretza/parallel-tests
clairexen [Thu, 1 Oct 2020 16:12:31 +0000 (18:12 +0200)]
Merge pull request #2380 from Xiretza/parallel-tests

Clean up and parallelize testsuite

4 years agoUpdate .gitignore
David Shah [Thu, 1 Oct 2020 14:53:14 +0000 (15:53 +0100)]
Update .gitignore

Signed-off-by: David Shah <dave@ds0.me>
4 years agoMerge pull request #2395 from YosysHQ/sha1_if_contain_spaces
clairexen [Thu, 1 Oct 2020 12:32:43 +0000 (14:32 +0200)]
Merge pull request #2395 from YosysHQ/sha1_if_contain_spaces

Use sha1 for parameter list in case if they contain spaces

4 years agoBump version
Yosys Bot [Thu, 1 Oct 2020 00:10:08 +0000 (00:10 +0000)]
Bump version

4 years agouse sha1 for parameter list in case if they contain spaces
Miodrag Milanovic [Wed, 30 Sep 2020 07:16:59 +0000 (09:16 +0200)]
use sha1 for parameter list in case if they contain spaces

4 years agoFixed installation dir override for Python scripts
Miodrag Milanovic [Wed, 30 Sep 2020 05:47:36 +0000 (07:47 +0200)]
Fixed installation dir override for Python scripts

4 years agoBump version
Yosys Bot [Wed, 30 Sep 2020 00:10:09 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2393 from nakengelhardt/no_const_sensitivity
clairexen [Tue, 29 Sep 2020 15:31:01 +0000 (17:31 +0200)]
Merge pull request #2393 from nakengelhardt/no_const_sensitivity

write_verilog: emit intermediate wire for constant values in sensitivity list

4 years agoMerge pull request #2392 from YosysHQ/mmicko/hierarchy_fix
clairexen [Tue, 29 Sep 2020 15:21:08 +0000 (17:21 +0200)]
Merge pull request #2392 from YosysHQ/mmicko/hierarchy_fix

Validate parameters only when they are used

4 years agoBump version
Yosys Bot [Tue, 29 Sep 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

4 years agoadd tests
N. Engelhardt [Mon, 28 Sep 2020 16:12:40 +0000 (18:12 +0200)]
add tests

4 years agowrite_verilog: emit intermediate wire for constant values in sensitivity list
N. Engelhardt [Mon, 28 Sep 2020 16:11:18 +0000 (18:11 +0200)]
write_verilog: emit intermediate wire for constant values in sensitivity list

4 years agoMerge pull request #2386 from btut/fix/pyinstallpath
Miodrag Milanović [Mon, 28 Sep 2020 10:54:38 +0000 (12:54 +0200)]
Merge pull request #2386 from btut/fix/pyinstallpath

Fixed python installation path

4 years agoMerge pull request #2387 from btut/fix/pythonWrappersCXXFlags
N. Engelhardt [Mon, 28 Sep 2020 10:45:52 +0000 (12:45 +0200)]
Merge pull request #2387 from btut/fix/pythonWrappersCXXFlags

Use CXXFLAGS to enable pyosys specific code before generating wrappers

4 years agotests: add gitignores for auto-generated makefiles
Xiretza [Sat, 26 Sep 2020 14:27:37 +0000 (16:27 +0200)]
tests: add gitignores for auto-generated makefiles

4 years agoUse CXXFLAGS to enable pyosys specific code before generating wrappers
Benedikt Tutzer [Fri, 25 Sep 2020 10:57:46 +0000 (12:57 +0200)]
Use CXXFLAGS to enable pyosys specific code before generating wrappers

The .pyh files were generated without the CXXFLAGS. This meant that code
marked by the WITH_PYTHON flag was excluded. This is fixed by adding the
flag in the rule for .pyh files.

4 years agoValidate parameters only when they are used
Miodrag Milanovic [Fri, 25 Sep 2020 09:40:37 +0000 (11:40 +0200)]
Validate parameters only when they are used

4 years agoFixed python installation path
Benedikt Tutzer [Fri, 25 Sep 2020 09:21:16 +0000 (11:21 +0200)]
Fixed python installation path

The path where python expects it's libraries seems to change from
operating system to operating system, but can be querried from the site
package.

4 years agoBump version
Yosys Bot [Thu, 24 Sep 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years ago xilinx: do not make DSP48E1 a whitebox for ABC9 by default (#2325)
Eddie Hung [Wed, 23 Sep 2020 16:15:24 +0000 (09:15 -0700)]
 xilinx: do not make DSP48E1 a whitebox for ABC9 by default (#2325)

* xilinx: eliminate SCCs from DSP48E1 model

* xilinx: add SCC test for DSP48E1

* Update techlibs/xilinx/cells_sim.v

* xilinx: Gate DSP48E1 being a whitebox behind ALLOW_WHITEBOX_DSP48E1

Have a test that checks it works through ABC9 when enabled

4 years agoMerge pull request #2384 from nakengelhardt/fix_2383
Miodrag Milanović [Wed, 23 Sep 2020 11:04:54 +0000 (13:04 +0200)]
Merge pull request #2384 from nakengelhardt/fix_2383

switch argument order to work with macOS getopt

4 years agoswitch argument order to work with macOS getopt
N. Engelhardt [Wed, 23 Sep 2020 10:48:26 +0000 (12:48 +0200)]
switch argument order to work with macOS getopt

4 years agoBump version
Yosys Bot [Tue, 22 Sep 2020 00:10:15 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2372 from nakengelhardt/name_is_public
N. Engelhardt [Mon, 21 Sep 2020 13:18:06 +0000 (15:18 +0200)]
Merge pull request #2372 from nakengelhardt/name_is_public

add IdString::isPublic()

4 years agotests/simple: remove "nullglob" shopt
Xiretza [Mon, 21 Sep 2020 13:05:42 +0000 (15:05 +0200)]
tests/simple: remove "nullglob" shopt

4 years agotests: Parallelize
Xiretza [Wed, 16 Sep 2020 17:58:16 +0000 (19:58 +0200)]
tests: Parallelize

4 years agotests: Centralize test collection and Makefile generation
Xiretza [Wed, 16 Sep 2020 15:59:37 +0000 (17:59 +0200)]
tests: Centralize test collection and Makefile generation

4 years agoBump version
Yosys Bot [Sat, 19 Sep 2020 00:10:08 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2381 from YosysHQ/unsupported
clairexen [Fri, 18 Sep 2020 15:43:30 +0000 (17:43 +0200)]
Merge pull request #2381 from YosysHQ/unsupported

Better error for unsupported SVA sequence

4 years agoBetter error for unsupported SVA sequence
Miodrag Milanovic [Fri, 18 Sep 2020 15:08:00 +0000 (17:08 +0200)]
Better error for unsupported SVA sequence

4 years agoBump version
Yosys Bot [Fri, 18 Sep 2020 00:10:08 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2329 from antmicro/arrays-fix-multirange-size
clairexen [Thu, 17 Sep 2020 16:27:05 +0000 (18:27 +0200)]
Merge pull request #2329 from antmicro/arrays-fix-multirange-size

Rewrite multirange arrays sizes [n] as [n-1:0]

4 years agoMerge pull request #2330 from antmicro/arrays-fix-multirange-access
clairexen [Thu, 17 Sep 2020 16:21:53 +0000 (18:21 +0200)]
Merge pull request #2330 from antmicro/arrays-fix-multirange-access

Fix unsupported subarray access detection

4 years agoWe can now handle array slices (e.g. $size(x[1]) etc. )
Udi Finkelstein [Wed, 16 Sep 2020 21:55:17 +0000 (00:55 +0300)]
We can now handle array slices (e.g. $size(x[1]) etc. )

4 years agoFixed comments, removed debug message
Udi Finkelstein [Wed, 16 Sep 2020 07:57:06 +0000 (10:57 +0300)]
Fixed comments, removed debug message

4 years agoAdded $high(), $low(), $left(), $right()
Udi Finkelstein [Tue, 15 Sep 2020 17:49:52 +0000 (20:49 +0300)]
Added $high(), $low(), $left(), $right()

4 years agouse the new isPublic() in a few places
N. Engelhardt [Mon, 14 Sep 2020 10:43:18 +0000 (12:43 +0200)]
use the new isPublic() in a few places

4 years agoBump version
Yosys Bot [Fri, 11 Sep 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2369 from Xiretza/gitignores
Miodrag Milanović [Thu, 10 Sep 2020 11:37:49 +0000 (13:37 +0200)]
Merge pull request #2369 from Xiretza/gitignores

Add missing gitignores for test artifacts

4 years agoBump version
Yosys Bot [Fri, 4 Sep 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoadd IdString::isPublic()
N. Engelhardt [Thu, 3 Sep 2020 15:37:58 +0000 (17:37 +0200)]
add IdString::isPublic()

4 years agoMerge pull request #2371 from whitequark/cxxrtl-debug-info
whitequark [Thu, 3 Sep 2020 09:45:40 +0000 (09:45 +0000)]
Merge pull request #2371 from whitequark/cxxrtl-debug-info

cxxrtl: expose port direction and driver kind in debug information

4 years agoBump version
Yosys Bot [Thu, 3 Sep 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agocxxrtl: expose driver kind in debug information.
whitequark [Wed, 2 Sep 2020 17:16:10 +0000 (17:16 +0000)]
cxxrtl: expose driver kind in debug information.

This can be useful to determine whether the wire should be a part of
a design checkpoint, whether it can be used to override design state,
and whether driving it may cause a conflict.

4 years agocxxrtl: improve handling of FFs with async inputs (other than CLK).
whitequark [Wed, 2 Sep 2020 16:03:35 +0000 (16:03 +0000)]
cxxrtl: improve handling of FFs with async inputs (other than CLK).

Before this commit, the meaning of "sync def" included some flip-flop
cells but not others. There was no actual reason for this; it was
just poorly defined.

After this commit, a "sync def" means that a wire holds design state
because it is connected directly to a flip-flop output, and may never
be unbuffered. This is not affected by presence of async inputs.

4 years agocxxrtl: expose port direction in debug information.
whitequark [Wed, 2 Sep 2020 15:18:44 +0000 (15:18 +0000)]
cxxrtl: expose port direction in debug information.

This can be useful to distinguish e.g. a combinatorially driven wire
with type `CXXRTL_VALUE` from a module input with the same type, as
well as general introspection.

4 years agocxxrtl: fix typo in comment. NFC.
whitequark [Wed, 2 Sep 2020 15:23:40 +0000 (15:23 +0000)]
cxxrtl: fix typo in comment. NFC.

4 years agocxxrtl: fix inaccuracy in CXXRTL_ALIAS documentation. NFC.
whitequark [Wed, 2 Sep 2020 15:11:55 +0000 (15:11 +0000)]
cxxrtl: fix inaccuracy in CXXRTL_ALIAS documentation. NFC.

Nodes driven by a constant value have type CXXRTL_VALUE and their
`next` pointer set to NULL. (This is already documented.)

4 years agoUse latest verific
Miodrag Milanovic [Wed, 2 Sep 2020 08:22:25 +0000 (10:22 +0200)]
Use latest verific

4 years agoBump version
Yosys Bot [Wed, 2 Sep 2020 00:10:07 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2352 from zachjs/const-func-localparam
clairexen [Tue, 1 Sep 2020 15:31:48 +0000 (17:31 +0200)]
Merge pull request #2352 from zachjs/const-func-localparam

Allow localparams in constant functions

4 years agoMerge pull request #2366 from zachjs/library-format
clairexen [Tue, 1 Sep 2020 15:30:36 +0000 (17:30 +0200)]
Merge pull request #2366 from zachjs/library-format

Simple support for %l format specifier

4 years agoMerge pull request #2353 from zachjs/top-scope
clairexen [Tue, 1 Sep 2020 15:30:09 +0000 (17:30 +0200)]
Merge pull request #2353 from zachjs/top-scope

Module name scope support

4 years agoMerge pull request #2365 from zachjs/const-arg-loop-split-type
clairexen [Tue, 1 Sep 2020 15:28:35 +0000 (17:28 +0200)]
Merge pull request #2365 from zachjs/const-arg-loop-split-type

Fix constant args used with function ports split across declarations

4 years agoBump version
Yosys Bot [Tue, 1 Sep 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agoAdd missing gitignores for test artifacts
Xiretza [Mon, 31 Aug 2020 17:42:10 +0000 (19:42 +0200)]
Add missing gitignores for test artifacts

4 years agoReorder to prevent crash
Miodrag Milanovic [Mon, 31 Aug 2020 10:22:26 +0000 (12:22 +0200)]
Reorder to prevent crash

4 years agoMerge pull request #2368 from YosysHQ/verific_portrange
clairexen [Mon, 31 Aug 2020 09:58:29 +0000 (11:58 +0200)]
Merge pull request #2368 from YosysHQ/verific_portrange

Fix import of VHDL enums

4 years agoast recognize lower case x and z and verific gives upper case
Miodrag Milanovic [Sun, 30 Aug 2020 11:33:03 +0000 (13:33 +0200)]
ast recognize lower case x and z and verific gives upper case

4 years agoDo not check for 1 and 0 only
Miodrag Milanovic [Sun, 30 Aug 2020 11:15:06 +0000 (13:15 +0200)]
Do not check for 1 and 0 only

4 years agoFix import of VHDL enums
Miodrag Milanovic [Sun, 30 Aug 2020 10:25:23 +0000 (12:25 +0200)]
Fix import of VHDL enums

4 years agoBump version
Yosys Bot [Sun, 30 Aug 2020 00:10:07 +0000 (00:10 +0000)]
Bump version

4 years agowrite_smt2: fix SMT-LIB tutorial URL
whitequark [Sat, 29 Aug 2020 20:02:35 +0000 (20:02 +0000)]
write_smt2: fix SMT-LIB tutorial URL

4 years agoSimple support for %l format specifier
Zachary Snow [Sat, 29 Aug 2020 17:33:31 +0000 (13:33 -0400)]
Simple support for %l format specifier

Yosys doesn't support libraries, so this provides the same behavior as
%m, as some other tools have opted to do.

4 years agoFix constant args used with function ports split across declarations
Zachary Snow [Sat, 29 Aug 2020 17:31:02 +0000 (13:31 -0400)]
Fix constant args used with function ports split across declarations

4 years agoBump version
Yosys Bot [Sat, 29 Aug 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agointel_alm: better map wide but shallow multiplies
Dan Ravensloft [Wed, 26 Aug 2020 20:47:06 +0000 (21:47 +0100)]
intel_alm: better map wide but shallow multiplies

4 years agoBump version
Yosys Bot [Fri, 28 Aug 2020 00:10:07 +0000 (00:10 +0000)]
Bump version

4 years agoMerge pull request #2364 from whitequark/manual-typo
Miodrag Milanović [Thu, 27 Aug 2020 16:35:53 +0000 (18:35 +0200)]
Merge pull request #2364 from whitequark/manual-typo

manual: fix typo

4 years agomanual: fix typo.
whitequark [Thu, 27 Aug 2020 16:34:48 +0000 (16:34 +0000)]
manual: fix typo.

4 years agoMerge pull request #2357 from whitequark/cxxflags-MP
whitequark [Thu, 27 Aug 2020 11:40:57 +0000 (11:40 +0000)]
Merge pull request #2357 from whitequark/cxxflags-MP

Add -MP to CXXFLAGS

4 years agoMerge pull request #2356 from whitequark/flatten-techmap-no-tpl_driven-sigmap
whitequark [Thu, 27 Aug 2020 11:28:31 +0000 (11:28 +0000)]
Merge pull request #2356 from whitequark/flatten-techmap-no-tpl_driven-sigmap

flatten, techmap: don't canonicalize tpl driven bits via sigmap

4 years agoMerge pull request #2358 from whitequark/rename-ilang-to-rtlil
whitequark [Thu, 27 Aug 2020 11:24:06 +0000 (11:24 +0000)]
Merge pull request #2358 from whitequark/rename-ilang-to-rtlil

Replace "ILANG" with "RTLIL" everywhere

4 years agodfflegalize: Fix decision tree for adffe.
Marcelina Kościelnicka [Thu, 27 Aug 2020 09:58:56 +0000 (11:58 +0200)]
dfflegalize: Fix decision tree for adffe.

When an adffe is being legalized, and is not natively supported,
prioritize unmapping to adff over converting to dffsre if dffsre is not
natively supported itself.

Fixes #2361.

4 years agoBump version
Yosys Bot [Thu, 27 Aug 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

4 years agointel_alm: Add multiply signedness to cells
Dan Ravensloft [Wed, 26 Aug 2020 17:44:48 +0000 (18:44 +0100)]
intel_alm: Add multiply signedness to cells

Quartus assumes unsigned multiplication by default, breaking signed
multiplies, so add an input signedness parameter to the MISTRAL_MUL*
cells to propagate to Quartus' <family>_mac cells.

4 years agoReplace "ILANG" with "RTLIL" everywhere.
whitequark [Wed, 26 Aug 2020 17:29:32 +0000 (17:29 +0000)]
Replace "ILANG" with "RTLIL" everywhere.

The only difference between "RTLIL" and "ILANG" is that the latter is
the text representation of the former, as opposed to the in-memory
graph representation. This distinction serves no purpose but confuses
people: it is not obvious that the ILANG backend writes RTLIL graphs.

Passes `write_ilang` and `read_ilang` are provided as aliases to
`write_rtlil` and `read_rtlil` for compatibility.

4 years agoAdd -MP to CXXFLAGS.
whitequark [Wed, 26 Aug 2020 16:53:47 +0000 (16:53 +0000)]
Add -MP to CXXFLAGS.

This avoids an issue where deleting or moving headers breaks the next
incremental build until the outdated *.d files are deleted.

4 years agoflatten, techmap: don't canonicalize tpl driven bits via sigmap.
whitequark [Wed, 26 Aug 2020 16:20:32 +0000 (16:20 +0000)]
flatten, techmap: don't canonicalize tpl driven bits via sigmap.

For connection `assign a = b;`, `sigmap(a)` returns `b`. This is
exactly the opposite of the desired canonicalization for driven bits.
Consider the following code:

    module foo(inout a, b);
      assign a = b;
    endmodule
    module bar(output c);
      foo f(c, 1'b0);
    endmodule

Before this commit, the inout ports would be swapped after flattening
(and cause a crash while attempting to drive a constant value).

This issue was introduced in 9f772eb9.

Fixes #2183.