Xilinx TimingClosure
Xilinx TimingClosure
Greg Daughtry
• Correct Timing Constraints
• Analyze Before Doing
• Implementation Strategies and Directives
• Congestion and Complexity
• Advanced Physical Optimization
Create Good Timing Constraints
Timing
– Key netlist, timing and physical critical path characteristics
– Combination of characteristics that lead to timing violations
– Logic levels distribution per destination clock
Complexity
– Logical netlist complexity
– Metrics and problematic cell distribution Complexity may lead to
Congestion Congestion
– Congestion seen by placer, router
– Top contributors to SLR crossings
Extended Timing Report
Setup analysis: show the paths before and after the critical
path
report_design_analysis -extend -setup
...
Logic Level Distribution
report_design_analysis
Faster Higher
Compile Performance
Quick Runtime Default Explore
Optimized
Implementation Strategies
Placer congestion
– Congestion-aware: balances congestion vs. wirelength vs. timing slack “Smear” Maps
Cannot always eliminate congestion
Cannot anticipate potential congestion introduced by hold fixing
Timing estimation does not reflect detours due to congestion
– Reports congested areas seen by placer algorithms
Router congestion
– Routing detours are used to handle congestion at the expense of timing
– Reports largest square areas with routing utilization close to 100%
Graphical View
Text Report
Actual routing
resource utilization
Window dimensions
Size of region
Potential Solutions for Congestion
Designed to be “Re-entrant”
– This means you can run it multiple times in a script
Post-Place Physical Optimization Looping
Open placed
Primary goal: improve WNS as much as Checkpoint
possible
– WNS limits max frequency phys_opt_design -directive
write_checkpoint
Secondary goal: improve TNS as much as
possible WNS No
– TNS increases stress on router algorithms, which > 0?
can impact WNS & WHS
Yes
Run phys_opt_design until timing is met route_design
(or close), or until WNS and TNS do not write_checkpoint
improve
Insert into run flow as a hook script No WNS
> 0?
Yes
Done!
Using Post-Place Physical Optimization
Cost Function
– Timing, Congestion and Architecture device model rules
Timing first but congestion impacts timing
Architecture rules also impact timing