Sitemap

Setup / Hold Violation

3 min readOct 11, 2026

--

Date : 23.09.21

# Setup/ Hold

디지털 회로설계에는 클럭이 데이터를 캡쳐하는데 요구되는 시간이 있다. Setup, Hold조건이다.

Setup : 클럭이 데이터를 캡쳐하기 전에, 데이터가 안정화되는데 필요한 시간

Hold : 클럭이 데이터를 캡쳐한 후에, 데이터가 최소 유지되어야 하는 시간

위의 조건들을 만족하지 못하면 Timing Violation이 발생한다.

# Setup/ Hold 수식 (Skew 고려하지 않은 경우)

Tcq,max + Tdata,max ≤ Tcapture- Tsetup

Tcq,min + Tdata,min > Thold

Tcq = Clock-to-Q : FF에 Clock edge 입력된 후,출력 Q값이 새로운 값으로 바뀔 때까지 걸린 시간

Tdata,max (최대 지연 시간) : FF1의 출력 Q로부터 콤비 로직을 거쳐 FF2까지 도착하는 Path 중 가장 긴 시간

Tdata,min (최소 지연 시간) : FF1의 출력 Q로부터 콤비 로직을 거쳐 FF2까지 도착하는 Path 중 가장 짧은시간

Setup의 경우, Clock Edge보다 Data가 먼저 도착해야 하니까 FF1~FF2까지delay가 가장 긴 Path가 Critical Path임으로 최대 지연시간을 계산

Get Judy C’s stories in your inbox

Join Medium for free to get updates from this writer.

Hold의 경우, Clock Edge 이후 다음 Data가 들어오기 전까지 현재 Data가 일정 시간 이상 유지되어야 하니까 FF1~FF2까지 delay가 가장 짧은 path가 Critical path임으로 최소 지연 시간을 계산

# Skew 란

Skew = Tcapture - Tlaunch

Capture FF에 도착한 Clock에서 Launch FF에 도착한 Clock의 차를 skew라고 하며 이 값이 양이면 양의 스큐, 음이면 음의 스큐라고 한다.

음의 스큐라고 해서, 회로에 이상이 있는 것은 아니다.

CTS(Clock Tree Synthesis)를 진행 시, 배선 길이, 버퍼 수, 셀 지연, 부하에 따라 각 FF에 도착하는 clock이 달라질 수 있고 음의 스큐 발생할 수 있다.

# Setup/ Hold 수식 (Skew 반영한 경우)

  • Setup

Tlaunch + Tcq,max + Tdata,max ≤ Tcapture + Tperiod -Tsetup

양변에 Tlaunch를 빼주면

Tcq,max + Tdata,max ≤ Tperiod+Tskew -Tsetup

  • Hold

Tlaunch + Tcq,min + Tdata,min >Tcapture + Thold

양변에 Tlaunch를 빼주면

Tcq,min + Tdata,min >Tskew + Thold

양의 스큐는 Setup time의 마진을 주기 때문에 최대지연시간에 여유가 생기는 거고 Hold time에서는 만족 해야 하는 최소지연시간이 증가함으로 불리하다. 음의 스큐는 이의 반대이다.

--

--