| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The only difference between "RTLIL" and "ILANG" is that the latter is
the text representation of the former, as opposed to the in-memory
graph representation. This distinction serves no purpose but confuses
people: it is not obvious that the ILANG backend writes RTLIL graphs.
Passes `write_ilang` and `read_ilang` are provided as aliases to
`write_rtlil` and `read_rtlil` for compatibility.
|
|
|
|
|
| |
It has no effect on the output ($shiftx doesn't perform any sign
extension whatsoever), so an attempt to use it should be caught early.
|
|
|
|
|
|
| |
This reflects the behaviour of $shr/$shl, which sign-extend their A
operands to the size of their output, then do a logical shift (shift in
0-bits).
|
| |
|
|
|
|
|
| |
This fixes handling of messy cases involving repeatedly setting and
removing the same init bit.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This parameter will resolve to the name of the cell being mapped. The
first user of this parameter will be synth_intel_alm's Quartus output,
which requires a unique (and preferably descriptive) name passed as
a cell parameter for the memory cells.
|
| |
|
|
|
|
|
| |
This function has no hope of ever getting inlined anyway, and it speeds
up yosys compile time by 7%.
|
|
|
|
| |
See #2271.
|
|\
| |
| | |
Use (and ignore) the expression provided to log_assert in NDEBUG builds
|
| |
| |
| |
| |
| | |
[[maybe_unused]] is available since C++17, so this commit adds
a polyfill YS_MAYBE_UNUSED. Once we require C++17 we can drop it.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This avoids warnings in NDEBUG builds emitted when a variable is only
used in log_assert, but is always defined.
|
|\ \
| | |
| | | |
log and qbfsat: Also include child process usage in `PerformanceTimer::query()` and report the time for each call to the QBF-SAT solver
|
| | | |
|
| | |
| | |
| | |
| | | |
report the time for each call to the QBF-SAT solver.
|
| | |
| | |
| | |
| | |
| | |
| | | |
`log_signal()`.
Co-Authored-By: Claire Wolf <claire@symbioticeda.com>
|
| | |
| | |
| | |
| | | |
spec for writing to and specializing from a solution file.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new types include:
- FFs with async reset and enable (`$adffe`, `$_DFFE_[NP][NP][01][NP]_`)
- FFs with sync reset (`$sdff`, `$_SDFF_[NP][NP][01]_`)
- FFs with sync reset and enable, reset priority (`$sdffs`, `$_SDFFE_[NP][NP][01][NP]_`)
- FFs with sync reset and enable, enable priority (`$sdffce`, `$_SDFFCE_[NP][NP][01][NP]_`)
- FFs with async reset, set, and enable (`$dffsre`, `$_DFFSRE_[NP][NP][NP][NP]_`)
- latches with reset or set (`$adlatch`, `$_DLATCH_[NP][NP][01]_`)
The new FF types are not actually used anywhere yet (this is left
for future commits).
|
|\ \
| | |
| | | |
hashlib, rtlil: Add `operator+()` and `operator+=()` to `dict` iterators
|
| | |
| | |
| | |
| | |
| | |
| | | |
static analysis.
Co-Authored-By: whitequark <whitequark@whitequark.org>
|
| |/
| |
| |
| | |
`dict<>::const_iterator` and add `operator+()` and `operator+=()` to `ObjIterator`.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously this was tagged only with YS_ATTRIBUTE(noreturn), but not
YS_NORETURN, so it got lost in #2173, resulting in warnings in
frontends/ast/simplify.cc:
frontends/ast/simplify.cc:267:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
frontends/ast/simplify.cc:379:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Upgrading to WASI SDK 11.0 caused the WASM build to fail because WASM
does not have signals. (Arguably Yosys was broken even before, it was
just broken silently.)
|
| |
|
| |
|
|
|
|
|
| |
The only difference in behavior is that this removes the attribute
when the pool becomes empty.
|
|\
| |
| | |
Silence warning in select.cc and pass some more args by ref
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this patch, the code passed around std::string objects by
value. It's probably not a hot-spot, but it can't hurt to avoid the
copying.
Removing the copy and clean-up code means the resulting code is ~6.1kb
smaller when compiled with GCC 9.3 and standard settings.
|
|\ \
| | |
| | | |
Split `flatten` from `techmap` and simplify it
|
| | | |
|
|\ \ \
| | | |
| | | | |
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
|
|\ \ \ \
| |_|/ /
|/| | | |
Pyosys API: idict type handling
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- Also, re-applied no-line-break workaround to rtlil.h to make parser
catch all methods.
|
|\ \ \ \
| | | | |
| | | | | |
Clean up `passes/techmap/techmap.cc`
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Co-Authored-By: David Shah <dave@ds0.me>
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
a specialized template for `hash_ops`.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
`std::map` for `techmap_cache` and `techmap_do_cache`.
|