#
c51eab43 |
| 06-Jul-2022 |
Yinan Xu <[email protected]> |
rob: add separated optimized walk valid bits (#1614)
Some modules rely on the walk valid bits of ROB. This commit
optimizes the timing by providing separated walk valid bits, which
is far better t
rob: add separated optimized walk valid bits (#1614)
Some modules rely on the walk valid bits of ROB. This commit
optimizes the timing by providing separated walk valid bits, which
is far better than the commit valid bits.
show more ...
|
#
a19215dd |
| 18-Jun-2022 |
Yinan Xu <[email protected]> |
decode: do not set lsrc of LUI for better timing (#1586)
This commit changes the lsrc/psrc of LUI in dispatch instead of
decode to optimize the timing of lsrc in DecodeStage, which is
critical for
decode: do not set lsrc of LUI for better timing (#1586)
This commit changes the lsrc/psrc of LUI in dispatch instead of
decode to optimize the timing of lsrc in DecodeStage, which is
critical for rename table.
lsrc/ldest should be directly get from instr for the timing. Fused
instructions change lsrc/ldest now, which will be optimized later.
show more ...
|
#
46f74b57 |
| 06-May-2022 |
Haojin Tang <[email protected]> |
feat: parameterize load store (#1527)
* feat: parameterize load/store pipeline, etc.
* fix: use LoadPipelineWidth rather than LoadQueueSize
* fix: parameterize `rdataPtrExtNext`
* SBuffer:
feat: parameterize load store (#1527)
* feat: parameterize load/store pipeline, etc.
* fix: use LoadPipelineWidth rather than LoadQueueSize
* fix: parameterize `rdataPtrExtNext`
* SBuffer: fix idx update logic
* atomic: parameterize atomic logic in `MemBlock`
* StoreQueue: update allow enque requirement
* feat: support one load/store pipeline
* feat: parameterize `EnsbufferWidth`
* chore: resharp codes for better generated name
show more ...
|
#
b6900d94 |
| 28-Apr-2022 |
Yinan Xu <[email protected]> |
core,rob: support the WFI instruction
The RISC-V WFI instruction is previously decoded as NOP. This commit adds support for the real wait-for-interrupt (WFI).
We add a state_wfi FSM in the ROB. Aft
core,rob: support the WFI instruction
The RISC-V WFI instruction is previously decoded as NOP. This commit adds support for the real wait-for-interrupt (WFI).
We add a state_wfi FSM in the ROB. After WFI leaves the ROB, the next instruction will wait in the ROB until an interrupt.
show more ...
|
#
1c746d3a |
| 25-Apr-2022 |
cui fliter <[email protected]> |
fix some typos (#1537)
* fix some typos
Signed-off-by: cuishuang <[email protected]>
|
#
9658ce50 |
| 25-Mar-2022 |
LinJiawei <[email protected]> |
Bump chisel to 3.5.0
|
#
67402d75 |
| 17-Jan-2022 |
Lingrui98 <[email protected]> |
bpu: read oldest bits one stage ahead
|
#
e6b951cf |
| 06-Jan-2022 |
JinYue <[email protected]> |
Merge branch 'master' into bpu-timing
|
#
d7dd1af1 |
| 05-Jan-2022 |
Li Qianruo <[email protected]> |
Debug mode: various bug fixes (#1412)
* Reduce trigger hit wires that goes into exceptiongen
* Fix frontend triggers rewriting hit wire
* Retrieved some accidentally dropped changes in branch dm-d
Debug mode: various bug fixes (#1412)
* Reduce trigger hit wires that goes into exceptiongen
* Fix frontend triggers rewriting hit wire
* Retrieved some accidentally dropped changes in branch dm-debug (mainly fixes to debug mode)
* Fix dmode in tdata1
* Fix ebreaks not causing exception in debug mode
* Fix dcsr field bugs
* Fix faulty distributed tEnable
* Fix store triggers not using vaddr
* Fix store trigger rewriting hit vector
* Initialize distributed tdata registers in MemBlock and Frontend to zero
* Fix load trigger select bit in mcontrol
* Fix singlestep bit valid in debug mode
* Mask all interrupts in debug mode
show more ...
|
#
0f59c834 |
| 01-Jan-2022 |
William Wang <[email protected]> |
mem: split L1CacheErrorInfo and L1BusErrorUnitInfo, fix ecc error (#1409)
* mem: fix error csr update
* dcache: l2 error will now trigger atom error
* chore: fix cache error debug decoder
* mem:
mem: split L1CacheErrorInfo and L1BusErrorUnitInfo, fix ecc error (#1409)
* mem: fix error csr update
* dcache: l2 error will now trigger atom error
* chore: fix cache error debug decoder
* mem: split L1CacheErrorInfo and L1BusErrorUnitInfo
show more ...
|
#
5cf832d9 |
| 31-Dec-2021 |
Lingrui98 <[email protected]> |
Merge remote-tracking branch 'origin/master' into bpu-timing
|
#
ecccf78f |
| 29-Dec-2021 |
Jay <[email protected]> |
ICache: add parity check enable and prefetch enable control registers (#1406)
* Add Prefetch and Parity enable register for ICache
* Add ICache parity enable control for pipe
|
#
cb4b23c0 |
| 23-Dec-2021 |
Lingrui98 <[email protected]> |
Merge remote-tracking branch 'origin/master' into bpu-timing
|
#
eeadce71 |
| 22-Dec-2021 |
Lingrui98 <[email protected]> |
ittage: slightly modify altDiffers logic
|
#
a4e57ea3 |
| 20-Dec-2021 |
Li Qianruo <[email protected]> |
Merge branch 'master' into trigger
|
#
b37e4b45 |
| 16-Dec-2021 |
Lingrui98 <[email protected]> |
ubtb: refactor prediction mechanism(temp commit)
|
#
ddb65c47 |
| 16-Dec-2021 |
Li Qianruo <[email protected]> |
Trigger: hardwire timing to 1
We have singlestep already so triggers do not need to hit after inst commits
|
#
068bf978 |
| 10-Dec-2021 |
Li Qianruo <[email protected]> |
Merge branch 'master' into trigger
|
#
d10a581e |
| 12-Dec-2021 |
William Wang <[email protected]> |
csr: add soft_prefetch_enable to smblockctl
|
#
84e47f35 |
| 09-Dec-2021 |
Li Qianruo <[email protected]> |
Refactor trigger
|
#
6ab6918f |
| 09-Dec-2021 |
Yinan Xu <[email protected]> |
core: refactor writeback parameters (#1327)
This commit adds WritebackSink and WritebackSource parameters for
multiple modules. These traits hide implementation details from
other modules by defin
core: refactor writeback parameters (#1327)
This commit adds WritebackSink and WritebackSource parameters for
multiple modules. These traits hide implementation details from
other modules by defining IO-related functions in modules.
By using WritebackSink, ROB is able to choose the writeback sources.
Now fflags and exceptions are connected from exe units to reduce write
ports and optimize timing.
Further optimizations on write-back to RS and better coding style to
be added later.
show more ...
|
#
2a39ba8a |
| 09-Dec-2021 |
Li Qianruo <[email protected]> |
Merge remote-tracking branch 'origin/trigger-memblock' into trigger
|
#
bc63e578 |
| 08-Dec-2021 |
Li Qianruo <[email protected]> |
Fix various bugs with debug mode and trigger
The bugs are 1. Debug mode ebreak won't cause exception 2. faulty mcontrol load store execute bits
|
#
9d4e1137 |
| 30-Nov-2021 |
Yinan Xu <[email protected]> |
rs: delay fp regfile read and wakeup for store data (#1274)
|
#
980c1bc3 |
| 23-Nov-2021 |
William Wang <[email protected]> |
mem,mdp: use robIdx instead of sqIdx (#1242)
* mdp: implement SSIT with sram
* mdp: use robIdx instead of sqIdx
Dispatch refactor moves lsq enq to dispatch2, as a result, mdp can not
get corr
mem,mdp: use robIdx instead of sqIdx (#1242)
* mdp: implement SSIT with sram
* mdp: use robIdx instead of sqIdx
Dispatch refactor moves lsq enq to dispatch2, as a result, mdp can not
get correct sqIdx in dispatch. Unlike robIdx, it is hard to maintain a
"speculatively assigned" sqIdx, as it is hard to track store insts in
dispatch queue. Yet we can still use "speculatively assigned" robIdx
for memory dependency predictor.
For now, memory dependency predictor uses "speculatively assigned"
robIdx to track inflight store.
However, sqIdx is still used to track those store which's addr is valid
but data it not valid. When load insts try to get forward data from
those store, load insts will get that store's sqIdx and wait in RS.
They will not waken until store data with that sqIdx is issued.
* mdp: add track robIdx recover logic
show more ...
|