오늘은 맑음

CDC handshake waveform 예제 본문

Digital logic

CDC handshake waveform 예제

자전거 타는 구구 2023. 8. 9. 11:56
반응형

 CDC상황에서 handshake에 대해서 알아본 내용에 대해 적어보겠습니다.

  •  *_high가 붙은 신호는 동작 주파수가 높은 클럭 도메인의 신호이며, *_low가 붙은 신호는 동작 주파수가 낮은 클럭 도메인의 신호입니다.
  •  clk_high와 clk_low의 비율은 1.5:1로, synchronizer의 F/F chain은 2단으로 설정했습니다.
  • 모든 req/ack신호는 synchronizer를 통과합니다.

 

그림 1. handshake

  1. A에서 B로 req를 보냄 (a -> b)
  2. B에서 req를 받으면 A로 ack를 보냄(c -> d)
  3. A에서 ack를 받으면 req를 내림
  4. B가 A에서 ack를 내린 것을 확인(e ~> f)하면 ack를 내림
  5. A에서 ack가 내려간 것을 확인(g~>h)

위의 handshake가 정상적으로 동작하기 위해서 선행되어야 하는 조건

  • A에서 보내는 req와 B에서 보내는 ack는 서로의 신호를 확인하기 전까지 level값을 유지한다.
  • A에서 B로 req를 보낼 수 있는 조건은 A와 B가 모두 아무 동작도 하지 않는 IDLE상태여야 한다.

 아래의 유튜브 강의가 이해하기 참 쉽게 설명 되어 있더라구요

Handshake synchronizer (clock domain crossing) - YouTube

 

CDC(Clock Domain Crossing) (tistory.com)

 

CDC(Clock Domain Crossing)

CDC라 함은 서로 다른 clock으로 동작하는 clock domain끼리 데이터를 전송하는 것을 의미합니다. 서로 다른 clock domain에 있는 Flip Flop끼리 데이터를 주고 받기 때문에 문제가 발생합니다. 하나의 clock d

wh00300.tistory.com

 

반응형
Comments