转发功能已经调通
This commit is contained in:
@@ -77,8 +77,7 @@ class SlaveSendGen extends Module{
|
||||
}
|
||||
}
|
||||
|
||||
io.frameReq.ready := true.B
|
||||
io.subMsgReq.ready := true.B
|
||||
|
||||
|
||||
val lengthCnt = Reg(UInt(12.W))
|
||||
val frameLenCnt = Reg(UInt(12.W))
|
||||
@@ -101,17 +100,18 @@ class SlaveSendGen extends Module{
|
||||
|
||||
|
||||
|
||||
|
||||
io.frameReq.ready := true.B
|
||||
io.subMsgReq.ready := stateCurr =/= STATE_SUBMSG_HEADER & stateNext === STATE_SUBMSG_HEADER
|
||||
|
||||
|
||||
|
||||
stateNext := Mux1H(Seq(
|
||||
(stateCurr === STATE_IDLE) -> Mux( io.frameReq.fire, STATE_FRAME_HEADER, STATE_IDLE ),
|
||||
(stateCurr === STATE_FRAME_HEADER) -> Mux( lengthCnt === (2-1).U, Mux( io.subMsgReq.valid, STATE_SUBMSG_HEADER, STATE_ERROR ), STATE_FRAME_HEADER),
|
||||
(stateCurr === STATE_SUBMSG_HEADER) -> Mux( lengthCnt === (64-1).U, STATE_SUBMSG_DATA, STATE_SUBMSG_HEADER),
|
||||
(stateCurr === STATE_SUBMSG_HEADER) -> Mux( lengthCnt === (8-1).U, STATE_SUBMSG_DATA, STATE_SUBMSG_HEADER),
|
||||
(stateCurr === STATE_SUBMSG_DATA) ->
|
||||
Mux( lengthCnt === subMsgInfoSel.length-1.U, //已经发送完成该子报文
|
||||
Mux( frameLenCnt === frameInfo.frameLenAim, STATE_CRC, //主报文长度达到, 进CRC
|
||||
Mux( frameLenCnt === frameInfo.frameLenAim -1.U, STATE_CRC, //主报文长度达到, 进CRC
|
||||
Mux( io.subMsgReq.valid, STATE_SUBMSG_HEADER, STATE_ERROR ) ), //主报文长度未到,进下一个子报文
|
||||
STATE_SUBMSG_DATA
|
||||
),
|
||||
@@ -153,7 +153,11 @@ class SlaveSendGen extends Module{
|
||||
(subMsgInfoSel.source === 1.U) -> io.data(1).bits,
|
||||
))
|
||||
|
||||
crc.io.dataIn := tdata_submsg_data
|
||||
crc.io.dataIn := Mux1H(Seq(
|
||||
(stateCurr === STATE_FRAME_HEADER) -> tdata_frame_header,
|
||||
(stateCurr === STATE_SUBMSG_HEADER) -> tdata_submsg_header,
|
||||
(stateCurr === STATE_SUBMSG_DATA) -> tdata_submsg_data,
|
||||
))
|
||||
|
||||
|
||||
val tdata_crc = Mux1H(Seq(
|
||||
|
||||
Reference in New Issue
Block a user