yosys.git
3 years agoMerge pull request #2468 from whitequark/cxxrtl-assert
whitequark [Wed, 2 Dec 2020 23:36:22 +0000 (23:36 +0000)]
Merge pull request #2468 from whitequark/cxxrtl-assert

cxxrtl: use CXXRTL_ASSERT for RTL contract violations instead of assert

3 years agoMerge pull request #2469 from whitequark/cxxrtl-no-clk
whitequark [Wed, 2 Dec 2020 23:36:03 +0000 (23:36 +0000)]
Merge pull request #2469 from whitequark/cxxrtl-no-clk

cxxrtl: fix crashes caused by a floating or constant clock input

3 years agoMerge pull request #2466 from whitequark/cxxrtl-reset
whitequark [Wed, 2 Dec 2020 23:35:54 +0000 (23:35 +0000)]
Merge pull request #2466 from whitequark/cxxrtl-reset

cxxrtl: provide a way to perform unobtrusive power-on reset

3 years agoMerge pull request #2456 from Zottel/master
whitequark [Wed, 2 Dec 2020 22:20:02 +0000 (22:20 +0000)]
Merge pull request #2456 from Zottel/master

Return correct modname when found in cache.

3 years agoMerge pull request #2455 from gsomlo/gls-fedpkg-fixes
whitequark [Wed, 2 Dec 2020 22:19:52 +0000 (22:19 +0000)]
Merge pull request #2455 from gsomlo/gls-fedpkg-fixes

Fixes for building Fedora distro RPMs of yosys

3 years agoMerge pull request #2467 from YosysHQ/dave/nexus-carry-fix
David Shah [Wed, 2 Dec 2020 22:07:25 +0000 (22:07 +0000)]
Merge pull request #2467 from YosysHQ/dave/nexus-carry-fix

nexus: More efficient CO mapping

3 years agocxxrtl: fix crashes caused by a floating or constant clock input.
whitequark [Wed, 2 Dec 2020 21:39:25 +0000 (21:39 +0000)]
cxxrtl: fix crashes caused by a floating or constant clock input.

E.g. in:

    module test;
        wire clk = 0;
        reg data;
        always @(posedge clk)
            data <= 0;
    endmodule

3 years agoMerge pull request #2446 from RobertBaruch/rtlil_format
whitequark [Wed, 2 Dec 2020 19:50:51 +0000 (19:50 +0000)]
Merge pull request #2446 from RobertBaruch/rtlil_format

Adds appendix on RTLIL text format

3 years agocxxrtl: use CXXRTL_ASSERT for RTL contract violations instead of assert.
whitequark [Wed, 2 Dec 2020 19:41:00 +0000 (19:41 +0000)]
cxxrtl: use CXXRTL_ASSERT for RTL contract violations instead of assert.

RTL contract violations and C++ contract violations are different:
the former depend on the netlist and will never violate memory safety
whereas the latter may. When loading a CXXRTL simulation into another
process, RTL contract violations should generally not crash it, while
C++ contract violations should.

3 years agonexus: More efficient CO mapping
David Shah [Wed, 2 Dec 2020 17:08:39 +0000 (17:08 +0000)]
nexus: More efficient CO mapping

Signed-off-by: David Shah <dave@ds0.me>
3 years agoBump required Verific version
Miodrag Milanovic [Wed, 2 Dec 2020 14:18:04 +0000 (15:18 +0100)]
Bump required Verific version

3 years agocxxrtl: provide a way to perform unobtrusive power-on reset.
whitequark [Wed, 2 Dec 2020 08:25:27 +0000 (08:25 +0000)]
cxxrtl: provide a way to perform unobtrusive power-on reset.

Although it is always possible to destroy and recreate the design to
simulate a power-on reset, this has two drawbacks:
  * Black boxes are also destroyed and recreated, which causes them
    to reacquire their resources, which might be costly and/or erase
    important state.
  * Pointers into the design are invalidated and have to be acquired
    again, which is costly and might be very inconvenient if they are
    captured elsewhere (especially through the C API).

