测试完成,资源超出

This commit is contained in:
RuigeLee
2024-06-25 16:44:19 +08:00
parent d99421cbf2
commit 3406a418d1
3 changed files with 335 additions and 12 deletions

View File

@@ -41,7 +41,7 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
}
val isMiss = for( i <- 0 until 2 ) yield { encordCur(i) === ~encordNxt(i) }
val isKeep = for( i <- 0 until 2 ) yield { encordCur(i) === encordNxt(i) }
// val isKeep = for( i <- 0 until 2 ) yield { encordCur(i) === encordNxt(i) }
val isOverflow = for( i <- 0 until 2 ) yield { Wire(Bool()) }
@@ -61,7 +61,6 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
when(~is2Phase(i)){ //A Phase only
when( RegNext( phaseA(i) ) & ~phaseA(i) ){
when( isSetVal(i) & counter(i) === "hFFFFFFFF".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) + 1.U
@@ -74,14 +73,12 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
when( isSign(i) ) {
when( invDirect(i) ){
when( isSetVal(i) & counter(i) === "h80000000".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) - 1.U
}
} .otherwise{
when( isSetVal(i) & counter(i) === "h7FFFFFFF".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) + 1.U
@@ -90,14 +87,12 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
} .otherwise{
when( invDirect(i) ){
when( isSetVal(i) & counter(i) === 0.U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) - 1.U
}
} .otherwise{
when( isSetVal(i) & counter(i) === "hFFFFFFFF".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) + 1.U
@@ -108,14 +103,12 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
when( isSign(i) ) {
when( invDirect(i) ){
when( isSetVal(i) & counter(i) === "h7FFFFFFF".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) + 1.U
}
} .otherwise{
when( isSetVal(i) & counter(i) === "h80000000".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) - 1.U
@@ -124,14 +117,12 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
} .otherwise{
when( invDirect(i) ){
when( isSetVal(i) & counter(i) === "hFFFFFFFF".U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) + 1.U
}
} .otherwise{
when( isSetVal(i) & counter(i) === 0.U ){
counter(i) := counter(i)
isOverflow(i) := true.B
} .otherwise{
counter(i) := counter(i) - 1.U
@@ -139,7 +130,7 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
}
}
} .otherwise{
assert( isKeep(i) )
// assert( isKeep(i) )
}
}
@@ -153,7 +144,7 @@ trait BackBoardSlvQei{ this: BackBoardSlvLocal =>
}
class Qei extends BackBoardSlvLocal with BackBoardSlvQei{
class Qei extends BackBoardSlvLocal with BackBoardSlvStatusPR with BackBoardSlvQei{
val phaseAIO = for( i <- 0 until 2 ) yield { IO(Input(Bool())) }
val phaseBIO = for( i <- 0 until 2 ) yield { IO(Input(Bool())) }
val phaseZIO = for( i <- 0 until 2 ) yield { IO(Input(Bool())) }