| 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
|
|
|
| |
This allows reliably coalescing the split wires later.
|
|\
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Pass a string argument by reference
- Avoid multiple calls to IdString::str and IdString::c_str
- Avoid combining checks for size > 0 and first char (C strings are
null terminated, so foo[0] != '\0' implies that foo has positive
length)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With GCC 9.3, at least, compiling select.cc spits out a warning about
an implausible bound being passed to strncmp. This comes from inlining
IdString::compare(): it turns out that passing std::string::npos as a
bound to strncmp triggers it.
This patch replaces the compare call with a memcmp with the same
effect. The repeated calls to IdString::c_str are slightly
inefficient, but I'll address that in a follow-up commit.
|
|\ \
| | |
| | | |
blackbox: use Module::makeblackbox() method
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The $div and $mod cells use truncating division semantics (rounding
towards 0), as defined by e.g. Verilog. Another rounding mode, flooring
(rounding towards negative infinity), can be used in e.g. VHDL. The
new $divfloor cell provides this flooring division.
This commit also fixes the handling of $div in opt_expr, which was
previously optimized as if it was $divfloor.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The $div and $mod cells use truncating division semantics (rounding
towards 0), as defined by e.g. Verilog. Another rounding mode, flooring
(rounding towards negative infinity), can be used in e.g. VHDL. The
new $modfloor cell provides this flooring modulo (also known as "remainder"
in several languages, but this name is ambiguous).
This commit also fixes the handling of $mod in opt_expr, which was
previously optimized as if it was $modfloor.
|
| |
| |
| |
| | |
Co-Authored-By: Xiretza <xiretza@xiretza.xyz>
|
| |
| |
| |
| | |
Co-Authored-By: whitequark <whitequark@whitequark.org>
|
| |
| |
| |
| | |
Co-Authored-By: whitequark <whitequark@whitequark.org>
|
|/ |
|
|
|
|
| |
warning, log}` to better express the intent that each element is unique.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
select: do not select inside black-/white- boxes unless '=' prefix used
|
| |
| |
| | |
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
| | |
|
|\ \
| | |
| | | |
design: -import to not count black/white-boxes as candidates for top
|
| |/ |
|
| |
| |
| |
| | |
Reported by @ZirconiumX.
|
|\ \
| | |
| | | |
Clean up `passes/cmds/scatter.cc`.
|
| | |
| | |
| | |
| | | |
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
`passes/cmds/scatter.cc`.
Co-Authored-By: N. Engelhardt <nak@symbioticeda.com>
|
| |/ |
|
|\ \
| | |
| | | |
Clean up pseudo-private member usage in `passes/cmds/rename.cc`.
|
| | |
| | |
| | |
| | | |
Co-Authored-By: Eddie Hung <eddie@fpgeh.com>
|