From d05ac151a4c5af4cd6ec0cf184c5ba05eaba6bac Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 31 Jul 2025 15:26:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E5=8F=91=E7=94=9F=E7=A1=AC=E4=BB=B6?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=97=B6=EF=BC=8C=E7=9B=B4=E9=80=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/ShinTop.scala | 50 ++++++++++++++++----- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/src/main/scala/backBoard/shin/ShinTop.scala b/src/main/scala/backBoard/shin/ShinTop.scala index 705aad5..601dc6f 100644 --- a/src/main/scala/backBoard/shin/ShinTop.scala +++ b/src/main/scala/backBoard/shin/ShinTop.scala @@ -56,22 +56,12 @@ abstract class ShinTopBase extends Module{ io.isSoftReset := interface.io.isSoftReset io.interrupt := interface.io.interrupt - downCDRIn.io.serDat := io.dDatIn - downCDRIn.io.overCLK := io.clk8x - upCDRIn.io.serDat := io.uDatIn + downCDRIn.io.overCLK := io.clk8x upCDRIn.io.overCLK := io.clk8x - io.dDatOut := downCDROut.io.serDat - io.uDatOut := upCDROut.io.serDat - //override - when( slaveParser.io.isLoop & interface.io.cReg.modeSel === false.B){ - upCDRIn.io.serDat := downCDROut.io.serDat - io.dDatOut := false.B - } - io.ospi <> interface.io.ospi io.iqspi <> interface.io.iqspi io.oqspi <> interface.io.oqspi @@ -439,4 +429,40 @@ trait ShinTopWatchDog{ this: ShinTopBase => class ShinTop extends ShinTopBase with ShinTopMaster with ShinTopSlave -with ShinTopWatchDog +with ShinTopWatchDog{ + + when( interface.io.cReg.modeSel === false.B ){ //slave + when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) ){ + downCDRIn.io.serDat := false.B + upCDRIn.io.serDat := false.B + when( slaveParser.io.isLoop ){ + io.dDatOut := false.B + io.uDatOut := io.dDatIn + } .otherwise{ + io.dDatOut := io.dDatIn + io.uDatOut := io.uDatIn + } + } .otherwise{ + when( slaveParser.io.isLoop ){ + downCDRIn.io.serDat := io.dDatIn + upCDRIn.io.serDat := downCDROut.io.serDat + io.dDatOut := false.B + io.uDatOut := upCDROut.io.serDat + } .otherwise{ + downCDRIn.io.serDat := io.dDatIn + upCDRIn.io.serDat := io.uDatIn + io.dDatOut := downCDROut.io.serDat + io.uDatOut := upCDROut.io.serDat + } + } + } .otherwise{ //master + downCDRIn.io.serDat := false.B + upCDRIn.io.serDat := io.uDatIn + io.dDatOut := downCDROut.io.serDat + io.uDatOut := false.B + } + + + + +}