From 1739cdb2a7cbf2f2e94f5dc6695cad118c31537e Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Tue, 2 Sep 2025 17:18:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4localpoint=E5=92=8Clocalperoi?= =?UTF-8?q?d=E5=92=8C=E4=B8=AD=E6=96=AD2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 114 ++++-------------- 1 file changed, 25 insertions(+), 89 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 45ca2fb..8915054 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -99,10 +99,6 @@ class CommonRegisterBundle extends Bundle{ val syncPeroid = UInt(32.W) val recoTimeStamp = UInt(64.W) //时钟补偿寄存器 - val localPeroid = UInt(32.W) - val localPoint = UInt(64.W) - - val custom = Vec( 128, UInt(8.W) ) val smUsedDepth = Vec(8, UInt(8.W)) @@ -482,19 +478,14 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === "h146".U ) -> cReg.syncOffset(3)(23,16), (addr === "h147".U ) -> cReg.syncOffset(3)(31,24), - (addr === "h148".U ) -> cReg.localPoint(7,0), - (addr === "h149".U ) -> cReg.localPoint(15,8), - (addr === "h14a".U ) -> cReg.localPoint(23,16), - (addr === "h14b".U ) -> cReg.localPoint(31,24), - (addr === "h14c".U ) -> cReg.localPoint(39,32), - (addr === "h14d".U ) -> cReg.localPoint(47,40), - (addr === "h14e".U ) -> cReg.localPoint(55,48), - (addr === "h14f".U ) -> cReg.localPoint(63,56), - - (addr === "h150".U ) -> cReg.localPeroid(7,0), - (addr === "h151".U ) -> cReg.localPeroid(15,8), - (addr === "h152".U ) -> cReg.localPeroid(23,16), - (addr === "h153".U ) -> cReg.localPeroid(31,24), + // (addr === "h148".U ) -> 0.U,//cReg.localPoint(7,0), + // (addr === "h149".U ) -> 0.U,//cReg.localPoint(15,8), + // (addr === "h14a".U ) -> 0.U,//cReg.localPoint(23,16), + // (addr === "h14b".U ) -> 0.U,//cReg.localPoint(31,24), + // (addr === "h14c".U ) -> 0.U,//cReg.localPoint(39,32), + // (addr === "h14d".U ) -> 0.U,//cReg.localPoint(47,40), + // (addr === "h14e".U ) -> 0.U,//cReg.localPoint(55,48), + // (addr === "h14f".U ) -> 0.U,//cReg.localPoint(63,56), ) ++ ( 0 until 128 ).map{ i => @@ -799,8 +790,6 @@ trait InterfaceSync{ this: InterfaceBase => val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid - val localPoint = RegInit(0.U(64.W)); cReg.localPoint := localPoint - val localPeroid = RegInit(0.U(32.W)); cReg.localPeroid := localPeroid val syncOffset = for( i <- 0 until 4 ) yield { RegInit(0.U(32.W)) } //空开0 for( i <- 0 until 4 ) { @@ -848,34 +837,23 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( dataw, syncPeroid(23,0) ) } - .elsewhen( addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), dataw ) - } .elsewhen( addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) - } .elsewhen( addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) - } .elsewhen( addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) - } .elsewhen( addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) - } .elsewhen( addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) - } .elsewhen( addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) - } .elsewhen( addrw === "h14f".U ){ - localPoint := Cat( dataw, localPoint(55,0) ) - } - - .elsewhen( addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), dataw ) - } .elsewhen( addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), dataw, localPeroid(7,0) ) - } .elsewhen( addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), dataw, localPeroid(15,0) ) - } .elsewhen( addrw === "h153".U ){ - localPeroid := Cat( dataw, localPeroid(23,0) ) - } - + // .elsewhen( addrw === "h148".U ){ + // localPoint := Cat( localPoint(63,8), dataw ) + // } .elsewhen( addrw === "h149".U ){ + // localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) + // } .elsewhen( addrw === "h14a".U ){ + // localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) + // } .elsewhen( addrw === "h14b".U ){ + // localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) + // } .elsewhen( addrw === "h14c".U ){ + // localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) + // } .elsewhen( addrw === "h14d".U ){ + // localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) + // } .elsewhen( addrw === "h14e".U ){ + // localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) + // } .elsewhen( addrw === "h14f".U ){ + // localPoint := Cat( dataw, localPoint(55,0) ) + // } for( i <- 1 until 4 ){ @@ -935,35 +913,6 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( io.lvds.dataw, syncPeroid(23,0) ) } - .elsewhen( io.lvds.addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), io.lvds.dataw, localPoint(7,0) ) - } .elsewhen( io.lvds.addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), io.lvds.dataw, localPoint(15,0) ) - } .elsewhen( io.lvds.addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), io.lvds.dataw, localPoint(23,0) ) - } .elsewhen( io.lvds.addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), io.lvds.dataw, localPoint(31,0) ) - } .elsewhen( io.lvds.addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), io.lvds.dataw, localPoint(39,0) ) - } .elsewhen( io.lvds.addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), io.lvds.dataw, localPoint(47,0) ) - } .elsewhen( io.lvds.addrw === "h14f".U ){ - localPoint := Cat( io.lvds.dataw, localPoint(55,0) ) - } - - .elsewhen( io.lvds.addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), io.lvds.dataw, localPeroid(7,0) ) - } .elsewhen( io.lvds.addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), io.lvds.dataw, localPeroid(15,0) ) - } .elsewhen( io.lvds.addrw === "h153".U ){ - localPeroid := Cat( io.lvds.dataw, localPeroid(23,0) ) - } - - for( i <- 1 until 4 ){ when( io.lvds.addrw === ("h13c".U(16.W) + (4*(i-1)).U) ){ syncOffset(i) := Cat( syncOffset(i)(31,8), io.lvds.dataw ) @@ -1043,13 +992,6 @@ trait InterfaceSync{ this: InterfaceBase => io.sync(3) := cReg.syncCfg.extract(3) & syncSign(3) - val isLocalSyncInt = cReg.localPoint === cReg.recoTimeStamp - - when( isLocalSyncInt ){ //时间到达localSync时间点 - localPoint := cReg.localPoint + cReg.localPeroid - } - - } trait InterfaceWdt{ this: InterfaceBase => @@ -1176,11 +1118,6 @@ trait InterfaceInterrupt{ this: InterfaceBase => intStatus(1) := true.B } - //主站发送周期到了 - val isLocalSyncInt: Bool - when( isLocalSyncInt ){ - intStatus(2) := true.B - } //外部latch中断 val isLatchEvent = @@ -1262,7 +1199,6 @@ trait InterfaceInterrupt{ this: InterfaceBase => val trigIntPulse = (io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成 (io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成 - (isLocalSyncInt & cReg.intEnable(2)) | //主站发送周期到了 (isLatchEvent & cReg.intEnable(3)) | //latch Event (isWdtTrigAndEnable & cReg.intEnable(4)) | //主站接收看门狗溢出 (0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求