타이밍 분석과 CDC
멀티비트 데이터를 다른 클럭 도메인으로 안전하게 전달하는 방법으로 올바른 것은?
- A데이터의 각 비트에 3단 동기화기를 달면 비트별 어긋남이 없어지므로 그것만으로 안전하게 전달할 수 있다
- B데이터를 송신 측에서 유지한 채 1비트의 유효 신호만 동기화하고, 수신 측은 그것을 확인한 후 데이터를 캡처한다
- C각 비트의 동기화기를 서로 가까이 배치하여 비트별 어긋남을 없앤다
정답과 해설 보기
정답: B. 데이터를 송신 측에서 유지한 채 1비트의 유효 신호만 동기화하고, 수신 측은 그것을 확인한 후 데이터를 캡처한다
멀티비트 데이터에서는 각 비트의 동기화 결과가 1사이클 어긋나는 문제를 단수나 배치의 궁리로 해결할 수 없습니다. 대표적인 방법은 데이터 자체는 동기화하지 않고 송신 측에서 유지해 두고, 1비트의 제어 신호만 동기화하여 전달하는 것입니다. 수신 측이 제어 신호의 변화를 보는 시점에는 데이터가 충분히 전부터 안정되어 있으므로 그대로 캡처할 수 있습니다. 다만 데이터는 수신 측이 캡처를 마칠 때까지 바꿔서는 안 됩니다. 연속해서 대량으로 보낸다면 비동기 FIFO를 사용합니다.