| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Add latch detection for use_case_method in part-select write
|
| |
| |
| |
| | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|/ |
|
|\
| |
| | |
Implementation of SV structs.
|
| |\ |
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Preserve 'signed'-ness of a verilog wire through RTLIL
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As per suggestion made in https://github.com/YosysHQ/yosys/pull/1987, now:
RTLIL::wire holds an is_signed field.
This is exported in JSON backend
This is exported via dump_rtlil command
This is read in via ilang_parser
|
|\ \ \
| | | |
| | | | |
ast/simplify: don't bitblast async ROMs declared as `logic`
|
| | | |
| | | |
| | | |
| | | | |
Fixes #2020.
|
| | | |
| | | |
| | | |
| | | | |
Fixes #2058.
|
|\ \ \ \
| |_|_|/
|/| | | |
ast: swap range regardless of range_left >= 0
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Avoid switch fall-through warnings
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
C++17 introduced [[fallthrough]], GCC and clang had their own vendored
attributes before that. MSVC doesn't seem to have such a warning at all.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Add "nowrshmsk" attribute, fix shift-and-mask bit slice write for signed offset
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
offset, fixes #1990
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|\ \ \ \
| | | | |
| | | | | |
frontend: cleanup to use more ID::*, more dict<> instead of map<>
|
| | |/ /
| |/| | |
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
frontend: Include complete source location instead of just `location.first_line` in `frontends/ast/genrtlil.cc`.
|
| |/
| |
| |
| | |
`location.first_line` in `frontends/ast/genrtlil.cc`.
|
|/
|
|
| |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|
|
|
| |
Fixes #1819, #1820.
|
|\
| |
| | |
Improved rewrite code for writing to bit slice
|
| |
| |
| |
| | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
| |
| |
| |
| | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the new rewrite rule. But it's still missing a check that makes
sure the new rewrite rule is actually a valid substitute in the always
block being processed. Therefore the new rewrite rule is just disabled
for now.
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|\ \
| | |
| | | |
ast, rpc: record original name of $paramod\* as \hdlname attribute
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The $paramod name mangling is not invertible (the \ character, which
separates the module name from the parameters, is valid in the module
name itself), which does not stop people from trying to invert it.
This commit makes it easy to invert the name mangling by storing
the original name explicitly, and fixes the firrtl backend to use
the newly introduced attribute.
|
|/ /
| |
| |
| | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|/
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
|\
| |
| | |
ast/simplify: improve enum handling
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this commit, enum values were serialized as attributes of form
\enum_<width>_<value>
where <value> was a decimal signed integer.
This has multiple drawbacks:
* Enums with large values would be hard to process for downstream
tooling that cannot parse arbitrary precision decimals. (In fact
Yosys also did not correctly process enums with large values,
and would overflow `int`.)
* Enum value attributes were not confined to their own namespace,
making it harder for downstream tooling to enumerate all such
attributes, as opposed to looking up any specific value.
* Enum values could not include x or z, which are explicitly
permitted in the SystemVerilog standard.
After this commit, enum values are serialized as attributes of form
\enum_value_<value>
where <value> is a bit sequence of the appropriate width.
|
| |
| |
| |
| | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|\ \
| | |
| | | |
support using previously declared types/localparams/parameters in package
|
| |/
| |
| |
| |
| |
| |
| | |
(parameters in systemverilog packages can't actually be overridden, so
allowing parameters in addition to localparams doesn't actually add any
new functionality, but it's useful to be able to use the parameter
keyword also)
|
|/ |
|
|\
| |
| | |
ast: cap dynamic range select to size of signal, suppresses warnings
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
kernel: speedup by using more pass-by-const-ref
|
| | | |
|
|\ \ \
| | |/
| |/| |
ast: simplify to fully populate dynamic slicing case transformation
|
| |/ |
|