提交 38912d0e 编写于 作者: J JinYue 提交者: Lingrui98

ICache <bug-fix> fix parity error condition

上级 c6c185a6
......@@ -369,7 +369,9 @@ class ICacheDataArray(implicit p: Parameters) extends ICacheArray
for(((dataArray,codeArray),i) <- dataArrays.zip(codeArrays).zipWithIndex){
read_datas(i) := dataArray.io.r.resp.asTypeOf(Vec(nWays,UInt(blockBits.W)))
read_codes(i) := codeArray.io.r.resp.asTypeOf(Vec(nWays,UInt(dataCodeEntryBits.W)))
(0 until nWays).map{ w => io.readResp.errors(i)(w) := RegNext(io.read.fire()) && read_codes(i)(w).asUInt.orR }
val data_full_wayBits = VecInit((0 until nWays).map( w => Cat(read_codes(i)(w), read_datas(i)(w))))
val data_error_wayBits = VecInit(data_full_wayBits.map(data => cacheParams.dataCode.decode(data).error) )
(0 until nWays).map{ w => io.readResp.errors(i)(w) := RegNext(io.read.fire()) && data_error_wayBits(w) }
}
//Parity Encode
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册