| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
type2str returns a string that doesn't start with $ or \, so it can't be
assigned to an IdString.
|
| |
|
|
|
|
|
| |
No change in behaviour, but use range-based for loops instead of
iterators.
|
|
|
|
| |
That was added in ecc22f7fedfa639482dbc55a05709da85116a60f
|
| |
|
|
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|
|
|
|
| |
The previous code, in addition to being needlessly limitted to 32 bits
in the first place, also had UB for the 31th bit (doing 1 << 31).
|
|
|
|
|
|
|
|
| |
Turns out the code for div by a power of 2 is already almost capable of
optimizing this to a shift-by-0 or and-with-0, which will be further
folded into nothingness; let's beef it up to handle div by 1 as well.
Fixes #2820.
|
|\
| |
| | |
Fixing old e-mail addresses and deadnames
|
| |
| |
| |
| | |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
| |
| |
| |
| | |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
| |
| |
| |
| | |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
| |
| |
| |
| | |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
git ls-tree -r --name-only HEAD | xargs sed -i -rf ~/fixemails.sed
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|gatecat)\s+<(dave|david|gatecat)@(symbioticeda.com|yosyshq.com|ds0.me)>/gatecat <gatecat@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/,https://yosyshq.net/yosys/,g;
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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;
|
| |
| |
| |
| | |
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The recent fix for case expression width detection causes the width of
the expressions to be queried before they are simplified. Because the
logic supporting module scope identifiers only existed in simplify,
looking them up would fail during width detection. This moves the logic
to a common helper used in both simplify() and detectSignWidthWorker().
|
| |
| |
| |
| | |
This brings the mem2reg behavior in line with the nomem2reg behavior.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Transparency is meaningless for asynchronous ports, so we assume
transparent == false to simplify the code in this case. Likewise,
enable is meaningless, and we assume it is const-1. However,
turns out that nMigen emits the former, and Verilog frontend emits
the latter, so squash these issues when ingesting a $memrd cell.
Fixes #2811.
|
|
|
|
| |
Fixes #2775.
|
|
|
|
|
| |
This is mostly meant for wide port recognition, but may also happen to
merge some ports with compatible initial/reset values (eg. 0 vs x).
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
When converting a sync transparent read port with const address to async
read port, nothing at all needs to be done other than clk_enable change,
and thus we have no FF cell to return. Handle this case correctly in
the helper and in its users.
|
|
|
|
|
| |
Also properly skip read ports with init value or reset when not making
use of make_outreg. Proper support for matching those will land later.
|
|
|
|
|
|
|
|
|
| |
- The case expression and case item expressions are extended to the
maximum width among them, and are only interpreted as signed if all of
them are signed
- Add overall width and sign detection for AST_CASE
- Add sign argument to genWidthRTLIL helper
- Coverage for both const and non-const case statements
|
|
|
|
|
| |
- Add support for: *=, /=, %=, <<=, >>=, <<<=, >>>=
- Unify existing support for: +=, -=, &=, |=, ^=
|
|
|
|
|
|
|
|
|
|
| |
When extracting read register from a transparent port that has an
enable, reset, or initial value, the usual trick of putting a register
on the address instead of data doesn't work. In this case, create soft
transparency logic instead.
When transparency masks land, this will also be used to handle ports
that are transparent to only a subset of write ports.
|
| |
|
|
|
|
|
|
|
| |
Like wide port support, this is still completely unusable, and support
in various passes will be gradually added later. It also has no support
at all in the cell library, so attempting to create a read port with
a reset or initial value will cause an assert failure for now.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|