AN 1016: Timing Closure Methodology Quick Reference Guide

ID 836192
Date 11/15/2024
Public
Document Table of Contents

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:

  1. On the Compilation Dashboard, click the Timing Analysis icon next to the Analysis & Synthesis stage. The Timing Analyzer opens.
  2. 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