H-Tree
An H-tree is a symmetric, fractal-like clock distribution topology that delivers the clock signal with inherently balanced delay to all endpoints — named for its characteristic "H" branching pattern at each level of the hierarchy.
H-Tree Structure
- Start with a single clock source at the center of the chip (or clock domain).
- Level 1: The wire splits into two equal branches going left and right — forming a horizontal line.
- Level 2: Each endpoint splits into two vertical branches going up and down — forming the letter "H".
- Level 3: Each of those four endpoints splits horizontally again.
- Level 4: Each of the eight endpoints splits vertically.
- This continues until the tree reaches all target flip-flop clusters.
Why the H-Tree Achieves Balance
- At every branching point, both children have identical wire length and identical load (because the tree is symmetric).
- The total path length from root to any leaf is the same for every leaf — producing zero structural skew.
- This is possible because the H-tree's fractal geometry perfectly tiles a rectangular area with equal-length paths.
H-Tree Properties
- Wire Length per Level: Each successive level uses wires that are half the length of the previous level.
- Number of Endpoints: $2^n$ endpoints at level $n$ — Level 1: 2, Level 2: 4, Level 3: 8, etc.
- Total Wire Length: Approximately $O(N \cdot \sqrt{A})$ where $N$ is the number of endpoints and $A$ is the area.
- Branching Factor: Always 2 (binary tree) — each node drives exactly two children.
Advantages
- Inherent Balance: The topology itself guarantees matched path lengths — no need for delay tuning or serpentine routing.
- Predictable: Performance is easy to analyze and simulate.
- Scalable: Works for any power-of-2 number of endpoints by adding levels.
Limitations
- Rigid Geometry: Requires a regular, symmetric floorplan — not practical when flip-flops are unevenly distributed (which is the typical case in real designs).
- Area Overhead: The fixed branching pattern may not align with placement — wasting routing resources.
- Sensitivity to Load Imbalance: If the flip-flop clusters at different leaves have different capacitive loads, the structural balance is broken and skew appears.
- Modern Alternative: In practice, CTS tools build non-uniform trees that adapt to actual flip-flop placement — achieving better skew than a rigid H-tree in most real designs.
Where H-Trees Are Used
- FPGAs: The fixed, regular structure of FPGA fabrics is ideal for H-tree clock distribution.
- Memory Arrays: Regular SRAM/DRAM arrays with symmetric layout use H-tree or H-tree-like clock structures.
- Textbook/Academic: H-trees are the classic reference topology for understanding balanced clock distribution.
The H-tree is the foundational concept of balanced clock distribution — while modern CTS tools build more sophisticated trees, the H-tree's principle of equal-path-length branching remains the guiding design philosophy.