타이밍 분석과 CDC

핸드셰이크를 이용한 클럭 도메인 간 데이터 전송의 단점으로 올바른 것은?

  1. Areq와 ack의 동기화를 왕복시키므로 1회 전송에 여러 사이클이 걸려, 연속적인 대량 전송에는 적합하지 않다
  2. B멀티비트 데이터를 전달하면 비트별 동기화 어긋남으로 데이터가 깨진다
  3. C송신 측과 수신 측의 클럭 주파수가 같지 않으면 사용할 수 없다
정답과 해설 보기

정답: A. req와 ack의 동기화를 왕복시키므로 1회 전송에 여러 사이클이 걸려, 연속적인 대량 전송에는 적합하지 않다

4상 핸드셰이크에서는 req가 수신 측에 전달되기까지 동기화의 2사이클, ack가 송신 측에 돌아오기까지 2사이클이 걸리고, 각각이 0으로 돌아가는 데도 같은 만큼 걸리므로, 1회 전송에 양쪽 도메인을 합쳐 8사이클 이상이 걸립니다. 그래서 제어 레지스터의 설정값처럼 가끔 전달하는 데이터에 적합합니다. 데이터는 전송하는 동안 계속 안정되어 있으므로 비트 어긋남으로 인한 오류는 일어나지 않으며, 주파수 비도 상관없습니다. 매 사이클처럼 데이터를 흘려보낼 때는 비동기 FIFO를 사용합니다.

이 분야 연습하기 분야로 돌아가기

타이밍 분석과 CDC의 다른 문제

  1. 비동기 FIFO에서 쓰기 포인터와 읽기 포인터를 그레이 코드로 변환한 후 상대 도메인으로 동기화하는 이유로 올바른 것은?
  2. 4비트 바이너리 0110(10진수 6)을 그레이 코드로 변환한 것은?
  3. 깊이 16워드인 비동기 FIFO에서 쓰기 포인터와 읽기 포인터를 주소보다 1비트 많은 5비트로 하는 이유로 올바른 것은?
  4. 5비트 그레이 코드 포인터를 사용하는 깊이 16워드의 비동기 FIFO에서, 쓰기 측에서 가득 참(full)을 판정하는 조건으로 올바른 것은?
  5. 비동기 FIFO에서는 상대의 포인터를 동기화해서 사용하므로, 보이는 포인터 값이 2~3사이클 오래된 값이 됩니다. 이 지연이 full/empty 판정에 미치는 영향으로 올바른 것은?