본문으로 건너뛰기
VEXUS
CTS & Clock

Theory · beginner

Clock Skew

Launch와 capture flop의 clock 도착 시간 차이인 clock skew가 setup과 hold slack에 반대 방향으로 작용하는 원리를 정리한다.

작성 2026-11-11 · 수정 2026-11-11

정의

같은 clock edge가 launch flop과 capture flop에 도착하는 시간의 차이를 clock skew라 한다.

tskew=Lcapture−Llauncht_{skew} = L_{capture} - L_{launch}
  • Positive skew (tskew>0t_{skew} > 0): capture clock이 늦게 도착한다.
  • Negative skew (tskew<0t_{skew} < 0): capture clock이 먼저 도착한다.

Slack에 미치는 영향

Setup / Hold 문서의 식에 대입하면 다음과 같다.

slacksetup=T+tskew−(tclk→q+tcomb+tsetup+tuncertainty)slack_{setup} = T + t_{skew} - (t_{clk \to q} + t_{comb} + t_{setup} + t_{uncertainty}) slackhold=(tclk→q+tcomb)−tskew−thold−tuncertaintyslack_{hold} = (t_{clk \to q} + t_{comb}) - t_{skew} - t_{hold} - t_{uncertainty}

Positive skew는 setup slack을 늘리고 hold slack을 줄인다. 같은 양만큼 정확히 반대로 작용한다.

flowchart LR
  S[Positive skew 증가] --> A[Setup slack 증가]
  S --> B[Hold slack 감소]

Global skew와 local skew

  • Global skew: clock domain 안의 모든 sink 중 latency 최댓값과 최솟값의 차이. CTS report의 대표 지표다.
  • Local skew: timing path로 실제 연결된 flop 쌍 사이의 skew. Timing에 직접 영향을 주는 것은 local skew다.

Global skew가 작아도 특정 flop 쌍의 local skew가 크면 hold violation이 생길 수 있다.

Useful skew

Setup이 부족한 path의 capture clock을 의도적으로 늦추는 기법이다. 그 capture flop이 launch하는 다음 path의 setup과, 같은 flop 쌍의 hold slack을 동시에 확인해야 한다.

한계

Clock tree 내부 구조(buffer level, wire RC), OCV에 의한 skew 변동, CRPR은 다루지 않는다.