2016년 1월 5일 화요일

[Xilinx] ISERDES를 이용한 1:7 Rx-LVDS 구현시 Reset과 Bitslip의 문제

ISERDES를 사용하여 1:7 Rx-LVDS를 구현하여 테스트 중에 문제가 발생했다.


Bitslip을 이용하여 내가 원하는 7 bits parallel data 값으로 정렬이 되었다.....
정확히 3번의 Bitslip으로...
그런데 Reset을 하면 Bitslip 3번에 원하는 7 bits parallel data 값으로 정렬이 되지 않는 문제가 발생했다......으~~~악
문제가 무엇일까?
엄청 고민하고 테스트를 한 결과 드디어 문제를 해결하였다....ㅎㅎ
Reset Sequence에 무언가를 하여야 한다.


결론은 .... 다음과 같다.
RX-LVDS 구현시,
1x,7x clock을 구현하는 PLL의 Lock을 RESET과 연동하지 않으면, Reset을 할 때 마다 Bitslip이 틀어지는 문제가 발생하였다.
그와는 별개로 다른 하위 디자인 블럭의 리셋 스킴과 연동될 경우에 가끔 LVDS동작에 문제(고정된 bitslip과 iodelay value일 경우 타이밍 맞추어진 부분이 틀어지는)를 일으키는 경우가 있는 것으로 보인다.
이 경우에는 전체 리셋이 release된 이 후에 LVDS control logic에 다시 리셋이 되었다가 release되는 로직을 구성하면 된다.



댓글 없음:

댓글 쓰기