셋업 시간 vs 홀드 시간: 정의·지연·주파수·수정 방법 비교
둘 다 플립플롭이 데이터를 올바르게 받아들이기 위한 시간 조건이지만, 지키는 방향이 반대입니다. 셋업 시간은 클럭 에지보다 앞서 데이터를 확정해 두어야 하는 시간으로, 데이터가 너무 늦지 않은지를 확인합니다. 홀드 시간은 에지 이후에도 데이터를 유지해야 하는 시간으로, 데이터가 너무 빠르지 않은지를 확인합니다. 셋업 조건에는 클럭 주기가 들어가므로 클럭을 늦추면 해결되지만, 홀드는 같은 에지끼리의 비교이므로 주파수를 낮춰도 해결되지 않습니다.
| 비교 항목 | 셋업 시간 | 홀드 시간 |
|---|---|---|
| 정의 | 클럭의 유효 에지보다 앞서 데이터를 확정해 두어야 하는 최소 시간 | 클럭의 유효 에지 이후에도 데이터를 바꾸지 않고 유지해야 하는 최소 시간 |
| 확인하는 것 | 데이터가 너무 늦지 않은지. 다음 에지에 맞출 수 있는지 | 데이터가 너무 빠르지 않은지. 같은 에지에서 새 데이터가 끼어들지 않는지 |
| 비교하는 에지 | 송신 측 에지와 1주기 뒤의 수신 측 에지 | 송신 측과 수신 측의 같은 에지 |
| 검사에 쓰는 지연 | 최대(max) 지연. 가장 느린 경로 | 최소(min) 지연. 가장 빠른 경로 |
| 조건식(기준) | tcq(max) + tlogic(max) + tsu ≤ T + tskew | tcq(min) + tlogic(min) ≥ th + tskew(tskew는 수신 측 클럭이 늦어지는 방향을 양으로 함) |
| 클럭 주파수와의 관계 | 주기 T가 식에 들어갑니다. 최대 동작 주파수를 결정합니다 | 주기가 식에 들어가지 않습니다. 주파수와 무관합니다 |
| 클럭 스큐의 영향 | 수신 측 클럭이 늦어지면 여유가 늘어납니다 | 수신 측 클럭이 늦어지면 여유가 줄어듭니다 |
| 위반 수정 방법 | 논리 단수 줄이기, 구동력이 큰 셀이나 문턱 전압이 낮은 빠른 셀로 교체, 배치를 가깝게, 파이프라인으로 경로 분할, 클럭 늦추기 | 데이터 경로에 지연용 버퍼 삽입, 문턱 전압이 높은 느린 셀로 교체, 클럭 스큐 조정 |
| 위반하기 쉬운 코너 | 느린 조건. 느린 공정·낮은 전압·고온(미세 공정에서는 저온 쪽이 느린 경우도 있음) | 빠른 조건. 빠른 공정·높은 전압·저온 등 |
| 칩 제작 후 발견되면 | 클럭을 늦추면 동작합니다. 성능은 떨어집니다 | 주파수를 낮춰도 해결되지 않아 올바르게 동작하지 않습니다. 수정하려면 설계 변경이 필요한 경우가 많습니다 |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.