정의
같은 clock edge가 launch flop과 capture flop에 도착하는 시간의 차이를 clock skew라 한다.
- Positive skew (): capture clock이 늦게 도착한다.
- Negative skew (): capture clock이 먼저 도착한다.
Slack에 미치는 영향
Setup / Hold 문서의 식에 대입하면 다음과 같다.
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은 다루지 않는다.