Forum Discussion

zjj's avatar
zjj
Icon for New Contributor rankNew Contributor
1 month ago

timing violation fix

hi,   I am working on the project that base on agilex 7 fpga. 

project background:

  1. the compile setting is superior performance, sys clock is 416Mhz
  2. the ALM resources of the project has occupied the 70%,  and  has WNS -0.9 ns, TNS -29ooo ns violation.   

do you have better metholodgies for timing fix? 

now my work flow:

  1. first analyze the fit.retiming.rpt and fit.fastforward.rpt, add pipe or register according to critical chain reported in the retiming.rpt,
  2. then start to next compile

I doesn't analyze the fit.timing.rpt,  because the endpoint is too large, and the work efficiency is low

5 Replies

  • BobC_Altera's avatar
    BobC_Altera
    Icon for New Contributor rankNew Contributor

    Hi zjj

    What kind of timing violations are present?

    Please see these guides:

    Quartus Prime Pro User Guide Design Optimization - Timing Closure

     AN 903: Accelerating Timing Closure in Quartus Prime Pro provides information on rapidly resolving timing issues.

    AN 584: Timing Closure Methodology for Advanced FPGA Designs

    Hyperflex Architecture High-Performance Design Handbook

    Here is a general work flow I use to solve timing issues:

    • Fix incomplete/incorrect SDC constraints first
      • Design Assistant can help in finding clock crossings that have not been set to false_path as well as other issues
      • I look for the high severity items
    • Resolve setup violations via retiming and pipelining
      • See the guides above for QSF settings 
    • Let Quartus auto-fix hold violations; manually intervene only if needed
      • Search for KDBs related to hold violations
    • For setup violations that are greater than ~200 pS, check the path in Timing Analyzer
      • In Timing Analyzer GUI, under Tasks - Macros: run Report Top Failing Paths
      • Check the worst failing paths to see levels of logic and routing delay
      • Can levels of logic be reduced without major impact to design? If yes, then change, if no, keep looking
      • Is routing delay long relative to clock period?  If yes, then see Physical Synthesis Options these setting may help
    • Try multiple Fitter seeds before making RTL changes
    • Use Design Space Explorer II for systematic exploration
    • Consider larger RTL changes to reduce logic levels
    • Do all logic functions need to run at 416 MHz?  Can some regions with slower clock?
    • Consider reducing clock frequency or increasing device speed grade as a last resort

     

    Hope these notes help.

    Best regards,

    Bob

    • zjj's avatar
      zjj
      Icon for New Contributor rankNew Contributor

      thank you for replay!

      the main is setup violation with 416Mhz!   there are 416Mhz and 208Mhz clock domain, some region is worked in the 208Mhz! 

      • KennyT_altera's avatar
        KennyT_altera
        Icon for Super Contributor rankSuper Contributor

        As we do not receive any response from you on the previous reply that we have provided, we shall close this thread.