본문 바로가기
VLSI

[STA] 3. Setup 과 Hold, Timing Violation

by 익명의레디 2025. 2. 6.
Setup / Hold Timing Check

제가 신입때 제일 어려웠던... 머리로는 이해가는데 마음으로는 받아들일수 없었던 setup / hold 개념에 대해 간략하게 소개하도록 하겠습니다. 


[STA] 1. STA와 Timing Path

 

[STA] 1. STA와 Timing Path

Timing Pathauto PnR 엔지니어로 막 입사했을 때, 가장 어려웠던 부분이 STA였습니다. (사실은 지금도 어려워요)setup/hold가 무엇인지, Timing Violation이 발생하면 어떻게 Fix 하는지 등등... 그래서 시리즈

vlsiatelier.tistory.com

먼저 위에 글에대한 이해하고 있어야 내용 이해가 쉽습니다. 

Setup

Clock이 Active 되기 전 Data가 Stable하게 유지 되어야 하는 최소시간.
(이게 무슨말이지..?)

VLSICoding: Setup Time and Hold Time

 

 

그림을 보시면 Clock이 Active 하기 전, 빨간 영역이 Setup Time이 됩니다. 
Data는 이때 Stable 하게 유지해야합니다.

만일 이 최소시간을 만족하지 못하면 Setup Violation이 발생하게됩니다.

Setup Violation을 요약하자면
Require Time보다 Arrival Time이 늦어 발생하는데
* Require Time = Phase shift + library setup time - uncertainty + cppr 로 계산할수 있습니다.

이때 늦어진 값 (=violation)을 Slack 이라고 합니다. 

 

 

Hold

Clock이 Active 된  Data가 바뀌지 않고 Stable하게 유지 되어야 하는 최소시간.

 

VLSICoding: Setup Time and Hold Time

 

다시 위의 그림을 가져와서, Clock이 Active 된 후 파란 영역이 Hold Time이 됩니다. 
이 시간 내에 Data는 Stable하게 유지되어야 하며 
이 시간을 만족하지 못하고 Data가 바뀐다면 Hold Violation이 발생하게 됩니다. 


Hold Violation을 요약하면 
Require Time보다 Arival Time이 빨라서 발생하는데,
* Require TIme = Library Hold Time + Clock uncertainty - cppr 로 계산할수 있습니다.

 

 

Setup과 Hold의 Require Time에서 Phase Shift 계산 부분이 다름을 알수 있습니다. 

아래 그림과 같이 Setup Time은 다음 Phase Shift, Hold Time은 동일 Pahse Shift에서 계산됩니다.

 

What are setup and hold timing checks ? What is setup and hold time ? - Technology@Tdzire

 



오늘 내용을 요약한다면

Violation 원인 Data가 Require Time보다 늦게 도착 Data가 Require Time보다 빨리 도착
Violation 발생시 다음 클럭에서 잘못된 데이터 샘플링 현재 클럭에서 잘못된 데이터 샘플링
Fix Clock 속도를 낮춤, Data Path 줄이기,  Data Path를 늘리기 (Insert Buffer)

  Timing Violation Fix 방법은 4장에서 다루도록 하겠습니다. 

 

 

 

 

'VLSI' 카테고리의 다른 글

[STA] 5. Slack, Skew, Slew, useful Skew  (0) 2025.02.13
[STA] 4. Timing Violation Fix (setup / hold)  (0) 2025.02.10
[STA] 2. OCV와 CPPR (CRPR)  (0) 2025.02.04
[STA] 1. STA와 Timing Path  (0) 2024.11.27
STA에서 GBA와 PBA  (0) 2024.10.22