#
a751b11a |
| 11-Nov-2024 |
chengguanghui <[email protected]> |
fix(dcsr): debug support critical error state
* support nmip, cetrig, extcause fileds in dcsr. * critical error state enter dmode when dcsr.cetrig assert.
|
#
1bf9a598 |
| 13-Nov-2024 |
Anzo <[email protected]> |
feat(difftest): add 'pc' and 'robidx' for store event (#3862)
|
#
85a8d7ca |
| 01-Nov-2024 |
Zehao Liu <[email protected]> |
feat(dbltrp) : add support for critical error (#3793)
|
#
b9a37d2f |
| 03-Oct-2024 |
Xuan Hu <[email protected]> |
fix(vector,exception,ctrlblock): block rob enq when VecExcpMod is busy
|
#
e43bb916 |
| 20-Sep-2024 |
Xuan Hu <[email protected]> |
feat(VecLoad): add VecLoadExcp module to handle merging old/new data
* When NF not 0, the register indices are arranged group by group. But in exception handle progress, all registers needed to merg
feat(VecLoad): add VecLoadExcp module to handle merging old/new data
* When NF not 0, the register indices are arranged group by group. But in exception handle progress, all registers needed to merge will be handled first, and then the registers needed to move will be handled later. * The need merge vdIdx can be until 8, so 4 bits reg is needed. * If the instruction is indexed, the eew of vd is sew from vtype. Otherwise, the eew of vd is encoded in instruction. * Use ivemulNoLessThanM1 and dvemulNoLessThanM1 to produce vemul_i_d to avoid either demul or iemul is less than M1. * For whole register load, need handle NF(nf + 1) dest regs. * Use data EMUL to calculate number of dest reg. * GetE8OffsetInVreg will return the n-th 8bit which idx mapped to. * Since xs will flush pipe, when vstart is not 0 and execute vector mem inst, the value of vstart in CSR is the first element of this vector instruction. When exception occurs, the vstart in writeback bundle is the new one, So writebacked vstart should never be used as the beginning of vector mem operation. * Non-seg indexed load use non-sequential vd. * When "index emul" / "data emul" equals 2, the old vd is located in vuopidx 0, 2, 4, 6, the new vd is located in vuopidx 1, 3, 5, 7. * Make rename's input not ready until VecExcpMod not busy. * Delay trap passed to difftest until VecExcpMod not busy. * Rab commit to VecExcpMod as it commit to Rat, and select real load reg maps in VecExcpMod. * Use isDstMask to distinguish vlm and other vle. * When isWhole, vd regs are sequential.
show more ...
|
#
d275ad0e |
| 27-Sep-2024 |
Ziyue Zhang <[email protected]> |
fix(vtypegen): fix initial condition after receive redirect (#3664)
|
#
63d67ef3 |
| 14-Sep-2024 |
Tang Haojin <[email protected]> |
build: enable always-basic-diff for make verilog (#3574)
This commit turns on basic difftest features again, no matter it's for
simulation or physical design. This commit aims at allowing designs f
build: enable always-basic-diff for make verilog (#3574)
This commit turns on basic difftest features again, no matter it's for
simulation or physical design. This commit aims at allowing designs for
physical design to be verified.
show more ...
|
#
c1b28b66 |
| 09-Sep-2024 |
Tang Haojin <[email protected]> |
fix(exception): check high address bits of jump target (#3003)
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump
fix(exception): check high address bits of jump target (#3003)
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump target address, which made it impossible to raise exceptions in such cases.
To resolve this problem, we detect the invalid jump target in jump/branch/CSR and, this information to frontend and store the complete invalid target in a single register in backend. The frontend will then raise an exception to backend and backend will also use the invalid target in the register to write xtval and mepc.
---------
Co-authored-by: Muzi <[email protected]> Co-authored-by: ngc7331 <[email protected]>
show more ...
|
#
92c61038 |
| 16-Aug-2024 |
Xuan Hu <[email protected]> |
Frontend,Backend: add xxtvala support
* utils * Add checkInputWidth function in NamedUInt to check if the UInt arg passed in has the same width as it defined. * Frontend * Pass the unexpanded in
Frontend,Backend: add xxtvala support
* utils * Add checkInputWidth function in NamedUInt to check if the UInt arg passed in has the same width as it defined. * Frontend * Pass the unexpanded instruciton to IBuffer if the C extension 16 bits instruction is illegal. * No need to use bypass illBuf, since the origin 16 bits instruction will be passed in the ctrlflow bundle. * IBuffer * Merge exceptionType and crossPageIPFFix into 3bit field, which type is IBufferExceptionType. * IBufferExceptionType can hold illegal instruction exception. * Backend * CSROpType.ro is removed, since we can use rs1 and rd passed in imm field to distinguish CSRR and CSRW in CSR module. * Create TrapInstMod to store the trap instruction and handle its update.
show more ...
|
#
fa16cf81 |
| 15-Aug-2024 |
lewislzh <[email protected]> |
Backend: support Shvstvala and Sstvala extension
|
#
7e0f64b0 |
| 21-Aug-2024 |
Guanghui Cheng <[email protected]> |
Trigger: refactor trigger information in pipeline. (#3403)
|
#
a3fe955f |
| 16-Aug-2024 |
Guanghui Cheng <[email protected]> |
DebugModule: Fix bug of singleStep. (#3395)
* `SingleStepStatus` should not be cleared by redirect before hart enter
debugMode.
* singleStep should block rob compress in `rename`.
|
#
8506cfc0 |
| 04-Aug-2024 |
xiaofeibao <[email protected]> |
Decode and Ibuffer: change decodeCanAccept and bypass logic for fix timing
|
#
f533cba7 |
| 29-Jul-2024 |
HuSipeng <[email protected]> |
PcTargetMem: Fixed a bug that caused the backend to be unable to read the newest target (#3269)
|
#
d19fa3e9 |
| 26-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Decode: add DecodeBuf for fix timing of ready to Ibuffer (#3293)
|
#
54c6d89d |
| 24-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Redirect fix timing (#3209)
|
#
e1a85e9f |
| 05-Jul-2024 |
chengguanghui <[email protected]> |
PerfEvent: refactor perfevents in Backend
* add `dispatch2Iq_out_fire_cnt`, `issueQueue_enq_fire_cnt`, `issueQueue_full` event in scheduler * add busytable event * move collecting perfevents from
PerfEvent: refactor perfevents in Backend
* add `dispatch2Iq_out_fire_cnt`, `issueQueue_enq_fire_cnt`, `issueQueue_full` event in scheduler * add busytable event * move collecting perfevents from `ctrlBlock` to `backend` * change `perfEventsCtrl` into `perfEventsBackend`
show more ...
|
#
15ed99a7 |
| 23-May-2024 |
Xuan Hu <[email protected]> |
NewCSR: add full illegal check to `sfence` and the insts in `Svinval` extension
* Move the permission check for some insts to DecodeUnit. * These insts are `sfence.vma`, `sinval.vma`, `sfence.w.inva
NewCSR: add full illegal check to `sfence` and the insts in `Svinval` extension
* Move the permission check for some insts to DecodeUnit. * These insts are `sfence.vma`, `sinval.vma`, `sfence.w.inval`, `sfence.inval.ir`, `hfence.gvma`, `hinval.gvma`, `hfence.vvma` and `hinval.vvma`.
show more ...
|
#
dcdd1406 |
| 14-May-2024 |
Xuan Hu <[email protected]> |
NewCSR: make XRET use redirect bundle to pass target instead of csr-rob direct connection
* TODO: remove isXRet signal from RobCSRIO. * Add ftqIdx,ftqOffset in CSR Fu. * XRet need not flushPipe
|
#
44b06f8a |
| 12-Jul-2024 |
Xuan Hu <[email protected]> |
Backend,Frontend: pass flag of FtqPtr to TargetMem to avoid read out-of-date predict target (#3184)
* Hold newest predict target everytime it is updated by frontend.
* Don't use out-of-date predict
Backend,Frontend: pass flag of FtqPtr to TargetMem to avoid read out-of-date predict target (#3184)
* Hold newest predict target everytime it is updated by frontend.
* Don't use out-of-date predict value even if FtqIdx match.
show more ...
|
#
bd5909d0 |
| 12-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
CtrlBlock: writeback to rob remove flush for fix timing (#3181)
|
#
db000246 |
| 11-Jul-2024 |
Ziyue Zhang <[email protected]> |
vtype: use the vtype stored in rob enq to vtypebuffer's snapshot (#3180)
|
#
571677c9 |
| 09-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Rob: fix bug of exception (#3161)
1.when writeback exception, rob may commit next cycle. 2.when fulshOut,
rob commit info to ftq may 4 cycle after redirect but redirect info to
ftq need 5 cycle.
|
#
f5c17053 |
| 04-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Backend: fix ready timing from dispatch to frontend (#3127)
|
#
5110577f |
| 27-Jun-2024 |
Ziyue Zhang <[email protected]> |
vstart: support vstart value update and handle vstart exception (#3109)
* after execute vset and vload/vstore(no exception) instructions, set
vstart to zero
* when execute vector instructions exce
vstart: support vstart value update and handle vstart exception (#3109)
* after execute vset and vload/vstore(no exception) instructions, set
vstart to zero
* when execute vector instructions except above instructions, raise
illegal instruction exception
* when modify vstart, blockback and flushpipe
show more ...
|