修复上行子报文尾传递问题

This commit is contained in:
Ruige Lee
2025-06-25 15:25:53 +08:00
parent 8a0533738c
commit 12485fcfff
3 changed files with 24 additions and 4 deletions

View File

@@ -379,9 +379,28 @@ abstract class SlaveParserBase extends Module{
}
}
when( upSendGen.io.subMsgHeadReq.fire ){ //ready
when( upSendGen.io.subMsgTailReq.fire ){
when( isUpSendPing ){
assert( isUpSubMsgTailValid(0) )
isUpSubMsgTailValid(0) := false.B
} .otherwise{
assert( isUpSubMsgTailValid(1) )
isUpSubMsgTailValid(1) := false.B
}
} .elsewhen( upRecParser.io.subMsgTailReq.fire ){
when( isUpRecPing ){
assert( ~isUpSubMsgTailValid(0) )
isUpSubMsgTailValid(0) := true.B
} .otherwise{
assert( ~isUpSubMsgTailValid(1) )
isUpSubMsgTailValid(1) := true.B
}
}
when( upSendGen.io.subMsgTailReq.fire ){ //ready
isUpSendPing := ~isUpSendPing
}.elsewhen( upRecParser.io.subMsgHeadReq.fire ){
}.elsewhen( upRecParser.io.subMsgTailReq.fire ){
isUpRecPing := ~isUpRecPing
}
@@ -739,7 +758,7 @@ trait SlaveParserRW{ this: SlaveParserBase =>
))
when( ~isUpRecPing ){ //req fire 后 已经反相
when( isUpRecPing ){
upRecFifo(0).io.enq.valid := upRecParser.io.data.valid
upRecFifo(0).io.enq.bits :=
Mux(