타이밍 분석과 CDC
비동기 FIFO의 그레이 코드 포인터를 상대 도메인으로 전달하는 경로를, 비동기라는 이유로 제약 없음(폴스 패스)으로 하면 문제가 될 수 있는 이유로 올바른 것은?
- A폴스 패스로 하면 동기화기의 플립플롭이 논리 합성에서 삭제되기 때문에
- B비트별 지연 차이가 포인터의 갱신 간격을 넘으면, 한 번에 1비트만 바뀐다는 전제가 수신 측에서 무너지기 때문에
- C폴스 패스로 하면 툴이 포인터를 바이너리로 되돌리기 때문에
정답과 해설 보기
정답: B. 비트별 지연 차이가 포인터의 갱신 간격을 넘으면, 한 번에 1비트만 바뀐다는 전제가 수신 측에서 무너지기 때문에
그레이 코드 포인터는 수신 측의 어느 에지에서 보더라도 변화 중인 비트가 하나 이내라는 것을 전제로 합니다. 경로를 제약 없음으로 하면 배치 배선에서 비트별 지연이 크게 달라질 수 있습니다. 예를 들어 송신 측 주기가 2 ns이고, 첫 번째에 바뀌는 비트가 도착하는 데 3 ns, 두 번째에 바뀌는 비트가 1 ns 걸리면 둘 다 시각 3 ns에 도착하여 2비트가 동시에 바뀐 것처럼 보입니다. 그래서 최대 지연 제약을 걸어 지연 차이를 송신 측의 1주기 이내로 억제합니다.