From 573a1ad45fca8b9b5c0801cbfb048ff6455dccc5 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 14 Aug 2025 19:15:09 +0800 Subject: [PATCH] =?UTF-8?q?bug:=E6=BB=A4=E6=B3=A2=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E6=89=93=E6=8B=8D=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E8=BE=B9=E7=95=8C=E4=B8=8A=E8=B7=B3=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 33 +++++++++++++---------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 49c0602..e78db95 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -83,24 +83,28 @@ trait CDRInMultiSample{ this: CDRInBase => for( i <- 0 until 16 ) yield { sampleReg(i) } - } else if (true){ //5选3 多数投票 滤波 + } else if (false){ //5选3 多数投票 滤波 for( i <- 0 until 16 ) yield { - (sampleReg((i-2+16)%16) & sampleReg((i-1+16)%16) & sampleReg((i+0)%16)) | - (sampleReg((i-2+16)%16) & sampleReg((i-1+16)%16) & sampleReg((i+1)%16)) | - (sampleReg((i-2+16)%16) & sampleReg((i-1+16)%16) & sampleReg((i+2)%16)) | - (sampleReg((i-2+16)%16) & sampleReg((i+0)%16) & sampleReg((i+1)%16)) | - (sampleReg((i-2+16)%16) & sampleReg((i+0)%16) & sampleReg((i+2)%16)) | - (sampleReg((i-2+16)%16) & sampleReg((i+1)%16) & sampleReg((i+2)%16)) | - (sampleReg((i-1+16)%16) & sampleReg((i+0)%16) & sampleReg((i+1)%16)) | - (sampleReg((i-1+16)%16) & sampleReg((i+0)%16) & sampleReg((i+2)%16)) | - (sampleReg((i-1+16)%16) & sampleReg((i+1)%16) & sampleReg((i+2)%16)) | - (sampleReg((i-0)%16) & sampleReg((i+1)%16) & sampleReg((i+2)%16)) + withClockAndReset(multiCLK((i+3)%16).asClock, reset.asBool){ RegNext( + (sampleReg((i-2+16)%16) & sampleReg((i-1+16)%16) & sampleReg((i+0)%16)) | + (sampleReg((i-2+16)%16) & sampleReg((i-1+16)%16) & sampleReg((i+1)%16)) | + (sampleReg((i-2+16)%16) & sampleReg((i-1+16)%16) & sampleReg((i+2)%16)) | + (sampleReg((i-2+16)%16) & sampleReg((i+0)%16) & sampleReg((i+1)%16)) | + (sampleReg((i-2+16)%16) & sampleReg((i+0)%16) & sampleReg((i+2)%16)) | + (sampleReg((i-2+16)%16) & sampleReg((i+1)%16) & sampleReg((i+2)%16)) | + (sampleReg((i-1+16)%16) & sampleReg((i+0)%16) & sampleReg((i+1)%16)) | + (sampleReg((i-1+16)%16) & sampleReg((i+0)%16) & sampleReg((i+2)%16)) | + (sampleReg((i-1+16)%16) & sampleReg((i+1)%16) & sampleReg((i+2)%16)) | + (sampleReg((i-0)%16) & sampleReg((i+1)%16) & sampleReg((i+2)%16)) + )} } } else { //3选2 多数投票 滤波 for( i <- 0 until 16 ) yield { - (sampleReg((i-1+16)%16) & sampleReg((i+0)%16)) | - (sampleReg((i-1+16)%16) & sampleReg((i+1)%16)) | - (sampleReg((i+0)%16) & sampleReg((i+1)%16)) + withClockAndReset(multiCLK((i+2)%16).asClock, reset.asBool){ RegNext( + (sampleReg((i-1+16)%16) & sampleReg((i+0)%16)) | + (sampleReg((i-1+16)%16) & sampleReg((i+1)%16)) | + (sampleReg((i+0)%16) & sampleReg((i+1)%16)) + )} } } @@ -246,3 +250,4 @@ with CDRInOverSample class MPCDRIn extends CDRInBase with CDRInAxis with CDRInMultiSample +