#
bbb50258 |
| 25-Mar-2025 |
Tang Haojin <[email protected]> |
fix(FusionDecoder): tie output to false when disabled (#4456)
|
#
7d62bb17 |
| 30-Dec-2024 |
Tang Haojin <[email protected]> |
fix(FusionDecoder): instructions may be HINT cannot be fused (#4108)
|
#
ad5c9e6e |
| 04-Jul-2024 |
Junxiong Ji <[email protected]> |
RenameTable: fix width of rename table addr ports (#3128)
Different rename table has different numbers of entries, leading to
differences in the width of read/write ports. In the code we see the
w
RenameTable: fix width of rename table addr ports (#3128)
Different rename table has different numbers of entries, leading to
differences in the width of read/write ports. In the code we see the
widths of all read/write ports were set to 6, which works well but is
not parameterized. Now these widths are modified to be controlled by
parameters.
show more ...
|
#
768f5f91 |
| 06-May-2024 |
Yangyu Chen <[email protected]> |
DecodeUnit: clean up decoder (#2943)
This commit sorts out decode by the ratified name of each extension for
Zb* and Zk*. And add some comments about RV32 concerns we may need
someday.
Signed-o
DecodeUnit: clean up decoder (#2943)
This commit sorts out decode by the ratified name of each extension for
Zb* and Zk*. And add some comments about RV32 concerns we may need
someday.
Signed-off-by: Yangyu Chen <[email protected]>
show more ...
|
#
8241cb85 |
| 17-Dec-2023 |
Xuan Hu <[email protected]> |
Merge remote-tracking branch 'upstream/master' into backendq
|
#
0de3199c |
| 28-Nov-2023 |
sinsanction <[email protected]> |
FusionDecoder: prevent fusion when inst2 rs1 == rs2 (#2466) (#2513)
|
#
650ccc40 |
| 09-Nov-2023 |
sinsanction <[email protected]> |
FusionDecoder: prevent fusion when inst2 rs1 == rs2 (#2466)
|
#
4b0d80d8 |
| 11-Oct-2023 |
Xuan Hu <[email protected]> |
Merge upstream/master into tmp-backend-merge-master
|
#
8891a219 |
| 08-Oct-2023 |
Yinan Xu <[email protected]> |
Bump rocket-chip (#2353)
|
#
765e58c6 |
| 31-Aug-2023 |
sinsanction <[email protected]> |
Backend, Fusion: another implementation for instruction fusion case 'lui + addi(w)' without widening imm bits
|
#
54711376 |
| 28-Aug-2023 |
sinsanction <[email protected]> |
Backend, Fusion: support instruction fusion case 'lui + addiw'
|
#
fe528fd6 |
| 25-Aug-2023 |
sinsanction <[email protected]> |
Backend, Fusion: support instruction fusion case 'lui + addi'
|
#
98cfe81b |
| 23-May-2023 |
xgkiri <[email protected]> |
mod: refactor the code of encoding
|
#
730cfbc0 |
| 16-Apr-2023 |
Xuan Hu <[email protected]> |
backend: merge v2backend into backend
|
#
3b739f49 |
| 06-Mar-2023 |
Xuan Hu <[email protected]> |
v2backend: huge tmp commit
|
#
b6c99e8e |
| 29-Dec-2022 |
ZhangZifei <[email protected]> |
Merge remote-tracking branch 'origin/master' into rf-after-issue
|
#
3c02ee8f |
| 25-Dec-2022 |
wakafa <[email protected]> |
Separate Utility submodule from XiangShan (#1861)
* misc: add utility submodule
* misc: adjust to new utility framework
* bump utility: revert resetgen
* bump huancun
|
#
a7a8a6cc |
| 15-Dec-2022 |
Haojin Tang <[email protected]> |
rename: use intRat for vconfig; add a vec read port
|
#
5827388e |
| 11-Jul-2022 |
Yinan Xu <[email protected]> |
fusion: deassert out.valid for invalid instructions (#1634)
This commit fixes the bug that instructions with exceptions may trigger
instruction fusion if the previous instruction at the same positi
fusion: deassert out.valid for invalid instructions (#1634)
This commit fixes the bug that instructions with exceptions may trigger
instruction fusion if the previous instruction at the same position is
fused. When the input instruction pair is invalid, the fusion decoder
should always set out.valid to false.B at the next cycle.
The bug is caused by the RegEnable for instrPairValid, which should be
updated at every clock cycle.
Should fix the error introduced by 0febc381f3bb3d9073abeba3b7e725b8813723d8
and the regression failure at https://github.com/OpenXiangShan/XiangShan/actions/runs/2645135867.
show more ...
|
#
0febc381 |
| 09-Jul-2022 |
Yinan Xu <[email protected]> |
decode: move fusion decoder result Mux to rename (#1631)
This commit moves the fusion decoder to both decode and rename stage.
In the decode stage, fusion decoder determines whether the instructi
decode: move fusion decoder result Mux to rename (#1631)
This commit moves the fusion decoder to both decode and rename stage.
In the decode stage, fusion decoder determines whether the instruction
pairs can be fused. Valid bits of decode are not affected by fusion
decoder. This should fix the timing issues of rename.valid.
In the rename stage, some fields are updated according the result of
fusion decoder. This will bring a minor timing path to both valid and
other fields in uop in the rename stage. However, since freelist and
rat have worse timing. This should not cause timing issues.
show more ...
|
#
a0db5a4b |
| 20-Jun-2022 |
Yinan Xu <[email protected]> |
decode: parallel fusion decoder and rat read (#1588)
|
#
361e6d51 |
| 31-May-2022 |
Jiuyang Liu <[email protected]> |
fix for chipsalliance/rocket-chip#2967 (#1562)
* fix for chipsalliance/rocket-chip#2967
* decode: fix width of BitPat(?) in decode logic
Co-authored-by: Yinan Xu <[email protected]>
|
#
8a009b1d |
| 01-Dec-2021 |
Li Qianruo <[email protected]> |
Bug fix on detection logic for addw fusion (#1276)
|
#
6535afbb |
| 26-Nov-2021 |
Yinan Xu <[email protected]> |
decode,fusion: optimize detection logic for addw and logic ops (#1262)
This commit optimizes instruction fusion detection logic for fused
addw{byte, bit, zexth, sexth}, mulw7, and logic{lsb, zexth}
decode,fusion: optimize detection logic for addw and logic ops (#1262)
This commit optimizes instruction fusion detection logic for fused
addw{byte, bit, zexth, sexth}, mulw7, and logic{lsb, zexth}
instructions.
Previously we use fuType and fuOpType from the normal decoder, and this
incurs a bad timing. Now we change the detection logic to use only the
raw instructions. Though the fused instruction still uses the
fuOpType from the normal decoder, there should be only serveral MUXes
left.
show more ...
|
#
675acc68 |
| 25-Sep-2021 |
Yinan Xu <[email protected]> |
backend: optimize aluOpType to 7 bits (#1061)
This commit optimizes ALUOpType to 7 bits. Alu timing will be checked
later.
We also apply some misc changes including:
* Move REVB, PACK, PACKH,
backend: optimize aluOpType to 7 bits (#1061)
This commit optimizes ALUOpType to 7 bits. Alu timing will be checked
later.
We also apply some misc changes including:
* Move REVB, PACK, PACKH, PACKW to ALU
* Add fused logicZexth, addwZext, addwSexth
* Add instruction fusion test cases to CI
show more ...
|