| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
otherwise error
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add support for non-power-of-two mem chunks in verific importer
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
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>
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
verilog: allow null gen-if then block
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
frontend: cleanup to use more ID::*, more dict<> instead of map<>
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
verilog: set src attribute for primitives
|
| |/ / / / |
|
|/ / / / |
|
|\ \ \ \
| |_|/ /
|/| | | |
frontend: Include complete source location instead of just `location.first_line` in `frontends/ast/genrtlil.cc`.
|
| | |/
| |/|
| | |
| | | |
`location.first_line` in `frontends/ast/genrtlil.cc`.
|
| |/
|/| |
|
|\ \
| | |
| | | |
Add WASI platform support
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This includes the following significant changes:
* Patching ezsat and minisat to disable resource limiting code
on WASM/WASI, since the POSIX functions they use are unavailable.
* Adding a new definition, YOSYS_DISABLE_SPAWN, present if platform
does not support spawning subprocesses (i.e. Emscripten or WASI).
This definition hides the definition of `run_command()`.
* Adding a new Makefile flag, DISABLE_SPAWN, present in the same
condition. This flag disables all passes that require spawning
subprocesses for their function.
|
|\ \ \
| |/ /
|/| | |
Clear current_scope when done with RTLIL generation
|
| | |
| | |
| | |
| | | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/|
| |
| | |
This reverts commit 5028e17f7db11f901ce9e423dfe2c6f7e68259cc.
|
| | |
|
|/ |
|
|
|
|
| |
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>
|
| | | |
|
|/ /
| |
| |
| | |
nodes.
|
| | |
|
|/
|
|
| |
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)
|
|\ \ \
| |_|/
|/| | |
duplicated enum item names should result in an error
|