3 years agoBump version
Yosys Bot [Wed, 2 Dec 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2463 from georgerennie/fix_verilog_frontend_auto_defines
Claire Xen [Tue, 1 Dec 2020 11:31:34 +0000 (12:31 +0100)]
Merge pull request #2463 from georgerennie/fix_verilog_frontend_auto_defines

Fix SYNTHESIS always being defined in Verilog frontend

3 years agoMerge pull request #2460 from pepijndevos/simple-gowin
Miodrag Milanović [Tue, 1 Dec 2020 08:18:37 +0000 (09:18 +0100)]
Merge pull request #2460 from pepijndevos/simple-gowin

add -noalu and -json option for apicula

3 years agoFix SYNTHESIS always being defined in Verilog frontend
georgerennie [Tue, 1 Dec 2020 01:37:19 +0000 (01:37 +0000)]
Fix SYNTHESIS always being defined in Verilog frontend

3 years agoadd -noalu and -json option for apicula
Pepijn de Vos [Mon, 30 Nov 2020 10:43:12 +0000 (11:43 +0100)]
add -noalu and -json option for apicula

3 years agoReturn correct modname when found in cache.
Julius Roob [Thu, 26 Nov 2020 12:28:28 +0000 (13:28 +0100)]
Return correct modname when found in cache.

3 years agofixup over commit 829b5cca to re-enable ABCEXTERNAL support
Gabriel Somlo [Wed, 25 Nov 2020 17:29:59 +0000 (12:29 -0500)]
fixup over commit 829b5cca to re-enable ABCEXTERNAL support

3 years agoAdd #include needed to build with gcc-11
Gabriel Somlo [Wed, 25 Nov 2020 13:46:26 +0000 (08:46 -0500)]
Add #include needed to build with gcc-11

Suggested by Jeff Law <law@redhat.com>

3 years agoBump version
Yosys Bot [Thu, 26 Nov 2020 00:10:09 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2452 from whitequark/rtlil-remove-dot-identifiers
whitequark [Wed, 25 Nov 2020 21:22:14 +0000 (21:22 +0000)]
Merge pull request #2452 from whitequark/rtlil-remove-dot-identifiers

rtlil: remove dotted identifiers

3 years agoFurther juggles the wording of "character".
Robert Baruch [Wed, 25 Nov 2020 20:02:35 +0000 (12:02 -0800)]
Further juggles the wording of "character".

3 years agoClarifies how character encodings work.
Robert Baruch [Wed, 25 Nov 2020 19:57:17 +0000 (11:57 -0800)]
Clarifies how character encodings work.

3 years agoMerge pull request #2453 from YosysHQ/mmicko/verilog_assignments
Miodrag Milanović [Wed, 25 Nov 2020 18:15:11 +0000 (19:15 +0100)]
Merge pull request #2453 from YosysHQ/mmicko/verilog_assignments

Generate only simple assignments in verilog backend

3 years agoClarifies whitespace and eol.
Robert Baruch [Wed, 25 Nov 2020 18:06:22 +0000 (10:06 -0800)]
Clarifies whitespace and eol.

3 years agoCleans up doublequotes
Robert Baruch [Wed, 25 Nov 2020 17:58:36 +0000 (09:58 -0800)]
Cleans up doublequotes

3 years agoClarifies use of integers, and character set.
Robert Baruch [Wed, 25 Nov 2020 17:53:39 +0000 (09:53 -0800)]
Clarifies use of integers, and character set.

3 years agoAdd verilog backend option for simple_lhs
Miodrag Milanovic [Wed, 25 Nov 2020 17:21:41 +0000 (18:21 +0100)]
Add verilog backend option for simple_lhs

3 years agoClarifies processes, corrects some attributes
Robert Baruch [Wed, 25 Nov 2020 16:59:25 +0000 (08:59 -0800)]
Clarifies processes, corrects some attributes

3 years agortlil: remove dotted identifiers.
whitequark [Wed, 25 Nov 2020 16:47:20 +0000 (16:47 +0000)]
rtlil: remove dotted identifiers.

No one knows where they came from and they never did anything useful.

3 years agogenerate only simple assignments in verilog backend
Miodrag Milanovic [Wed, 25 Nov 2020 16:43:28 +0000 (17:43 +0100)]
generate only simple assignments in verilog backend

3 years agoMerge pull request #2133 from dh73/nodev_head
Claire Xen [Wed, 25 Nov 2020 08:44:23 +0000 (09:44 +0100)]
Merge pull request #2133 from dh73/nodev_head

Adding latch tests for shift&mask AST dynamic part-select enhancements

3 years agoRefactors for attributes.
Robert Baruch [Wed, 25 Nov 2020 05:59:53 +0000 (21:59 -0800)]
Refactors for attributes.

3 years agoMerge pull request #2442 from cr1901/sccache
whitequark [Wed, 25 Nov 2020 02:48:39 +0000 (02:48 +0000)]
Merge pull request #2442 from cr1901/sccache

Makefile: Add disabled-by-default ENABLE_SCCACHE config option.

3 years agoMerge pull request #2450 from nitz/sim-vcd-filename
whitequark [Wed, 25 Nov 2020 02:48:10 +0000 (02:48 +0000)]
Merge pull request #2450 from nitz/sim-vcd-filename

Add rewrite_filename for sim -vcd argument.

3 years agoMakefile: Update ABCREV to bring in sccache fixes.
William D. Jones [Wed, 25 Nov 2020 02:32:27 +0000 (21:32 -0500)]
Makefile: Update ABCREV to bring in sccache fixes.

3 years agoBump version
Yosys Bot [Wed, 25 Nov 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

3 years agoCleans up some descriptions and syntax
Robert Baruch [Tue, 24 Nov 2020 23:27:30 +0000 (15:27 -0800)]
Cleans up some descriptions and syntax

Now all rules ending in "-stmt" end in eol.

3 years agoAdd rewrite_filename for sim -vcd argument.
Chris Dailey [Tue, 24 Nov 2020 20:17:16 +0000 (15:17 -0500)]
Add rewrite_filename for sim -vcd argument.

3 years agoMerge pull request #2428 from whitequark/check-processes
whitequark [Tue, 24 Nov 2020 15:04:42 +0000 (15:04 +0000)]
Merge pull request #2428 from whitequark/check-processes

check: add support for processes

3 years agoMerge pull request #2448 from nitz/tcl-script-documentation-fixes
Miodrag Milanović [Tue, 24 Nov 2020 06:51:56 +0000 (07:51 +0100)]
Merge pull request #2448 from nitz/tcl-script-documentation-fixes

Tcl script documentation fixes

3 years agoMerge pull request #2295 from epfl-vlsc/firrtl_blackbox_generic_parameters
Miodrag Milanović [Tue, 24 Nov 2020 06:50:17 +0000 (07:50 +0100)]
Merge pull request #2295 from epfl-vlsc/firrtl_blackbox_generic_parameters

Add firrtl backend support for generic parameters in blackbox components

3 years agotcl -h message only if YOSYS_ENABLE_TCL defined.
nitz [Tue, 24 Nov 2020 02:48:44 +0000 (21:48 -0500)]
tcl -h message only if YOSYS_ENABLE_TCL defined.

3 years agoFormatting fixes
Sahand Kashani [Mon, 23 Nov 2020 09:43:59 +0000 (10:43 +0100)]
Formatting fixes

3 years agoAdds missing "end" and eol to module.
Robert Baruch [Mon, 23 Nov 2020 05:08:58 +0000 (21:08 -0800)]
Adds missing "end" and eol to module.

3 years agoUpdate to Values #2
Robert Baruch [Mon, 23 Nov 2020 02:50:41 +0000 (18:50 -0800)]
Update to Values #2

3 years agoUpdate to Values section
Robert Baruch [Mon, 23 Nov 2020 02:48:21 +0000 (18:48 -0800)]
Update to Values section

3 years agoAdds appendix on RTLIL text format
Robert Baruch [Sun, 22 Nov 2020 20:56:29 +0000 (12:56 -0800)]
Adds appendix on RTLIL text format

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

3 years agoMerge pull request #2443 from YosysHQ/dave/nexus-mult-infer
Miodrag Milanović [Fri, 20 Nov 2020 09:30:56 +0000 (10:30 +0100)]
Merge pull request #2443 from YosysHQ/dave/nexus-mult-infer

nexus: Multiplier inference support

3 years agonexus: DSP inference support
David Shah [Fri, 20 Nov 2020 08:26:58 +0000 (08:26 +0000)]
nexus: DSP inference support

Signed-off-by: David Shah <dave@ds0.me>
3 years agoMakefile: Add disabled-by-default ENABLE_SCCACHE config option.
William D. Jones [Thu, 19 Nov 2020 18:23:54 +0000 (13:23 -0500)]
Makefile: Add disabled-by-default ENABLE_SCCACHE config option.

3 years agoBump version
Yosys Bot [Thu, 19 Nov 2020 00:10:10 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2441 from YosysHQ/dave/nexus_dsp_sim
Miodrag Milanović [Wed, 18 Nov 2020 11:22:05 +0000 (12:22 +0100)]
Merge pull request #2441 from YosysHQ/dave/nexus_dsp_sim

nexus: Add DSP simulation model

3 years agonexus: Add DSP simulation model
David Shah [Tue, 17 Nov 2020 11:56:18 +0000 (11:56 +0000)]
nexus: Add DSP simulation model

Signed-off-by: David Shah <dave@ds0.me>
3 years agoFix duplicated parameter name typo
Miodrag Milanovic [Wed, 18 Nov 2020 09:03:57 +0000 (10:03 +0100)]
Fix duplicated parameter name typo

3 years agoBump version
Yosys Bot [Tue, 17 Nov 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

3 years agobackends/blif: Remove unused vector of strings (#2420)
William Woodruff [Mon, 16 Nov 2020 08:31:48 +0000 (03:31 -0500)]
backends/blif: Remove unused vector of strings (#2420)

* backends/blif: Remove unused vector of strings

For reasons that are unclear to me, this was being used to store every
result of `cstr` before returning them. The vector was never accessed otherwise,
resulting in a huge unnecessary memory sink when emitting to BLIF.

* backends/blif: Remove CSTR macro

* backends/blif: Actually call str()

3 years agoMerge pull request #2438 from kbeckmann/gowin_rpll
Miodrag Milanović [Mon, 16 Nov 2020 08:30:54 +0000 (09:30 +0100)]
Merge pull request #2438 from kbeckmann/gowin_rpll

synth_gowin: Add rPLL blackbox

3 years agosynth_gowin: Add rPLL blackbox
Konrad Beckmann [Wed, 11 Nov 2020 16:01:50 +0000 (17:01 +0100)]
synth_gowin: Add rPLL blackbox

3 years agoBump version
Yosys Bot [Wed, 11 Nov 2020 00:10:17 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2433 from YosysHQ/paths_as_globals
Miodrag Milanović [Tue, 10 Nov 2020 07:05:42 +0000 (08:05 +0100)]
Merge pull request #2433 from YosysHQ/paths_as_globals

Expose abc and data paths as globals for pyosys

3 years agoBump version
Yosys Bot [Sun, 8 Nov 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2414 from zeldin/abc-depend-clang-fix
whitequark [Sat, 7 Nov 2020 18:48:03 +0000 (18:48 +0000)]
Merge pull request #2414 from zeldin/abc-depend-clang-fix

Prevent CXXFLAGS from leaking to abc Makefile

3 years agoPrevent CXXFLAGS from leaking to abc Makefile
Marcus Comstedt [Tue, 27 Oct 2020 13:04:28 +0000 (14:04 +0100)]
Prevent CXXFLAGS from leaking to abc Makefile

This fixes an issue with abc/depends.sh when the compiler is clang.

3 years agoMerge pull request #2432 from Xiretza/nexus-tests
Miodrag Milanović [Sat, 7 Nov 2020 14:07:45 +0000 (15:07 +0100)]
Merge pull request #2432 from Xiretza/nexus-tests

Update nexus arch tests to new harness

3 years agoExpose abc and data paths as globals
Miodrag Milanovic [Fri, 6 Nov 2020 13:17:15 +0000 (14:17 +0100)]
Expose abc and data paths as globals

3 years agocheck: add support for processes.
whitequark [Tue, 3 Nov 2020 15:36:27 +0000 (15:36 +0000)]
check: add support for processes.

3 years agocheck: reformat log/help text to match most other passes
whitequark [Mon, 2 Nov 2020 06:33:03 +0000 (06:33 +0000)]
check: reformat log/help text to match most other passes

3 years agoBump version
Yosys Bot [Tue, 3 Nov 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2426 from whitequark/cxxrtl-auto-top
whitequark [Mon, 2 Nov 2020 20:58:10 +0000 (20:58 +0000)]
Merge pull request #2426 from whitequark/cxxrtl-auto-top

cxxrtl: run `hierarchy -auto-top` if no top module is present

3 years agocxxrtl: run `hierarchy -auto-top` if no top module is present.
whitequark [Mon, 2 Nov 2020 19:18:56 +0000 (19:18 +0000)]
cxxrtl: run `hierarchy -auto-top` if no top module is present.

In most cases, a CXXRTL simulation would use a top module, either
because this module serves as an entry point to the CXXRTL C API,
or because the outputs of a top module are unbuffered, improving
performance. Taking this into account, the CXXRTL backend now runs
`hierarchy -auto-top` if there is no top module. For the few cases
where this behavior is unwanted, it now accepts a `-nohierarchy`
option.

Fixes #2373.

3 years agoBump version
Yosys Bot [Mon, 2 Nov 2020 00:10:06 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2425 from whitequark/cxxrtl-meminit-constness
whitequark [Sun, 1 Nov 2020 17:08:42 +0000 (17:08 +0000)]
Merge pull request #2425 from whitequark/cxxrtl-meminit-constness

cxxrtl: don't assert on non-constant $meminit inputs

3 years agocxxrtl: don't assert on non-constant $meminit inputs.
whitequark [Sun, 1 Nov 2020 15:25:55 +0000 (15:25 +0000)]
cxxrtl: don't assert on non-constant $meminit inputs.

Fixes #2129.

3 years agoMerge pull request #2424 from whitequark/cxxrtl-multiple-drivers
whitequark [Sun, 1 Nov 2020 13:52:59 +0000 (13:52 +0000)]
Merge pull request #2424 from whitequark/cxxrtl-multiple-drivers

cxxrtl: don't assert on wires with multiple drivers

3 years agocxxrtl: don't assert on wires with multiple drivers.
whitequark [Sun, 1 Nov 2020 12:49:20 +0000 (12:49 +0000)]
cxxrtl: don't assert on wires with multiple drivers.

Fixes #2374.

3 years agoBump version
Yosys Bot [Sun, 1 Nov 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2416 from QuantamHD/master
whitequark [Sat, 31 Oct 2020 07:59:44 +0000 (07:59 +0000)]
Merge pull request #2416 from QuantamHD/master

Adds support for defining abc location at runtime

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

3 years agoUpdate verific version
Miodrag Milanovic [Fri, 30 Oct 2020 07:32:59 +0000 (08:32 +0100)]
Update verific version

3 years agoUpdate nexus arch tests to new harness
Xiretza [Thu, 29 Oct 2020 13:42:07 +0000 (14:42 +0100)]
Update nexus arch tests to new harness

3 years agoThis patch adds support for defining the ABC location at runtime instead of at compil...
Ethan Mahintorabi [Thu, 29 Oct 2020 01:59:59 +0000 (18:59 -0700)]
This patch adds support for defining the ABC location at runtime instead of at compile time. This is helpful in build systems like bazel which do not have stable locations for binaries or directories during the compilation phase.

This change should be backwards compatible with the existing behavior.

3 years agoBump version
Yosys Bot [Sun, 25 Oct 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

3 years agoxilinx: Fix attributes_test.ys
Marcelina Kościelnicka [Fri, 23 Oct 2020 17:04:00 +0000 (19:04 +0200)]
xilinx: Fix attributes_test.ys

This test pretty much passes by accident — the `prep` command runs
memory_collect without memory_dff first, which prevents merging read
register into the memory, and thus blocks block RAM inference for a
reason completely unrelated to the attribute.

The attribute setting didn't actually work because it was set on the
containing module instead of the actual memory.

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

3 years agonexus: Add make_transp to BRAMs
David Shah [Thu, 22 Oct 2020 14:11:59 +0000 (15:11 +0100)]
nexus: Add make_transp to BRAMs

Signed-off-by: David Shah <dave@ds0.me>
3 years agoMerge pull request #2403 from nakengelhardt/sim_timescale
N. Engelhardt [Thu, 22 Oct 2020 12:01:24 +0000 (14:01 +0200)]
Merge pull request #2403 from nakengelhardt/sim_timescale

sim -vcd: add date, version, and option for timescale

3 years agomemory_dff: Fix needlessly duplicating enable bits.
Marcelina Kościelnicka [Thu, 22 Oct 2020 08:37:44 +0000 (10:37 +0200)]
memory_dff: Fix needlessly duplicating enable bits.

When the register being merged into the EN signal happens to be a $sdff,
the current code creates a new $mux for every bit, even if they happen
to be identical (as is usually the case), preventing proper grouping
further down the flow.  Fix this by adding a simple cache.

Fixes #2409.

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

3 years agobtor: Use Mem helper.
Marcelina Kościelnicka [Sun, 18 Oct 2020 01:28:36 +0000 (03:28 +0200)]
btor: Use Mem helper.

3 years agosmt2: Use Mem helper.
Marcelina Kościelnicka [Sun, 18 Oct 2020 01:09:45 +0000 (03:09 +0200)]
smt2: Use Mem helper.

3 years agoverilog_backend: Use Mem helper.
Marcelina Kościelnicka [Sat, 17 Oct 2020 19:48:38 +0000 (21:48 +0200)]
verilog_backend: Use Mem helper.

3 years agosim: Use Mem helper.
Marcelina Kościelnicka [Sat, 17 Oct 2020 13:49:36 +0000 (15:49 +0200)]
sim: Use Mem helper.

3 years agoclk2fflogic: Use Mem helper.
Marcelina Kościelnicka [Fri, 16 Oct 2020 23:39:22 +0000 (01:39 +0200)]
clk2fflogic: Use Mem helper.

3 years agoopt_mem: Use Mem helpers.
Marcelina Kościelnicka [Sat, 17 Oct 2020 20:21:05 +0000 (22:21 +0200)]
opt_mem: Use Mem helpers.

3 years agomemory_bram: Use Mem helpers.
Marcelina Kościelnicka [Sat, 17 Oct 2020 20:20:55 +0000 (22:20 +0200)]
memory_bram: Use Mem helpers.

3 years agomemory_map: Use Mem helpers.
Marcelina Kościelnicka [Sat, 17 Oct 2020 20:20:32 +0000 (22:20 +0200)]
memory_map: Use Mem helpers.

3 years agomemory_unpack: Use Mem helpers.
Marcelina Kościelnicka [Sat, 17 Oct 2020 20:20:47 +0000 (22:20 +0200)]
memory_unpack: Use Mem helpers.