separate btb response mask from the frontend mask
It is now the job of the pipeline to monitor the frontend's valid mask (of instructions) and the BTB's suggested valid mask (based on the prediction it makes). Some processors may want to ignore or override the BTB's prediction and thus can supply their own instruction mask.
This commit is contained in:
@ -131,7 +131,7 @@ class Frontend(implicit p: Parameters) extends CoreModule()(p) with HasL1CachePa
|
||||
|
||||
val all_ones = UInt((1 << (fetchWidth+1))-1)
|
||||
val msk_pc = if (fetchWidth == 1) all_ones else all_ones << s2_pc(log2Up(fetchWidth) -1+2,2)
|
||||
io.cpu.resp.bits.mask := Mux(s2_btb_resp_valid, msk_pc & s2_btb_resp_bits.mask, msk_pc)
|
||||
io.cpu.resp.bits.mask := msk_pc
|
||||
io.cpu.resp.bits.xcpt_if := s2_xcpt_if
|
||||
|
||||
io.cpu.btb_resp.valid := s2_btb_resp_valid
|
||||
|
Reference in New Issue
Block a user