From cea2d019453f4b271222e14a86b0f19b2e000251 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Tue, 15 Jul 2025 16:30:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8rec=E7=9A=84=E6=B8=85?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E5=A4=8D=E4=BD=8DsendGen=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=9B=E5=BD=93CDRout=E7=9A=84axis=E4=B8=8B=E6=BA=A2?= =?UTF-8?q?=EF=BC=8C=E7=8A=B6=E6=80=81=E6=9C=BA=E5=9B=9E=E5=88=B0IDLE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDROut.scala | 13 ++++++++----- src/main/scala/backBoard/shin/SlaveParser.scala | 5 +++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDROut.scala b/src/main/scala/backBoard/ebus/CDROut.scala index 53ccdf0..363183d 100644 --- a/src/main/scala/backBoard/ebus/CDROut.scala +++ b/src/main/scala/backBoard/ebus/CDROut.scala @@ -45,8 +45,8 @@ class CDROut extends Module{ stateNext := Mux1H(Seq( (stateCurr === STATE_IDLE) -> ( Mux( io.axis.valid, STATE_PREAMBLE, STATE_IDLE )), - (stateCurr === STATE_PREAMBLE) -> ( Mux( (byteCnt === 7.U) & (bitCnt === 9.U), STATE_PAYLOAD, STATE_PREAMBLE )), - (stateCurr === STATE_PAYLOAD) -> ( Mux( io.axis.fire & io.axis.bits.tlast, STATE_IDLE, STATE_PAYLOAD ) ), + (stateCurr === STATE_PREAMBLE) -> ( Mux( (byteCnt === 7.U) & (bitCnt === 9.U), Mux( io.axis.valid, STATE_PAYLOAD, STATE_IDLE), STATE_PREAMBLE )), + (stateCurr === STATE_PAYLOAD) -> ( Mux( (io.axis.fire & io.axis.bits.tlast) | (~io.axis.valid & io.axis.ready), STATE_IDLE, STATE_PAYLOAD ) ), )) io.serDat := shiftData.extract(9) @@ -62,9 +62,12 @@ class CDROut extends Module{ } - - when( stateCurr === STATE_IDLE & stateNext === STATE_PREAMBLE){ //PRE - shiftData := ETH_PRE + when( stateCurr === STATE_IDLE ){ + when( stateNext === STATE_PREAMBLE ){ + shiftData := ETH_PRE + } .elsewhen( stateNext === STATE_IDLE ){ + shiftData := 0.U + } } .otherwise{ when( bitCnt =/= 9.U ){ shiftData := shiftData << 1 diff --git a/src/main/scala/backBoard/shin/SlaveParser.scala b/src/main/scala/backBoard/shin/SlaveParser.scala index d91c21e..df3fd46 100644 --- a/src/main/scala/backBoard/shin/SlaveParser.scala +++ b/src/main/scala/backBoard/shin/SlaveParser.scala @@ -1048,7 +1048,12 @@ with SlaveParserProbe{ io.intHWTrig(1) := upRecParser.io.isError downRecParser.io.resp := io.intHWClr(0) + + downSendGen.reset := reset.asBool | io.intHWClr(0) + upRecParser.io.resp := io.intHWClr(1) + upSendGen.reset := reset.asBool | io.intHWClr(1) + }