同步和probe写完
This commit is contained in:
@@ -131,6 +131,10 @@ class SlaveRecParser extends Module{
|
||||
} .elsewhen( stateCurr === STATE_HEADER & lengthCnt === 1.U ){
|
||||
frameHeader.frameLenAim := frameHeader.frameLenAim | io.rec.bits.tdata(7,4)
|
||||
frameHeader.frameStyle := io.rec.bits.tdata(1,0)
|
||||
} .elsewhen( stateCurr === STATE_HEADER & lengthCnt === 2.U ){
|
||||
frameHeader.frameInfo := io.rec.bits.tdata << 8
|
||||
} .elsewhen( stateCurr === STATE_HEADER & lengthCnt === 3.U ){
|
||||
frameHeader.frameInfo := frameHeader.frameInfo | io.rec.bits.tdata
|
||||
}
|
||||
|
||||
when( stateCurr === STATE_PAYLOAD_INDEX_STYLE & lengthCnt === 0.U ){
|
||||
@@ -165,7 +169,7 @@ class SlaveRecParser extends Module{
|
||||
//必须使用上升沿触发,以避免前一帧长度超过预期
|
||||
( stateCurr === STATE_IDLE ) -> Mux( ~RegNext(io.rec.valid) & io.rec.valid, STATE_HEADER, STATE_IDLE ),
|
||||
( stateCurr === STATE_HEADER ) -> Mux( isShortRx, STATE_ERROR,
|
||||
Mux( lengthCnt === 0.U, STATE_HEADER,
|
||||
Mux( lengthCnt =/= (4-1).U, STATE_HEADER,
|
||||
MuxCase( STATE_ERROR, Array(
|
||||
( io.rec.bits.tdata(1,0) === FRAME_STYLE_COMMON ) -> STATE_PAYLOAD_INDEX_STYLE,
|
||||
( io.rec.bits.tdata(1,0) === FRAME_STYLE_PROBE ) -> STATE_CRC,
|
||||
|
||||
Reference in New Issue
Block a user