diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 4c0c7b1..9bbbf98 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -155,14 +155,20 @@ trait CDRInMultiSample{ this: CDRInBase => } }.elsewhen( checkCnt.andR ){ //锁定之后,只允许每16cycle移动一相位 assert( arbCali >= 2.U && arbCali < 118.U ) - for( i <- 0 until 5 ){ - val j = 5 - i -1 - when( checkWindow(j) ^ checkWindow(j+1) ){ - when( j.U < arbCali ){ - arbCali := arbCali - 1.U - } .elsewhen( j.U > arbCali ){ - arbCali := arbCali + 1.U - } + + when( + (checkWindow(0) ^ checkWindow(1)) | + (checkWindow(1) ^ checkWindow(2)) + ){ + when( arbCali =/= 2.U ){ + arbCali := arbCali - 1.U + } + } .elsewhen( + (checkWindow(3) ^ checkWindow(4)) | + (checkWindow(4) ^ checkWindow(5)) + ){ + when( arbCali =/= 117.U ){ + arbCali := arbCali + 1.U } } }