diff --git a/src/main/scala/backBoard/LocalRegisters.scala b/src/main/scala/backBoard/LocalRegisters.scala index 34d5ee0..d6632ac 100644 --- a/src/main/scala/backBoard/LocalRegisters.scala +++ b/src/main/scala/backBoard/LocalRegisters.scala @@ -287,7 +287,22 @@ with BackBoardSlvOut16{ upReg(7) := valueReg(15,8) } - out := outPin + // out := outPin + + val isDownCDR = RegInit(false.B) + val isUpCDR = RegInit(false.B) + + when( isCrcPass ){ + isDownCDR := false.B + isUpCDR := false.B + } .elsewhen( lvdsSlv.io.downstream_rx_cdr_err ){ + isDownCDR := true.B + } .elsewhen( lvdsSlv.io.upstream_rx_cdr_err ){ + isUpCDR := true.B + } + + //override + out := Mux( isDownCDR & isUpCDR, "h5555".U, Mux(isDownCDR, Cat(Fill(16, flash1HZ)), Mux( isUpCDR, Cat(Fill(16, flash2HZ)), outPin ))) }