Brq.scala 716 字节
Newer Older
1 2 3 4 5 6 7 8 9 10
package xiangshan.backend.brq

import chisel3._
import chisel3.util._
import xiangshan._



class Brq extends XSModule with NeedImpl {
  val io = IO(new Bundle() {
11
    // interrupt/exception happen, flush Brq
12
    val roqRedirect = Input(Valid(new Redirect))
13
    // receive branch/jump calculated target
14
    val exuRedirect = Vec(BrqReceiveSize, Flipped(ValidIO(new ExuOutput)))
15 16 17
    // from decode, branch insts enq
    val enqReqs = Vec(DecodeWidth, Flipped(DecoupledIO(new MicroOp)))
    // to decode
18 19
    val brTags = Output(Vec(DecodeWidth, UInt(BrTagWidth.W)))
    val brMasks = Output(Vec(DecodeWidth, UInt(BrqSize.W)))
20 21

    // misprediction, flush pipeline
22 23 24
    val redirect = Output(Valid(new Redirect))
  })
}