chipsalliance / rocket-chip

Rocket Chip Generator
Other
3.19k stars 1.12k forks source link

Update SRAM.scala to improve perf on non-full sized reads #3614

Closed Kevin99214 closed 5 months ago

Kevin99214 commented 5 months ago

Commit Description: Change a_sublane to not count sublanes if it's a read. Reads return full data width, no matter if the A channel size is not the data width

Comments Noticed that when size is not maxed out on a read to the TLRAM, it was translating it to a RMW. Would make sense if there was an ECC error but that should get handled by d_need_fix in d_wb, sublane should not be responsible.

val d_wb = d_full && (d_sublane || d_atomic || (d_read && d_need_fix))

Screenshot 2024-04-10 at 4 17 50 PM