개발 편의성을 위한 소소한 Tips/04 질의 응답 정리

[FPGA Q/A. 025] timing violation

반응형

Q

안녕하세요, 강의 잘 보고 있습니다.

synthesis 끝난 후에 타이밍 데이터들이 report 되는데, 맛비님께서 타이밍 이슈가 없다고 말씀하셨습니다.

그 이유가 TNS, THS가 0이기 때문인건가요? 만약 맞다면 1n만큼의 TNS가 생기면 timing violation이 생겼다고 보면 될까요?

감사합니다.

 

A

안녕하세요 :)

Timing violation 은 Targeting 하는 frequency 를 met 하지 못하면 발생하게 됩니다.

예를들어 Target frequncy 를 100MHz 로 하고, 이는  10ns 입니다. 

FPGA 에 동작을 위해서는 Register to Register 사이의 Setup 과 hold time 이 10ns 안에 들어와야합니다.

(setup, hold time 은 구글링 해보셔요)

Implementation 이 완료 된 후 Setup, Hold time 을 Check 하고 이때, negative (-) slack 이 아니라면 정상적으로 Timing 을 met (맞추었다) 하였다. 라고 합니다. 만약 negative slack 이 발생하였다면, Target Freq 에서 정상 동작을 보장할 수 없습니다. 이정도 지식을 갖고 답변을 드릴께요.

 

"그 이유가 TNS, THS가 0이기 때문인건가요? 만약 맞다면 1n만큼의 TNS가 생기면 timing violation이 생겼다고 보면 될까요?"

네, TNS, THS 가 0 혹은 양수값이라면 negative slack (-) 이 아니기 때문에 정상적으로 HW 가 생성되었습니다.

만약 Setup 혹은 hold 에서 Timing Slack 이 음수라면, Timing Violation 이다 이렇게 이야기를 합니다.

 

즐공하세요 :) 

반응형