[Digital Logic] Timing Violation 해결 방법
Digital design 설계를 하다보면 timing violation이 나는 경우가 종종 있다. 해결 방법은 다양하지만 대표적인 방법 몇 가지만 소개한다.
Set-up Time Violation
1. Data path buffer 개수 줄이기
말 그대로 data path delay를 줄이기 위해 buffer 개수를 줄인다.
2. 2 inverters를 1 buffer로 바꾼다
3. Cell 타입 변경
Transition speed는 LVT > RVT > HVT 순으로 좋기 때문에 cell type을 변경한다. 대신 area와 같은 부가적인 부분이 안좋아 질 수 있다.
4. Drive strength 증가
5. Buffer 삽입
Buffer를 삽입하여 wire delay를 개선한다. 대신 leakage power가 증가 할 수 있다.
6. Clock skew
Clock skew를 만들어 clock delay를 늘린다.
Hold Time Violation
Set-up은 그나마 clock frequency를 늦춰서 맞출 수 있지만, hold violation은 맞추기 어렵다.
1. Buffer 추가
Setup과 반대로 delay를 추가해야 하기 때문에 delay buffer를 추가해준다.