본문 바로가기
일/Tips

timing slack 발생시, 해결 Tip. - timing 최적화

by 멜랑멀리 2016. 10. 26.
SMALL

 

기본 timing optimize 하기위한 Tip. ( vivado - xilinx )

 

1)     FPGA 내부의 각종 Clocking End-point Component들에 Reset 상태의 초기값이 필요 없는 부분들은 모두 없애면, Resource를 줄일 수 있어, Timing Meet에 도움.

 

2)     FPGA 내부 로직 전체에 Active High Reset을 적용하면 Resource를 줄일 수 있고, Timing Meet에도 도움. Xilinx 내부로직의 모든 Components들은 Active HIGH Reset을 받도록 Hardened되어 있기 때문에, Active Low Reset를 지정하게 되면, Inverter가 들어가게 되고, 그 만큼 로직 Resource가 추가로 낭비.

 

3)     1 Clock Cycle에 동작시키지 않아도 되는 부분은 Multi-Cycle Path를 지정하면, Timing Meet가 안되는 Logic에 추가적인 Timing Margin을 줄일수 있음.

 

4)     Timing Meet와 무관한 부분에 Asynchronous 또는 Set False Path를 적용하면, 다른 부분 로직의 Timing Meet에 도움.

 

5)     Clock Crossing 되는 부분에 Asynchronous 또는 Set False Path를 적용하면, 다른 부분 로직의 Timing Meet에 도움.

 

6)     기타, Synthesis Settings 에서 Strategy를 변경하여 Flow-PerfOptimized_high 옵션을 사용.

   Implementation Settings 옵션에서, Performance_Explore, Performance_ExplorePostRoutePhysOpt, Performance_Retiming 등의 옵션을 적용.

 

LIST