TMC-20501: Hierarchical Tree Duplication was Shallower than Requested


Hierarchical tree duplication can be limited by a variety of issues, usually related to issues with pipelining of registers upstream of the tail register that feeds the hierarchy tree.

The depth of a register's fan-out hierarchy tree is determined by arranging its fan-outs based on their position in RTL hierarchy, and then constructing a tree structure

Figure 1. regZ with Fan-Out Hierarchy Tree Depth of 3
Figure 2. Ideal Hierarchical Tree Duplication.. The following example shows how ideal hierarchical tree duplication applied to regZ pulls regZ and two other registers from the pipeline preceding regZ (such as regY and regX ) and duplicates them downward into the hierarchy tree.

TMC-20501 issues a violation when a user-driven hierarchical tree duplicate candidate cannot duplicate as deeply as requested. Often, the limiting reason is a lack of sufficient preceding registers. The violations report the specific reason for limitation.

Figure 3. Hierarchical Tree Duplication Shallower than Request

For more on Hierarchical Duplication and the DUPLICATE_HIERARCHY_DEPTH assignment, refer to Hierarchical Proximity in the Register Duplication section of Intel Quartus Prime Pro Edition User Guide: Design Optimization .


Address the issue limiting the duplication, or increase the number of pipeline stages preceding the high fan-out tail.




Tag Description
register-duplication Design rule checks related to duplication of registers in the design, either manually or automatically.
synthesis Design rule checks which pertain to the Compiler's Analysis & Synthesis stage.

Device Family

  • Intel®Stratix® 10
  • Intel®Agilex™
  • Intel®Arria® 10