Bundles.scala (864480f4bbbc77728906ce3d162663614c19e20b) Bundles.scala (195ef4a53ab54326d879e884c4e1568f424f2668)
1package xiangshan.backend
2
3import org.chipsalliance.cde.config.Parameters
4import chisel3._
5import chisel3.util.BitPat.bitPatToUInt
6import chisel3.util._
7import utils.BundleUtils.makeValid
8import utils.OptionWrapper

--- 585 unchanged lines hidden (view full) ---

594
595 def needCancel(og0CancelOH: UInt, og1CancelOH: UInt) : Bool = {
596 if (params.isIQWakeUpSink) {
597 require(
598 og0CancelOH.getWidth == l1ExuOH.get.head.getWidth,
599 s"cancelVecSize: {og0: ${og0CancelOH.getWidth}, og1: ${og1CancelOH.getWidth}}"
600 )
601 val l1Cancel: Bool = l1ExuOH.get.zip(srcTimer.get).map {
1package xiangshan.backend
2
3import org.chipsalliance.cde.config.Parameters
4import chisel3._
5import chisel3.util.BitPat.bitPatToUInt
6import chisel3.util._
7import utils.BundleUtils.makeValid
8import utils.OptionWrapper

--- 585 unchanged lines hidden (view full) ---

594
595 def needCancel(og0CancelOH: UInt, og1CancelOH: UInt) : Bool = {
596 if (params.isIQWakeUpSink) {
597 require(
598 og0CancelOH.getWidth == l1ExuOH.get.head.getWidth,
599 s"cancelVecSize: {og0: ${og0CancelOH.getWidth}, og1: ${og1CancelOH.getWidth}}"
600 )
601 val l1Cancel: Bool = l1ExuOH.get.zip(srcTimer.get).map {
602 case(exuOH: UInt, srcTimer: UInt) =>
603 (exuOH & og0CancelOH).orR && srcTimer === 1.U
602 case(exuOH: Vec[Bool], srcTimer: UInt) =>
603 (exuOH.asUInt & og0CancelOH).orR && srcTimer === 1.U
604 }.reduce(_ | _)
605 l1Cancel
606 } else {
607 false.B
608 }
609 }
610
611 def fromIssueBundle(source: IssueQueueIssueBundle): Unit = {

--- 282 unchanged lines hidden ---
604 }.reduce(_ | _)
605 l1Cancel
606 } else {
607 false.B
608 }
609 }
610
611 def fromIssueBundle(source: IssueQueueIssueBundle): Unit = {

--- 282 unchanged lines hidden ---