타이밍 분석과 CDC

토글 동기화(송신 측에서 펄스가 올 때마다 반전하는 레벨 신호를 만들어 전달하는 방식)에서 수신 측이 원래 펄스를 복원하는 방법으로 올바른 것은?

  1. A동기화한 토글 신호를 그대로 펄스로 사용한다
  2. B동기화한 토글 신호와 수신 측 클럭의 AND를 취해 1사이클 폭의 펄스로 만든다
  3. C동기화한 토글 신호와, 그것을 1단 더 지연시킨 신호의 XOR를 취한다
정답과 해설 보기

정답: C. 동기화한 토글 신호와, 그것을 1단 더 지연시킨 신호의 XOR를 취한다

토글 동기화에서는 송신 측에서 펄스가 올 때마다 플립플롭의 값을 반전시켜, 0에서 1, 1에서 0으로의 변화로 이벤트를 나타냅니다. 레벨 신호이므로 수신 측 주기보다 짧은 펄스라도 사라지지 않습니다. 수신 측에서는 2단으로 동기화한 후 1단 더 지연시킨 값과 XOR를 취하면, 변화가 있었던 사이클에만 1이 되는 1사이클 폭의 펄스를 얻을 수 있습니다. 토글 신호를 그대로 사용하면 두 번째 이벤트에서 0으로 돌아갔을 때 놓칩니다. 클럭과의 논리 연산은 글리치의 원인이 됩니다.

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

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

  1. 토글 동기화로 펄스를 빠른 클럭 도메인에서 느린 클럭 도메인으로 전달할 때의 제약으로 올바른 것은?
  2. req와 ack를 사용하는 4상 핸드셰이크로 데이터 하나를 전달할 때의 신호 순서로 올바른 것은?
  3. 핸드셰이크를 이용한 클럭 도메인 간 데이터 전송의 단점으로 올바른 것은?
  4. 비동기 FIFO에서 쓰기 포인터와 읽기 포인터를 그레이 코드로 변환한 후 상대 도메인으로 동기화하는 이유로 올바른 것은?
  5. 4비트 바이너리 0110(10진수 6)을 그레이 코드로 변환한 것은?