AN 1016: Timing Closure Methodology Quick Reference Guide
ID
836192
Date
11/15/2024
Public
Answers to Top FAQs
1. About This Application Note
2. RTL Analysis and Optimization Techniques
3. Post-Fit Analysis and Optimization Techniques
4. Additional Optimization Techniques
5. Iterative Analysis and Optimization
6. Document Revision History of AN 1016: Timing Closure Methodology Quick Reference Guide
2.3.1. Reduce Excessive Logic Levels
Excessive logic levels in combinational logic can significantly impact path delay, potentially leading to critical timing issues within the design. Visualizing the number of logic levels between registers can be challenging when examining the RTL alone. However, you can use the Timing Analyzer's design metric reports to easily view the logic depths per clock domain.
To view the logic depths per clock domain, follow these steps after running Analysis & Synthesis:
- On the Compilation Dashboard, click the Timing Analysis icon next to the Analysis & Synthesis stage. The Timing Analyzer opens.
- Click Tasks > Reports > Design Metrics > Report Logic Depth.
The Summary of Paths tab shows the Logic Depth of each path. The Data Path tab report shows all interconnected elements. The Statistics tab report summarizes the total cells and interconnect delays.
Address any logic level depth issues in these reports identify by recoding your RTL using any of the following techniques:
- Parallelizing logic operations.
- Pushing logic across register boundaries.
- Use register pipelining to divide logic across multiple cycles.
Note: You must consider the possible latency introduced in other design modules when using pipelining.
- Flatten cascaded conditional statements and small cascaded LUTs by merging them into fewer blocks to reduce logic levels, thereby improving timing.
Figure 3. Report Logic Depth Report