yosys.git
3 years agoBump version
Yosys Bot [Thu, 24 Dec 2020 00:10:08 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2502 from ldoolitt/master
whitequark [Wed, 23 Dec 2020 23:36:13 +0000 (23:36 +0000)]
Merge pull request #2502 from ldoolitt/master

passes/pmgen/pmgen.py: trivial change to remove C++ compiler warnings

3 years agoMerge pull request #2501 from zachjs/genrtlil-tern-sign
whitequark [Wed, 23 Dec 2020 23:15:56 +0000 (23:15 +0000)]
Merge pull request #2501 from zachjs/genrtlil-tern-sign

genrtlil: fix mux2rtlil generated wire signedness

3 years agoMerge pull request #2476 from zachjs/const-arg-width
whitequark [Wed, 23 Dec 2020 23:15:30 +0000 (23:15 +0000)]
Merge pull request #2476 from zachjs/const-arg-width

Fix constants bound to single bit arguments (fixes #2383)

3 years agopasses/pmgen/pmgen.py: trivial change to remove C++ compiler warnings
Larry Doolittle [Wed, 23 Dec 2020 22:38:25 +0000 (14:38 -0800)]
passes/pmgen/pmgen.py: trivial change to remove C++ compiler warnings

Verified that the result still builds and passes self-tests

3 years agogenrtlil: fix mux2rtlil generated wire signedness
Zachary Snow [Wed, 23 Dec 2020 00:38:51 +0000 (17:38 -0700)]
genrtlil: fix mux2rtlil generated wire signedness

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

3 years agoFix constants bound to single bit arguments (fixes #2383)
Zachary Snow [Sun, 6 Dec 2020 01:56:18 +0000 (18:56 -0700)]
Fix constants bound to single bit arguments (fixes #2383)

3 years agoMerge pull request #2499 from whitequark/cxxrtl-fixes
whitequark [Tue, 22 Dec 2020 12:00:38 +0000 (12:00 +0000)]
Merge pull request #2499 from whitequark/cxxrtl-fixes

cxxrtl: don't crash generating debug information for unused wires

3 years agocxxrtl: don't crash generating debug information for unused wires.
whitequark [Tue, 22 Dec 2020 06:46:44 +0000 (06:46 +0000)]
cxxrtl: don't crash generating debug information for unused wires.

3 years agoMerge pull request #2498 from StefanBruens/Fix_opt_lut
whitequark [Tue, 22 Dec 2020 06:15:04 +0000 (06:15 +0000)]
Merge pull request #2498 from StefanBruens/Fix_opt_lut

Fix use-after-free in LUT opt pass

3 years agoMerge pull request #2497 from whitequark/cxxrtl-reflow
whitequark [Tue, 22 Dec 2020 06:12:39 +0000 (06:12 +0000)]
Merge pull request #2497 from whitequark/cxxrtl-reflow

cxxrtl: completely rewrite netlist layout code

3 years agocxxrtl: split processes into sync and case nodes.
whitequark [Tue, 22 Dec 2020 00:07:45 +0000 (00:07 +0000)]
cxxrtl: split processes into sync and case nodes.

Similar to the treatment of black boxes, splitting processes into two
scheduling nodes adds sufficient freedom so that netlists with
well-behaved processes (e.g. those emitted by nMigen) can immediately
converge.

Because processes are not emitted into edge-triggered regions, this
approach has comparable performance to -O5 (without -noproc), which
is substantially slower than -O6.

3 years agokernel: undef Tcl macros interfering with cxxrtl.
whitequark [Mon, 21 Dec 2020 21:17:33 +0000 (21:17 +0000)]
kernel: undef Tcl macros interfering with cxxrtl.

3 years agocxxrtl: completely rewrite netlist layout code.
whitequark [Mon, 21 Dec 2020 21:00:46 +0000 (21:00 +0000)]
cxxrtl: completely rewrite netlist layout code.

The exact shape of C++ code emitted by CXXRTL has a critical effect
on performance, both compile-time and runtime. CXXRTL's performance
greatly improved when it started localizing and inlining wires, not
only because this assists the optimizer and register allocator, but
also because inlining code into edge-triggered regions cuts the time
spent in eval() by at least a factor of two.

However, the logic of netlist layout has always been ad-hoc, fragile,
and very hard to understand and modify. After commit ece25a45, which
introduced outlining, the same logic started being applied to two
distinct netlists at once instead of one, which barely worked.

This commit does four major changes:
  * There is now a single unambiguous source of truth (per subgraph)
    for the layout of any emitted wire.
  * Netlist layout is now done entirely during analysis using well
    known graph algorithms; no graph operations happen when emitting.
  * Netlist layout now happens completely separately for eval() and
    debug_eval() subgraphs.
  * Unreachable (within subgraph scope) netlist nodes are now neither
    emitted nor considered for wire inlining decisions.
The netlist layout code should also now closely match the described
semantics.

As a part of this large cleanup, it includes many miscellaneous
improvements:
  * The "bare minimum" debug level introduced in commit dd6a761d was
    split into two levels; -g1 now emits debug information *only* for
    inputs and state wires, and -g2 now emits debug information for
    all public members. The old behavior matches -g2. This is done
    to avoid bloat on low optimization levels.
  * Debug aliases and inlined connections are now handled separately,
    and complex RHS never interferes with inlined connections.
  * Aliases to outlined wires now carry a pointer to the outline.
  * Cell sync outputs can now be emitted in debug_eval().
  * Black box debug information now includes comb/sync driver flags.
  * The comment emitted for inlined cells is now accurate.
  * Debug information statistics now has less noise.
  * Netlist layout code is now much better documented.

Due to more precise inlining decisions, unmodified (i.e. with no
Yosys script being used) netlists now have much more logic inlined
into edge-triggered regions. On Minerva SoC SRAM, this improves
runtime by 20-25% across compilers and optimization levels.

Due to more precise reachability analysis, much less C++ code is now
emitted, especially at the maximum debug level. On Minerva SoC SRAM,
this improves clang compile time by 30-50% depending on options.
gcc is not affected.

3 years agoFix use-after-free in LUT opt pass
StefanBruens [Tue, 22 Dec 2020 02:23:42 +0000 (03:23 +0100)]
Fix use-after-free in LUT opt pass

RTLIL::Module::remove(Cell* cell) calls `delete cell`.

Any subsequent accesses of `cell` then causes undefined behavior.

3 years agoMerge pull request #2479 from zachjs/const-arg-hint
whitequark [Tue, 22 Dec 2020 01:31:25 +0000 (01:31 +0000)]
Merge pull request #2479 from zachjs/const-arg-hint

Allow constant function calls in constant function arguments

3 years agoMerge pull request #2491 from zachjs/port-bind-sign
whitequark [Tue, 22 Dec 2020 01:30:29 +0000 (01:30 +0000)]
Merge pull request #2491 from zachjs/port-bind-sign

Sign extend port connections where necessary

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

3 years agocxxrtl: simplify logic choosing wire type. NFCI.
whitequark [Mon, 21 Dec 2020 06:05:42 +0000 (06:05 +0000)]
cxxrtl: simplify logic choosing wire type. NFCI.

3 years agocxxrtl: clarify node use-def construction. NFCI.
whitequark [Mon, 21 Dec 2020 06:04:10 +0000 (06:04 +0000)]
cxxrtl: clarify node use-def construction. NFCI.

3 years agocxxrtl: fix typo.
whitequark [Mon, 21 Dec 2020 07:24:26 +0000 (07:24 +0000)]
cxxrtl: fix typo.

3 years agoxilinx: Add some missing blackbox cells.
Marcelina Kościelnicka [Sat, 19 Dec 2020 17:14:06 +0000 (18:14 +0100)]
xilinx: Add some missing blackbox cells.

3 years agoxilinx: Regenerate cells_xtra.v using Vivado 2020.2
Marcelina Kościelnicka [Fri, 18 Dec 2020 19:51:26 +0000 (20:51 +0100)]
xilinx: Regenerate cells_xtra.v using Vivado 2020.2

3 years agoMerge pull request #2496 from whitequark/cxxrtl-fixes
whitequark [Mon, 21 Dec 2020 04:32:18 +0000 (04:32 +0000)]
Merge pull request #2496 from whitequark/cxxrtl-fixes

cxxrtl: various improvements

3 years agocxxrtl: speed up bit repeats (sign extends, etc).
whitequark [Mon, 21 Dec 2020 02:15:55 +0000 (02:15 +0000)]
cxxrtl: speed up bit repeats (sign extends, etc).

On Minerva SoC SRAM, depending on the compiler, this change improves
overall time by 4-7%.

3 years agocxxrtl: speed up commits on clang.
whitequark [Mon, 21 Dec 2020 00:22:50 +0000 (00:22 +0000)]
cxxrtl: speed up commits on clang.

On Minerva SoC SRAM compiled with clang-11, this change cuts commit
time in half (!) and overall time by 20%. When compiled with gcc-10,
there is no difference.

3 years agocxxrtl: use `static inline` instead of `inline` in the C API.
whitequark [Sun, 20 Dec 2020 14:48:16 +0000 (14:48 +0000)]
cxxrtl: use `static inline` instead of `inline` in the C API.

In C, non-static inline functions require an implementation elsewhere
(even though the body is right there in the header). It is basically
never desirable to use those as opposed to static inline ones.

3 years agoBump version
Yosys Bot [Sun, 20 Dec 2020 00:10:10 +0000 (00:10 +0000)]
Bump version

3 years agoMerge pull request #2487 from whitequark/cxxrtl-outlining
whitequark [Sat, 19 Dec 2020 04:14:31 +0000 (04:14 +0000)]
Merge pull request #2487 from whitequark/cxxrtl-outlining

CXXRTL: implement zero-cost full coverage debug information through the magic✨ of outlining🪄🎀🧹

3 years agoSign extend port connections where necessary
Zachary Snow [Fri, 18 Dec 2020 19:59:08 +0000 (12:59 -0700)]
Sign extend port connections where necessary

- Signed cell outputs are sign extended when bound to larger wires
- Signed connections are sign extended when bound to larger cell inputs
- Sign extension is performed in hierarchy and flatten phases
- genrtlil indirects signed constants through signed wires
- Other phases producing RTLIL may need to be updated to preserve
  signedness information
- Resolves #1418
- Resolves #2265

3 years agoBump version
Yosys Bot [Fri, 18 Dec 2020 00:10:05 +0000 (00:10 +0000)]
Bump version

3 years agoxilinx: Add FDDRCPE and FDDRRSE blackbox cells.
Marcelina Kościelnicka [Wed, 16 Dec 2020 23:24:48 +0000 (00:24 +0100)]
xilinx: Add FDDRCPE and FDDRRSE blackbox cells.

These are necessary primitives for proper DDR support on Virtex 2 and
Spartan 3.

3 years agocxxrtl: print names of cells inlined in connections.
whitequark [Tue, 15 Dec 2020 03:46:06 +0000 (03:46 +0000)]
cxxrtl: print names of cells inlined in connections.

3 years agocxxrtl: disable optimization of debug_items().
whitequark [Sun, 13 Dec 2020 18:16:55 +0000 (18:16 +0000)]
cxxrtl: disable optimization of debug_items().

Implementing outlining has greatly increased the amount of debug
information in a typical build, and consequently exposed performance
issues in C++ compilers, which are similar for both GCC and Clang;
the compile time of Minerva SoC SRAM increased almost twofold.

Although one would expect the slowdown to be caused by the increased
use of templates in `debug_eval()`, it is actually almost entirely
attributable to optimizations and codegen for `debug_items()`.

Fortunately, it is neither possible nor desirable to optimize
`debug_items()`: in most cases it is called exactly once, and its
body is a linear sequence of calls with unique arguments.

This commit turns off optimizations for `debug_items()` on GCC and
Clang, improving -Os compile time of Minerva SoC SRAM by ~40% (!)

3 years agocxxrtl: make alias analysis outlining-aware.
whitequark [Sun, 13 Dec 2020 15:33:47 +0000 (15:33 +0000)]
cxxrtl: make alias analysis outlining-aware.

Before this commit, if a sequence of wires assigned in a chain would
terminate on a cell, none of the wires would get marked as aliases,
and typically all of the public wires would get outlined. The reason
for this behavior is that alias analysis predates outlining and in
fact runs before it.

After this commit, alias analysis runs after outlining and considers
outlined wires valid aliasees. More importantly, if the chained wires
contain any valid aliasees, then all of the wires are aliased to
the one that is topologically deepest.

Aliased wires incur virtually no overhead for the VCD writer, unlike
outlined wires that would otherwise take their place. On Minerva SoC
SRAM, size of the full VCD dump is reduced by ~65%, and throughput
is increased by ~55%.

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

3 years agotiminginfo: Error instead of segfault on const signals.
Marcelina Kościelnicka [Mon, 14 Dec 2020 17:14:42 +0000 (18:14 +0100)]
timinginfo: Error instead of segfault on const signals.

Reported by @Ravenslofty

3 years agocxxrtl: add a "bare minimum" debug information level.
whitequark [Sun, 13 Dec 2020 07:44:27 +0000 (07:44 +0000)]
cxxrtl: add a "bare minimum" debug information level.

Useful to reduce overhead when no debug capabilities are necessary
except for access to design state.

3 years agocxxrtl: implement debug information outlining.
whitequark [Sun, 13 Dec 2020 07:03:16 +0000 (07:03 +0000)]
cxxrtl: implement debug information outlining.

Aggressive wire localization and inlining is necessary for CXXRTL to
achieve high performance. However, that comes with a cost: reduced
debug information coverage. Previously, as a workaround, the `-Og`
option could have been used to guarantee complete coverage, at a cost
of a significant performance penalty.

This commit introduces debug information outlining. The main eval()
function is compiled with the user-specified optimization settings.
In tandem, an auxiliary debug_eval() function, compiled from the same
netlist, can be used to reconstruct the values of localized/inlined
signals on demand. To the extent that it is possible, debug_eval()
reuses the results of computations performed by eval(), only filling
in the missing values.

Benchmarking a representative design (Minerva SoC SRAM) shows that:
  * Switching from `-O4`/`-Og` to `-O6` reduces runtime by ~40%.
  * Switching from `-g1` to `-g2`, both used with `-O6`, increases
    compile time by ~25%.
  * Although `-g2` increases the resident size of generated modules,
    this has no effect on runtime.

Because the impact of `-g2` is minimal and the benefits of having
unconditional 100% debug information coverage (and the performance
improvement as well) are major, this commit removes `-Og` and changes
the defaults to `-O6 -g2`.

We'll have our cake and eat it too!

3 years agocxxrtl: rename "elision" to "inlining". NFC.
whitequark [Sun, 13 Dec 2020 00:34:32 +0000 (00:34 +0000)]
cxxrtl: rename "elision" to "inlining". NFC.

"Elision" in this context is an unusual and not very descriptive term
whereas "inlining" is common and straightforward. Also, introducing
"inlining" makes it easier to introduce its dual under the obvious
name "outlining".

3 years agocxxrtl: fix outdated comment. NFC.
whitequark [Sat, 12 Dec 2020 20:24:53 +0000 (20:24 +0000)]
cxxrtl: fix outdated comment. NFC.

3 years agocxxrtl: use IdString::isPublic(). NFC.
whitequark [Sun, 13 Dec 2020 00:54:12 +0000 (00:54 +0000)]
cxxrtl: use IdString::isPublic(). NFC.

3 years agoBump version
Yosys Bot [Sun, 13 Dec 2020 00:10:07 +0000 (00:10 +0000)]
Bump version

3 years agokernel: make IdString::isPublic() const.
whitequark [Sat, 12 Dec 2020 20:50:37 +0000 (20:50 +0000)]
kernel: make IdString::isPublic() const.

3 years agoMerge pull request #2485 from whitequark/cxxrtl-cell-input-buffering
whitequark [Sat, 12 Dec 2020 19:55:57 +0000 (19:55 +0000)]
Merge pull request #2485 from whitequark/cxxrtl-cell-input-buffering

cxxrtl: don't overwrite buffered inputs

3 years agocxxrtl: don't overwrite buffered inputs.
whitequark [Fri, 11 Dec 2020 23:30:32 +0000 (23:30 +0000)]
cxxrtl: don't overwrite buffered inputs.

Before this commit, a cell's input was always assigned like:

    p_cell.p_input = (value...);

If `p_input` is buffered (e.g. if the design is built at -O0), this
is not correct. (In practice, this breaks clocking.) Unfortunately,
the incorrect design was compiled without diagnostics because wire<>
was move-assignable and also implicitly constructible from value<>.

After this commit, cell inputs are no longer incorrectly assumed to
always be unbuffered, and wires are not assignable from values.

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

3 years agoMerge pull request #2483 from YosysHQ/pmgen_nice_error
Miodrag Milanović [Wed, 9 Dec 2020 10:19:30 +0000 (11:19 +0100)]
Merge pull request #2483 from YosysHQ/pmgen_nice_error

Return nice error in pmgen generated code, fixes #2482

3 years agoReturn nice error in pmgen generated code, fixes #2482
Miodrag Milanovic [Wed, 9 Dec 2020 10:06:22 +0000 (11:06 +0100)]
Return nice error in pmgen generated code, fixes #2482

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

3 years agoMerge pull request #2478 from whitequark/improve-bugpoint
whitequark [Tue, 8 Dec 2020 07:32:11 +0000 (07:32 +0000)]
Merge pull request #2478 from whitequark/improve-bugpoint

bugpoint: various improvements

3 years agoAllow constant function calls in constant function arguments
Zachary Snow [Mon, 7 Dec 2020 20:52:44 +0000 (13:52 -0700)]
Allow constant function calls in constant function arguments

3 years agobugpoint: add -wires option.
whitequark [Mon, 7 Dec 2020 09:24:35 +0000 (09:24 +0000)]
bugpoint: add -wires option.

3 years agobugpoint: try to remove whole processes first.
whitequark [Mon, 7 Dec 2020 08:27:25 +0000 (08:27 +0000)]
bugpoint: try to remove whole processes first.

3 years agobugpoint: accept quoted strings in -grep.
whitequark [Mon, 7 Dec 2020 08:23:32 +0000 (08:23 +0000)]
bugpoint: accept quoted strings in -grep.

3 years agobugpoint: add -command option.
whitequark [Mon, 7 Dec 2020 08:42:45 +0000 (08:42 +0000)]
bugpoint: add -command option.

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

3 years agoMerge pull request #2470 from whitequark/cxxrtl-create_at
whitequark [Thu, 3 Dec 2020 02:35:23 +0000 (02:35 +0000)]
Merge pull request #2470 from whitequark/cxxrtl-create_at

cxxrtl: allow customizing the root module path in the C API

3 years agocxxrtl: allow customizing the root module path in the C API.
whitequark [Thu, 3 Dec 2020 01:58:02 +0000 (01:58 +0000)]
cxxrtl: allow customizing the root module path in the C API.

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

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>

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

4 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

4 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".

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

4 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

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

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

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

4 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

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

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

4 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

4 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

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

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

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

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

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

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