티스토리 뷰
목차
[Setup Time & Hold Time]
1) Setup Time
- 상승(하강)edge 전, 입력으로 받아들이는데 필요한 최소 시간
- Switching이 일어나기 전까지 입력이 정확히 인식되는데 필요한 최소 유지 시간을 말합니다. 즉 Data의 파형이 High인지 Low인지를 판별하는데 필요한 최소 시간을 의미합니다.
2) Hold Time
- 상승(하강)edge 후, 출력으로 유지하기위해 필요한 최소 시간
- Switching이 일어난 후 상태의 변화가 정확히 인식되도록 필요한 최소 시간을 말합니다. 즉, 판별된 결과가 유지되어야 하는 최소 시간을 의미합니다.
3) Setup Time과 Hold Time을 만족시키지 않을 때의 문제점
- 정상 동작을 하지 못하게 됩니다. 요구하는 setup time 전에 data가 switching 되어 data가 1인지 0인지 정확하게 인식하지 못해 오작동을 할 수 있습니다. 이를 setup time violation이라고 하는데, hold time violation도 같은 원리입니다. 따라서 time violation이 발생되지 않게 하기 위해서는 “길이” 를 맞추는 것이 아닌 “Delay”룰 맞춰야 합니다.
setup violation
data path를 최대한 빠르게 optimize 해주어야 함.
- transition time 줄이기
- cell Vth, drive strength를 바꿔 cell delay 줄이기
- 미세공정으로 갈수록 crosstalk로 인하여 cell delay가 크게 증가하는데, 이러한 이유로 setup이 증가하면 routing간의 간격을 조금 벌려주거나 상위 metal로 care함
Hold violation
data path를 느리게 해서 data가 유지되어야 하므로 buffer를 insert하여 data path의 delay를 늘려준다.
- Endpoint를 기준으로 buffer를 insert하면 수많은 buffer가 insert되어 physical적으로 issue가 발생할 수 있음.
-> delay cell을 적절하게 섞어서 insert하거나 common이 되는 data path에 buffer를 insert한다.
(hold worst) fast : ff / highest V / lowest Temp (저항 낮음) / (R)C min (hold worst TIV) : ff / highest V / highest Temp / (R)C min (setup worst) slow : ss / lowest V / highest Temp (저항 높음) / (R)C max (setup worst TIV) slow : ss / lowest V / lowest Temp / (R)C max |
'반도체 공정 및 설계 > ASIC 설계' 카테고리의 다른 글
CTS (Clock Tree Synthesis) (0) | 2024.04.12 |
---|---|
Latch & Flip-Flop (0) | 2024.04.04 |
target library와 link library? ASIC에서 library란? (0) | 2023.07.25 |
ASIC에서 DEF와 LEF / RTL과 netlist ? (0) | 2023.07.24 |
ASIC & IP (0) | 2022.12.27 |