Skip to content
8 changes: 4 additions & 4 deletions src/main/scala/xiangshan/Bundle.scala
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import chisel3.util.BitPat.bitPatToUInt
import chisel3.util.experimental.decode.EspressoMinimizer

import utility._
import utils._
import _root_.utils.{OptionWrapper, NamedUInt}

import org.chipsalliance.cde.config.Parameters

Expand Down Expand Up @@ -95,7 +95,7 @@ class CtrlFlow(implicit p: Parameters) extends XSBundle {
val instr = UInt(32.W)
val pc = UInt(VAddrBits.W)
val foldpc = UInt(MemPredPCWidth.W)
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec(ExceptionNO.fromFrontendSet)
val backendException = Bool()
val trigger = TriggerAction()
val isRvc = Bool()
Expand Down Expand Up @@ -806,8 +806,8 @@ class UopTopDown(implicit p: Parameters) extends XSBundle {

class LowPowerIO(implicit p: Parameters) extends Bundle {
/* i_*: SoC -> CPU o_*: CPU -> SoC */
val o_cpu_no_op = Output(Bool())
//physical power down
val o_cpu_no_op = Output(Bool())
//physical power down
val i_cpu_pwrdown_req_n = Input(Bool())
val o_cpu_pwrdown_ack_n = Output(Bool())
// power on/off sequence control for Core iso/rst
Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/xiangshan/DbEntry.scala
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class InstInfoEntry(implicit p: Parameters) extends XSBundle{
// val commitLatency = UInt(XLEN.W) // can not record when writing back
val tlbLatency = UInt(XLEN.W) // original requirements is L1toL2TlbLatency
val lsInfo = new DebugLsInfo
val exceptType = UInt(ExceptionVec.ExceptionVecSize.W)
val exceptType = UInt(ExceptSparseVec.ExceptionVecSize.W)
}

class LoadInfoEntry(implicit p: Parameters) extends XSBundle{
Expand Down
3 changes: 3 additions & 0 deletions src/main/scala/xiangshan/backend/BackendParams.scala
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,9 @@ case class BackendParams(
def getV0WBExeGroup : Map[Int, Seq[ExeUnitParams]] = allRealExuParams.filter(_.getV0WBPort .nonEmpty).groupBy(_.getV0WBPort.get.port)
def getVlWBExeGroup : Map[Int, Seq[ExeUnitParams]] = allRealExuParams.filter(_.getVlWBPort .nonEmpty).groupBy(_.getVlWBPort.get.port)

def exceptionOut = allExuParams.flatMap(_.exceptionOut).distinct.sorted
def getExceptionOutList = allRealExuParams.map(_.exceptionOut).filter(_.nonEmpty)

private def isContinuous(portIndices: Seq[Int]): Boolean = {
val portIndicesSet = portIndices.toSet
portIndicesSet.min == 0 && portIndicesSet.max == portIndicesSet.size - 1
Expand Down
27 changes: 14 additions & 13 deletions src/main/scala/xiangshan/backend/Bundles.scala
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ object Bundles {
// Frontend --[CtrlBlock]--> DecodeInUop
class DecodeInUop(implicit p: Parameters) extends XSBundle {
val foldpc = UInt(MemPredPCWidth.W) // for mdp
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec(ExceptionNO.fromFrontendSet)
val isFetchMalAddr = Bool()
val trigger = TriggerAction()
val isRVC = Bool()
Expand Down Expand Up @@ -140,7 +140,7 @@ object Bundles {
// DecodeInUop --[Decode]--> DecodeOutUop
class DecodeOutUop(implicit p: Parameters) extends XSBundle {
val foldpc = UInt(MemPredPCWidth.W) // for mdp
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec(ExceptionNO.decodeSet)
val isFetchMalAddr = Bool()
val trigger = TriggerAction()
val isRVC = Bool()
Expand Down Expand Up @@ -203,7 +203,8 @@ object Bundles {
}

def connectDecodeInUop(source: DecodeInUop): Unit = {
connectSamePort(this, source)
(this: Data).waiveAll :<= (source: Data).waiveAll
this.exceptionVec extendFrom source.exceptionVec
this.debug.foreach(x => connectSamePort(x, source.debug.get))
}
}
Expand Down Expand Up @@ -234,7 +235,7 @@ object Bundles {

class RenameOutUop(implicit p: Parameters) extends XSBundle {
def numSrc = backendParams.numSrc
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec(ExceptionNO.decodeSet)
val isFetchMalAddr = Bool()
val trigger = TriggerAction()
val isRVC = Bool()
Expand Down Expand Up @@ -533,7 +534,7 @@ object Bundles {
val wflags = OptionWrapper(params.writeFflags, Bool())
val fflags = OptionWrapper(params.writeFflags, UInt(5.W))
val vxsat = OptionWrapper(params.writeVxsat, Bool())
val exceptionVec = OptionWrapper(params.exceptionOut.nonEmpty, ExceptionVec())
val exceptionVec = ExceptSparseVec()
val flushPipe = OptionWrapper(params.flushPipe, Bool())
val replay = OptionWrapper(params.replayInst, Bool())
val trigger = OptionWrapper(params.trigger, TriggerAction())
Expand All @@ -549,7 +550,7 @@ object Bundles {
val instr = UInt(32.W)
val pc = UInt(VAddrBits.W)
val foldpc = UInt(MemPredPCWidth.W)
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec() // TODO: optimize valid indices
val isFetchMalAddr = Bool()
val hasException = Bool()
val trigger = TriggerAction()
Expand Down Expand Up @@ -1309,7 +1310,7 @@ object Bundles {
val fflags = if (params.writeFflags) Some(UInt(5.W)) else None
val wflags = if (params.writeFflags) Some(Bool()) else None
val vxsat = if (params.writeVxsat) Some(Bool()) else None
val exceptionVec = if (params.exceptionOut.nonEmpty) Some(ExceptionVec()) else None
val exceptionVec = ExceptSparseVec(params.exceptionOut)
val flushPipe = if (params.flushPipe) Some(Bool()) else None
val replay = if (params.replayInst) Some(Bool()) else None
val lqIdx = if (params.hasLoadFu) Some(new LqPtr()) else None
Expand Down Expand Up @@ -1356,7 +1357,7 @@ class ExuOutputVLoad(val params: ExeUnitParams)(implicit val p: Parameters) exte
val fflags = Option.when(params.writeFflags)(UInt(5.W))
val wflags = Option.when(params.writeFflags)(Bool())
val vxsat = Option.when(params.writeVxsat)(Bool())
val exceptionVec = Option.when(params.exceptionOut.nonEmpty)(ExceptionVec())
val exceptionVec = ExceptSparseVec(params.exceptionOut)
val flushPipe = Option.when(params.flushPipe)(Bool())
val trigger = Option.when(params.trigger)(TriggerAction())
val isRVC = Option.when(params.needIsRVC)(Bool())
Expand Down Expand Up @@ -1400,7 +1401,7 @@ class ExuOutputVLoad(val params: ExeUnitParams)(implicit val p: Parameters) exte
val redirect = ValidIO(new Redirect)
val fflags = UInt(5.W)
val vxsat = Bool()
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec()
val debug = new DebugBundle
val perfDebugInfo = OptionWrapper(backendParams.debugEn, new PerfDebugInfo())
val debug_seqNum = OptionWrapper(backendParams.debugEn, InstSeqNum())
Expand All @@ -1423,7 +1424,7 @@ class ExuOutputVLoad(val params: ExeUnitParams)(implicit val p: Parameters) exte
this.redirect := source.redirect.getOrElse(0.U.asTypeOf(this.redirect))
this.fflags := source.fflags.getOrElse(0.U.asTypeOf(this.fflags))
this.vxsat := source.vxsat.getOrElse(0.U.asTypeOf(this.vxsat))
this.exceptionVec := source.exceptionVec.getOrElse(0.U.asTypeOf(this.exceptionVec))
this.exceptionVec extendFrom source.exceptionVec
this.debug := source.debug
this.perfDebugInfo.foreach(_ := source.perfDebugInfo.get)
this.debug_seqNum.foreach(_ := source.debug_seqNum.get)
Expand Down Expand Up @@ -1564,7 +1565,7 @@ class ExuOutputVLoad(val params: ExeUnitParams)(implicit val p: Parameters) exte
val fflags = Option.when(params.writeFflags)(UInt(5.W))
val wflags = Option.when(params.writeFflags)(Bool())
val vxsat = Option.when(params.writeVxsat)(Bool())
val exceptionVec = Option.when(params.exceptionOut.nonEmpty)(ExceptionVec())
val exceptionVec = ExceptSparseVec(params.exceptionOut)
val lqIdx = Option.when(params.hasLoadFu)(new LqPtr())
val sqIdx = Option.when(params.hasStoreAddrFu || params.hasStdFu)(new SqPtr())
val trigger = Option.when(params.trigger)(TriggerAction())
Expand Down Expand Up @@ -1593,7 +1594,7 @@ class ExuOutputVLoad(val params: ExeUnitParams)(implicit val p: Parameters) exte
val pc = UInt(VAddrData().dataWidth.W)
val instr = UInt(32.W)
val commitType = CommitType()
val exceptionVec = ExceptionVec()
val exceptionVec = ExceptSparseVec() // TODO: optimize valid indices
val isPcBkpt = Bool()
val isFetchMalAddr = Bool()
val gpaddr = UInt(XLEN.W)
Expand Down Expand Up @@ -1695,7 +1696,7 @@ class ExuOutputVLoad(val params: ExeUnitParams)(implicit val p: Parameters) exte
output.vecWen.foreach(_ := this.uop.vecWen)
output.v0Wen.foreach(_ := this.uop.v0Wen)
output.vlWen.foreach(_ := this.uop.vlWen)
output.exceptionVec.foreach(_ := this.uop.exceptionVec)
output.exceptionVec := this.uop.exceptionVec
output.flushPipe.foreach(_ := this.uop.flushPipe)
output.replay.foreach(_ := this.uop.replayInst)
output.debug := this.debug
Expand Down
5 changes: 2 additions & 3 deletions src/main/scala/xiangshan/backend/CtrlBlock.scala
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import chisel3.util._
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp}
import utility._
import utils._
import xiangshan.ExceptionNO._
import xiangshan._
import xiangshan.backend.Bundles._
import xiangshan.backend.ctrlblock.{DebugLSIO, DebugLsInfoBundle, LsTopdownInfo, MemCtrl, RedirectGenerator}
Expand Down Expand Up @@ -147,7 +146,7 @@ class CtrlBlockImp(
}
val delayedNotFlushedWriteBackNeedFlush = Wire(Vec(params.allExuParams.filter(_.needExceptionGen).length, Bool()))
delayedNotFlushedWriteBackNeedFlush := delayedNotFlushedWriteBack.filter(_.bits.params.needExceptionGen).map{ x =>
x.bits.exceptionVec.get.asUInt.orR || x.bits.flushPipe.getOrElse(false.B) || x.bits.replay.getOrElse(false.B) ||
x.bits.exceptionVec.orR || x.bits.flushPipe.getOrElse(false.B) || x.bits.replay.getOrElse(false.B) ||
(if (x.bits.trigger.nonEmpty) TriggerAction.isDmode(x.bits.trigger.get) else false.B)
}

Expand Down Expand Up @@ -581,7 +580,7 @@ class CtrlBlockImp(
rename.io.ratSnpt.snptSelect := snptSelect
rename.io.ratSnpt.flushVec := flushVec

val decodeHasException = decode.io.out.map(x => x.bits.exceptionVec.asUInt.orR || (!TriggerAction.isNone(x.bits.trigger)))
val decodeHasException = decode.io.out.map(x => x.bits.exceptionVec.orR || (!TriggerAction.isNone(x.bits.trigger)))
// fusion decoder
fusionDecoder.io.disableFusion := disableFusion
for (i <- 0 until DecodeWidth) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import utility.{GatedValidRegNext, SignExt, ZeroExt}
import utils.SeqUtils._
import xiangshan._
import xiangshan.backend.BackendParams
import xiangshan.backend.Bundles.{ExuBypassBundle, ExuInput, ExuOutput, ExuVec, ImmInfo}
import xiangshan.backend.Bundles.{ExuBypassBundle, ExuInput, ExuVec, ImmInfo}
import xiangshan.backend.issue._
import xiangshan.backend.datapath.DataConfig.RegDataMaxWidth
import xiangshan.backend.decode.ImmUnion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import xiangshan.backend.fu.FuType
import xiangshan.backend.{PipelineStallReason, StoreBubbleReason}
import xiangshan.backend.fu.wrapper.CSRToDecode
import yunsuan.VpermType
import xiangshan.ExceptionNO.{illegalInstr, virtualInstr}
import xiangshan.frontend.ftq.FtqPtr

class DecodeStageIO(implicit p: Parameters) extends XSBundle {
Expand Down
4 changes: 2 additions & 2 deletions src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import freechips.rocketchip.rocket.CustomInstructions._
import freechips.rocketchip.util.uintToBitPat
import utility._
import utils._
import xiangshan.ExceptionNO.{EX_II, breakPoint, illegalInstr, virtualInstr}
import xiangshan.ExceptionNO.{breakPoint, illegalInstr, virtualInstr}
import xiangshan._
import xiangshan.backend.fu.FuType
import xiangshan.backend.Bundles.{DecodeInUop, DecodeOutUop}
Expand Down Expand Up @@ -912,7 +912,7 @@ class DecodeUnit(implicit p: Parameters) extends XSModule with DecodeUnitConstan
io.fromCSR.virtualInst.cboI && isCboInval


decodedInst.exceptionVec(illegalInstr) := exceptionII || io.enq.decodeInUop.exceptionVec(EX_II)
decodedInst.exceptionVec(illegalInstr) := exceptionII || io.enq.decodeInUop.exceptionVec(illegalInstr)
decodedInst.exceptionVec(virtualInstr) := exceptionVI

//update exceptionVec: from frontend trigger's breakpoint exception. To reduce 1 bit of overhead in ibuffer entry.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import freechips.rocketchip.rocket.Instructions
import freechips.rocketchip.util.uintToBitPat
import utils._
import utility._
import xiangshan.ExceptionNO.illegalInstr
import xiangshan._
import xiangshan.backend.fu.fpu.FPU
import xiangshan.backend.fu.FuType
Expand Down
1 change: 0 additions & 1 deletion src/main/scala/xiangshan/backend/decode/UopInfoGen.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import freechips.rocketchip.rocket.Instructions
import freechips.rocketchip.util.uintToBitPat
import utils._
import utility._
import xiangshan.ExceptionNO.illegalInstr
import xiangshan._
import xiangshan.backend.fu.fpu.FPU
import xiangshan.backend.fu.FuType
Expand Down
1 change: 0 additions & 1 deletion src/main/scala/xiangshan/backend/decode/VecDecoder.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import chisel3.util._
import freechips.rocketchip.util.uintToBitPat
import freechips.rocketchip.rocket.Instructions._
import utils._
import xiangshan.ExceptionNO.illegalInstr
import xiangshan.backend.fu.FuType
import xiangshan._
import yunsuan.{VfpuType, VipuType, VimacType, VpermType, VialuFixType, VfaluType, VmoveType, VfmaType, VfdivType, VfcvtType, VidivType, FcmpOpCode}
Expand Down
5 changes: 3 additions & 2 deletions src/main/scala/xiangshan/backend/exu/ExeUnit.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp}
import utility._
import xiangshan.backend.fu.{CSRFileIO, FenceIO, FuType, FuncUnitInput, UncertainLatency}
import xiangshan.backend.Bundles._
import xiangshan.{AddrTransType, FPUCtrlSignals, HasXSParameter, Redirect, Resolve, XSBundle, XSModule}
import xiangshan.{AddrTransType, FPUCtrlSignals, HasXSParameter, Redirect, Resolve, XSBundle, XSModule, ExceptSparseVec}
import xiangshan.backend.datapath.WbConfig._
import xiangshan.backend.fu.vector.Bundles.{VType, Vxrm}
import xiangshan.backend.fu.fpu.Bundles.Frm
Expand Down Expand Up @@ -420,7 +420,8 @@ class ExeUnitImp(implicit p: Parameters, val exuParams: ExeUnitParams) extends X
io.out.bits.toRob.bits.fflags. foreach(x => x := Mux1H(fuOutValidOH, fuOutresVec.map(_.fflags.getOrElse(0.U.asTypeOf(io.out.bits.toRob.bits.fflags.get)))))
io.out.bits.toRob.bits.wflags. foreach(x => x := Mux1H(fuOutValidOH, fuOutBitsVec.map(_.ctrl.fpu.getOrElse(0.U.asTypeOf(new FPUCtrlSignals)).wflags)))
io.out.bits.toRob.bits.vxsat. foreach(x => x := Mux1H(fuOutValidOH, fuOutresVec.map(_.vxsat.getOrElse(0.U.asTypeOf(io.out.bits.toRob.bits.vxsat.get)))))
io.out.bits.toRob.bits.exceptionVec.foreach(x => x := Mux1H(fuOutValidOH, fuOutBitsVec.map(_.ctrl.exceptionVec.getOrElse(0.U.asTypeOf(io.out.bits.toRob.bits.exceptionVec.get)))))
// io.out.bits.toRob.bits.exceptionVec.foreach(x => x := Mux1H(fuOutValidOH, fuOutBitsVec.map(_.ctrl.exceptionVec.getOrElse(0.U.asTypeOf(io.out.bits.toRob.bits.exceptionVec.get)))))
io.out.bits.toRob.bits.exceptionVec := ExceptSparseVec.mux1h(fuOutValidOH, fuOutBitsVec.map(_.ctrl.exceptionVec))
io.out.bits.toRob.bits.flushPipe. foreach(x => x := Mux1H(fuOutValidOH, fuOutBitsVec.map(_.ctrl.flushPipe.getOrElse(0.U.asTypeOf(io.out.bits.toRob.bits.flushPipe.get)))))
io.out.bits.toRob.bits.replay. foreach(x => x := Mux1H(fuOutValidOH, fuOutBitsVec.map(_.ctrl.replay.getOrElse(0.U.asTypeOf(io.out.bits.toRob.bits.replay.get)))))
io.out.bits.toRob.bits.isRVC. foreach(x => x := Mux1H(fuOutValidOH, fuOutBitsVec.map(_.ctrl.isRVC.getOrElse(false.B))))
Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/xiangshan/backend/fu/CSR.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ import freechips.rocketchip.util._
import utility.MaskedRegMap.WritableMask
import utils._
import utility._
import xiangshan.ExceptionNO._
import xiangshan._
import xiangshan.backend.fu.util._
import xiangshan.cache._
import xiangshan.backend.BackendParams
import xiangshan.backend.Bundles.{ExceptionInfo, TrapInstInfo}
import xiangshan.backend.fu.NewCSR.CSREvents.TargetPCBundle
import xiangshan.backend.fu.NewCSR.CSRNamedConstant.ContextStatus
Expand Down
2 changes: 0 additions & 2 deletions src/main/scala/xiangshan/backend/fu/Fence.scala
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import chisel3._
import chisel3.util._
import org.chipsalliance.cde.config.Parameters
import utility.XSDebug
import xiangshan.ExceptionNO.{illegalInstr, virtualInstr}
import xiangshan._

class FenceIO(implicit p: Parameters) extends XSBundle {
Expand Down Expand Up @@ -87,7 +86,6 @@ class Fence(cfg: FuConfig)(implicit p: Parameters) extends FuncUnit(cfg) {
io.out.bits.ctrl.robIdx := uop.ctrl.robIdx
io.out.bits.ctrl.pdest := uop.ctrl.pdest
io.out.bits.ctrl.flushPipe.get := uop.ctrl.flushPipe.get
io.out.bits.ctrl.exceptionVec.get := 0.U.asTypeOf(io.out.bits.ctrl.exceptionVec.get)
io.out.bits.perfDebugInfo.foreach(_ := io.in.bits.perfDebugInfo.get)
io.out.bits.debug_seqNum.foreach(_ := io.in.bits.debug_seqNum.get)

Expand Down
1 change: 0 additions & 1 deletion src/main/scala/xiangshan/backend/fu/FuConfig.scala
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,6 @@ object FuConfig {
),
piped = false,
latency = UncertainLatency(),
exceptionOut = Seq(illegalInstr, virtualInstr),
flushPipe = true
)

Expand Down
10 changes: 6 additions & 4 deletions src/main/scala/xiangshan/backend/fu/FuncUnit.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import xiangshan.backend.rob.RobPtr
import xiangshan.frontend.ftq.FtqPtr
import xiangshan.backend.datapath.DataConfig._
import xiangshan.backend.fu.vector.Bundles.{VType, Vl, Vxsat}
import xiangshan.ExceptionNO.illegalInstr
import xiangshan.ExceptionNO
import xiangshan.backend.fu.wrapper.{CSRInput, CSRToDecode}
import xiangshan.frontend.bpu.{BranchAttribute, BranchInfo}

Expand Down Expand Up @@ -80,7 +80,7 @@ class FuncUnitCtrlOutput(cfg: FuConfig)(implicit p: Parameters) extends XSBundle
val vecWen = OptionWrapper(cfg.needVecWen, Bool())
val v0Wen = OptionWrapper(cfg.needV0Wen, Bool())
val vlWen = OptionWrapper(cfg.needVlWen, Bool())
val exceptionVec = OptionWrapper(cfg.exceptionOut.nonEmpty, ExceptionVec())
val exceptionVec = ExceptSparseVec(cfg.exceptionOut)
val flushPipe = OptionWrapper(cfg.flushPipe, Bool())
val replay = OptionWrapper(cfg.replayInst, Bool())
val isRVC = OptionWrapper(cfg.hasIsRVC, Bool())
Expand Down Expand Up @@ -300,8 +300,10 @@ trait HasPipelineReg { this: FuncUnit =>
if (cfg.exceptionOut.nonEmpty) {
val outVstart = ctrlVec.last.vpu.get.vstart
val vstartIllegal = outVstart =/= 0.U
io.out.bits.ctrl.exceptionVec.get := 0.U.asTypeOf(io.out.bits.ctrl.exceptionVec.get)
io.out.bits.ctrl.exceptionVec.get(illegalInstr) := vstartIllegal
io.out.bits.ctrl.exceptionVec.zeroInit()
require(cfg.exceptionOut.contains(ExceptionNO.illegalInstr),
"HasPipelineReg trait with non-empty excptionOut must have illegal instruction exception output")
io.out.bits.ctrl.exceptionVec(ExceptionNO.illegalInstr) := vstartIllegal
}

def regEnable(i: Int): Bool = validVec(i - 1) && rdyVec(i - 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import chisel3._
import chisel3.util._
import org.chipsalliance.cde.config.Parameters
import utility.{SignExt, ZeroExt}
import xiangshan.ExceptionNO
import xiangshan.ExceptionNO._
import xiangshan.backend.fu.NewCSR.CSRBundles.{CauseBundle, OneFieldBundle, PrivState}
import xiangshan.backend.fu.NewCSR.CSRConfig.{VaddrMaxWidth, XLEN}
import xiangshan.backend.fu.NewCSR.CSRDefines.{HgatpMode, PrivMode, SatpMode, VirtMode}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import chisel3._
import chisel3.util._
import org.chipsalliance.cde.config.Parameters
import utility.{SignExt, ZeroExt}
import xiangshan.ExceptionNO
import xiangshan.ExceptionNO._
import xiangshan.backend.fu.NewCSR.CSRBundles.{CauseBundle, OneFieldBundle, PrivState}
import xiangshan.backend.fu.NewCSR.CSRConfig.{VaddrMaxWidth, XLEN}
import xiangshan.backend.fu.NewCSR.CSRDefines.{HgatpMode, PrivMode, SatpMode, VirtMode}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import chisel3._
import chisel3.util._
import org.chipsalliance.cde.config.Parameters
import utility.{SignExt, ZeroExt}
import xiangshan.ExceptionNO
import xiangshan.ExceptionNO._
import xiangshan.backend.fu.NewCSR.CSRBundles.{CauseBundle, OneFieldBundle, PrivState}
import xiangshan.backend.fu.NewCSR.CSRConfig.{VaddrMaxWidth, XLEN}
import xiangshan.backend.fu.NewCSR.CSRDefines.{HgatpMode, PrivMode, SatpMode, VirtMode}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import chisel3._
import chisel3.util._
import org.chipsalliance.cde.config.Parameters
import utility.{SignExt, ZeroExt, GatedValidRegNext}
import xiangshan.{ExceptionNO, HasXSParameter, TriggerAction}
import xiangshan.ExceptionNO._
import xiangshan.backend.fu.NewCSR
import xiangshan.backend.fu.NewCSR.CSRBundles.{CauseBundle, OneFieldBundle, PrivState}
import xiangshan.backend.fu.NewCSR.CSRConfig.{VaddrMaxWidth, XLEN}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import chisel3._
import chisel3.util._
import org.chipsalliance.cde.config.Parameters
import utility.SignExt
import xiangshan.ExceptionNO
import xiangshan.backend.fu.NewCSR.CSRBundles.{CauseBundle, OneFieldBundle, PrivState}
import xiangshan.backend.fu.NewCSR.CSRConfig.{VaddrMaxWidth, XLEN}
import xiangshan.backend.fu.NewCSR._
Expand Down
Loading
Loading