语法清理1
This commit is contained in:
@@ -74,7 +74,7 @@ abstract class ShinMstPhyBase extends Module{
|
||||
trait ShinMstSend{ this: ShinMstPhyBase =>
|
||||
|
||||
|
||||
val headByte = Header_Info_Bundle.getWidth()/8
|
||||
val headByte = new Header_Info_Bundle.getWidth()/8
|
||||
|
||||
require( headByte == 8 )
|
||||
|
||||
@@ -91,19 +91,19 @@ trait ShinMstSend{ this: ShinMstPhyBase =>
|
||||
mirrorReg.io.addrB := 1.U
|
||||
mirrorReg.io.enrB := true.B
|
||||
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeof(Header_Info_Bundle)
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle)
|
||||
} .elsewhen( ~testIOShift(2) & testIOShift(1) ){
|
||||
mirrorReg.io.addrB := 2.U
|
||||
mirrorReg.io.enrB := true.B
|
||||
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeof(Header_Info_Bundle)
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle)
|
||||
} .elsewhen( ~testIOShift(3) & testIOShift(2) ){
|
||||
mirrorReg.io.addrB := 3.U
|
||||
mirrorReg.io.enrB := true.B
|
||||
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeof(Header_Info_Bundle)
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle)
|
||||
} .elsewhen( ~testIOShift(4) & testIOShift(3) ){
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeof(Header_Info_Bundle)
|
||||
sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle)
|
||||
}
|
||||
|
||||
|
||||
@@ -132,8 +132,8 @@ trait ShinMstSend{ this: ShinMstPhyBase =>
|
||||
|
||||
sendCntNext := Mux1H(Seq(
|
||||
(sendStateCurr === 0.U) -> 0.U,
|
||||
(sendStateCurr === 1.U) -> Mux(cdrOut.io.axis.fire, Mux( sendStateNext =/= 2.U, sendCnt + 1.U, 0.U ), sendCntCurr),
|
||||
(sendStateCurr === 2.U) -> Mux(cdrOut.io.axis.fire, Mux( sendStateNext =/= 3.U, sendCnt + 1.U, 0.U ), sendCntCurr),
|
||||
(sendStateCurr === 1.U) -> Mux(cdrOut.io.axis.fire, Mux( sendStateNext =/= 2.U, sendCntCurr + 1.U, 0.U ), sendCntCurr),
|
||||
(sendStateCurr === 2.U) -> Mux(cdrOut.io.axis.fire, Mux( sendStateNext =/= 3.U, sendCntCurr + 1.U, 0.U ), sendCntCurr),
|
||||
|
||||
))
|
||||
|
||||
@@ -141,7 +141,7 @@ trait ShinMstSend{ this: ShinMstPhyBase =>
|
||||
cdrOut.io.axis.valid := sendStateCurr === 1.U | sendStateCurr === 2.U
|
||||
cdrOut.io.axis.bits.tdata :=
|
||||
Mux1H(Seq(
|
||||
( sendStateCurr === 1.U ) -> sendHeader.asUInt >> (sendCntCurr << 3),
|
||||
( sendStateCurr === 1.U ) -> (sendHeader.asUInt >> (sendCntCurr << 3)),
|
||||
( sendStateCurr === 2.U ) -> Mux( sendCntCurr.extract(0), mirrorDown.io.datarB(7,0), mirrorDown.io.datarB(15,8) ),
|
||||
))
|
||||
cdrOut.io.axis.bits.tlast := sendStateCurr === 2.U & sendCntCurr === (sendHeader.length << 1) - 1.U
|
||||
@@ -161,17 +161,17 @@ trait ShinMstRecv{ this: ShinMstPhyBase =>
|
||||
val recvStateNext = Wire( UInt(3.W) )
|
||||
val recvStateCurr = RegNext( recvStateNext, 0.U )
|
||||
|
||||
val recvHeader = Reg( UInt( Header_Info_Bundle.getWidth.W) )
|
||||
val recvHeader = Reg( UInt( (new Header_Info_Bundle).getWidth.W) )
|
||||
|
||||
val recvCnt = Reg(UInt(10.W))
|
||||
|
||||
val recvLength = recvHeader.asTypeof(Header_Info_Bundle).length
|
||||
val recvLength = recvHeader.asTypeOf(new Header_Info_Bundle).length
|
||||
|
||||
val isRecvEnd = recvStateCurr === 4.U
|
||||
io.interrupt := recvStateCurr === 4.U
|
||||
|
||||
|
||||
recvStateNext := Mux1h(Seq(
|
||||
recvStateNext := Mux1H(Seq(
|
||||
(recvStateCurr === 0.U) -> Mux( isSendTrig, 1.U, 0.U ), //IDLE
|
||||
(recvStateCurr === 1.U) -> Mux( cdrIn.io.axis.fire, 2.U, 1.U ), //Arm
|
||||
(recvStateCurr === 2.U) -> Mux( cdrIn.io.axis.fire & recvCnt === ((recvHeader.getWidth()/8-1)*2).U, 3.U, 2.U ), //Header
|
||||
@@ -223,7 +223,7 @@ trait ShinMstRecv{ this: ShinMstPhyBase =>
|
||||
|
||||
|
||||
|
||||
val ( _, isTimeout ) = Counter( range(0, 20000000), enable = recvStateCurr === 1.U | recvStateCurr === 2.U | recvStateCurr === 3.U, reset = recvStateCurr === 0.U | recvStateCurr === 4.U )
|
||||
val ( _, isTimeout ) = Counter( Range(0, 20000000), enable = recvStateCurr === 1.U | recvStateCurr === 2.U | recvStateCurr === 3.U, reset = recvStateCurr === 0.U | recvStateCurr === 4.U )
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user