| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
add argument for printing cell names in yosys-smtbmc
|
| | |
|
|\ \
| | |
| | | |
fix handling of escaped chars in json backend and frontend (mostly)
|
| |/ |
|
|/
|
|
|
|
| |
smtbmc.py
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
|
|
|
| |
Fixes #3177.
|
| |
|
| |
|
|
|
|
|
|
| |
Fixes #3112.
Co-authored-by: Irides <irides@irides.network>
|
|
|
|
|
|
|
| |
This should remove instances of zero-width sigspecs in the netlist,
avoiding problems in the Verilog backend with emitting them.
See #3103.
|
|\
| |
| | |
cxxrtl: preserve interior memory pointers across reset
|
| |
| |
| |
| |
| |
| |
| |
| | |
Before this commit, values, wires, and memories with an initializer
were value-initialized in emitted C++ code. After this commit, all
values, wires, and memories are default-initialized, and the default
constructor of generated modules calls the reset() method, which
assigns the members that have an initializer.
|
| |
| |
| |
| | |
This makes the depth properly immutable.
|
| |
| |
| |
| |
| | |
Without this, empty connections will be always skipped by `dump`, since
they contain no selected wires. This makes debugging rather confusing.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, zero width sigspecs were dumped as "" (empty
string). Unfortunately, 1364-2005 5.2.3.3 indicates that an empty
string is equivalent to "\0", and is 8 bits wide, so that's wrong.
After this commit, a replication operation with a count of zero is
used instead, which is explicitly permitted per 1364-2005 5.1.14,
and is defined to have size zero. (Its operand has to have a non-zero
size for it to be legal, though.)
PR #1203 has addressed this issue before, but in an incomplete way.
|
|
|
|
| |
Co-authored-by: Eddie Hung <eddie@fpgeh.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- *_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
|
|
|
|
| |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
|
|
|
|
|
|
| |
backends/protobuf/protobuf.cc depends on the source and header files
generated by protoc, but this dependency wasn't explicitly declared. Add
a rule to the Makefile to fix intermittent build failures when the
protobuf header/source file isn't built before protobuf.cc.
|
|
|
|
| |
Fixes #2999.
|
| |
|
|
|
|
|
|
| |
This mode will be used whenever read port cannot be handled in the
"extract address register" way, ie. whenever it has enable, reset,
init functionality or (in the future) mixed transparency mask.
|
| |
|
|\
| |
| | |
cxxrtl: treat wires with multiple defs as not inlinable
|
| |
| |
| |
| | |
Fixes #2883.
|
|/
|
|
|
|
| |
This issue was introduced in commit 4aa65f40 while fixing #2739.
Fixes #2882.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following VCD file crashes GTKWave's VCD loader:
$var wire 1 ! x:1 $end
$enddefinitions $end
In practice, a colon can be a part of a variable name that is
translated from a Verilog function, something like:
update$func$.../hdl/hazard3_csr.v:350$2534.$result
|
|
|
|
| |
Fixes #2877.
|
|
|
|
| |
Fixes #2739 (again).
|
|\
| |
| | |
cxxrtl: run hierarchy pass regardless of (*top*) attribute presence
|
| |
| |
| |
| |
| |
| |
| | |
The hierarchy pass does a lot more than just finding the top module,
mainly resolving implicit (positional, wildcard) module connections.
Fixes #2589.
|
|\ \
| | |
| | | |
cxxrtl: emit debug items for unused public wires
|
| |/
| |
| |
| |
| |
| | |
This greatly improves debug information coverage.
Fixes #2500.
|
|/
|
|
|
|
| |
Ports can be connected to constants, too. (Usually resets.)
Fixes #2521.
|
|
|
|
|
|
|
|
|
|
| |
Public wires may alias buffered internal wires, so keep BUFFERED
wires in debug information even if they are private. Debug items are
only created for public wires, so this does not otherwise affect how
debug information is emitted.
Fixes #2540.
Fixes #2841.
|
|
|
|
| |
Fixes #2739.
|
|
|
|
|
|
|
| |
While this helper is already useful to squash sequential initializations
into one in cxxrtl, its main purpose is to squash overlapping masked memory
initializations (when they land) and avoid having to deal with them in
cxxrtl runtime.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This *only* does conversion, but doesn't add any new functionality —
support for memory read port init/reset is still upcoming.
|
|
|
|
| |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
|
|
|
|
|
|
|
| |
s/((Claire|Xen|Xenia|Clifford)\s+)+(Wolf|Xen)\s+<(claire|clifford)@(symbioticeda.com|clifford.at|yosyshq.com)>/Claire Xenia Wolf <claire@yosyshq.com>/gi;
s/((Nina|Nak|N\.)\s+)+Engelhardt\s+<nak@(symbioticeda.com|yosyshq.com)>/N. Engelhardt <nak@yosyshq.com>/gi;
s/((David)\s+)+Shah\s+<(dave|david)@(symbioticeda.com|yosyshq.com|ds0.me)>/David Shah <dave@ds0.me>/gi;
s/((Miodrag)\s+)+Milanovic\s+<(miodrag|micko)@(symbioticeda.com|yosyshq.com)>/Miodrag Milanovic <micko@yosyshq.com>/gi;
s,https?://www.clifford.at/yosys/,http://yosyshq.net/yosys/,g;
|
|
|
|
|
|
| |
This essentially adds wide port support for free in passes that don't
have a usefully better way of handling wide ports than just breaking
them up to narrow ports, avoiding "please run memory_narrow" annoyance.
|
| |
|