处理同步在正负边缘的bug

This commit is contained in:
Ruige Lee
2025-05-26 17:13:06 +08:00
parent 6ab95ae178
commit 5be78365cd

View File

@@ -674,7 +674,8 @@ trait SlaveParserSync{ this: SlaveParserBase =>
} }
when( RegNext(isSync) & ~isSync ){ when( RegNext(isSync) & ~isSync ){
deltaMstSlvDeltaTimeStamp := (mstDeltaTimeStamp - slvDeltaTimeStamp) >> 1 val deltaMstSlvDeltaTimeStamp_org = mstDeltaTimeStamp - slvDeltaTimeStamp
deltaMstSlvDeltaTimeStamp := Cat( deltaMstSlvDeltaTimeStamp_org.extract(deltaMstSlvDeltaTimeStamp_org.getWidth-1), deltaMstSlvDeltaTimeStamp_org(deltaMstSlvDeltaTimeStamp_org.getWidth-1, 1) ) //(mstDeltaTimeStamp - slvDeltaTimeStamp) >> 1
} .elsewhen( RegNext(RegNext(isSync)) & ~RegNext(isSync) ){ } .elsewhen( RegNext(RegNext(isSync)) & ~RegNext(isSync) ){
deltaFinal := mstSlvDeltaTimeStamp + deltaMstSlvDeltaTimeStamp deltaFinal := mstSlvDeltaTimeStamp + deltaMstSlvDeltaTimeStamp
} }