타이밍 분석과 CDC

멀티비트 데이터를 다른 클럭 도메인으로 안전하게 전달하는 방법으로 올바른 것은?

  1. A데이터의 각 비트에 3단 동기화기를 달면 비트별 어긋남이 없어지므로 그것만으로 안전하게 전달할 수 있다
  2. B데이터를 송신 측에서 유지한 채 1비트의 유효 신호만 동기화하고, 수신 측은 그것을 확인한 후 데이터를 캡처한다
  3. C각 비트의 동기화기를 서로 가까이 배치하여 비트별 어긋남을 없앤다
정답과 해설 보기

정답: B. 데이터를 송신 측에서 유지한 채 1비트의 유효 신호만 동기화하고, 수신 측은 그것을 확인한 후 데이터를 캡처한다

멀티비트 데이터에서는 각 비트의 동기화 결과가 1사이클 어긋나는 문제를 단수나 배치의 궁리로 해결할 수 없습니다. 대표적인 방법은 데이터 자체는 동기화하지 않고 송신 측에서 유지해 두고, 1비트의 제어 신호만 동기화하여 전달하는 것입니다. 수신 측이 제어 신호의 변화를 보는 시점에는 데이터가 충분히 전부터 안정되어 있으므로 그대로 캡처할 수 있습니다. 다만 데이터는 수신 측이 캡처를 마칠 때까지 바꿔서는 안 됩니다. 연속해서 대량으로 보낸다면 비동기 FIFO를 사용합니다.

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

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

  1. 500 MHz 클럭 도메인에서 1사이클(2 ns)만 1이 되는 펄스를 100 MHz 도메인으로 2단 동기화기를 통해 전달했습니다. 일어날 수 있는 문제로 올바른 것은?
  2. 400 MHz 도메인에서 100 MHz 도메인으로 레벨 신호를 동기화기로 확실하게 전달하기 위해, 신호 폭을 수신 측 클럭 주기의 1.5배 이상으로 하려고 합니다. 송신 측 클럭으로 최소 몇 사이클의 폭으로 하면 됩니까?
  3. 토글 동기화(송신 측에서 펄스가 올 때마다 반전하는 레벨 신호를 만들어 전달하는 방식)에서 수신 측이 원래 펄스를 복원하는 방법으로 올바른 것은?
  4. 토글 동기화로 펄스를 빠른 클럭 도메인에서 느린 클럭 도메인으로 전달할 때의 제약으로 올바른 것은?
  5. req와 ack를 사용하는 4상 핸드셰이크로 데이터 하나를 전달할 때의 신호 순서로 올바른 것은?