Arrival time grows with the number of gate stages on a path. Fewer stages on the critical path means earlier arrival.
Balancing a deep chain into a shallow tree computes the same function with fewer stages. The calc block works one 8-input AND.
EXAMPLE parameters: each two-input gate delay = 1.0 delay units
8-input AND needs 7 two-input gates
chain form: depth 7, arrival = 7 x 1.0 = 7.0 delay units
balanced tree form: depth 3, arrival = 3 x 1.0 = 3.0 delay units
saving = 7.0 - 3.0 = 4.0 delay units for the same functionRestructuring re-brackets logic: balancing, factoring, and reassociation change the shape but keep the function. The tool tries shapes with less depth on the critical path.
A new shape can slow a previously safe path, which is why ranks are recomputed. No restructuring helps on every design, so each attempt is measured.
Transform | What it does | Watch for |
|---|---|---|
Balancing | Flattens deep chains into shallow trees | Wider trees add fanout load on shared inputs. |
Factoring | Extracts shared subexpressions across cones | Sharing can drag the critical path through extra stages. |
Reassociation | Reorders additions and AND-OR chains | New orders can lengthen a side path that was safe. |
A shared cone drives several paths, and its shape is a compromise between them. Duplication gives the critical path its own private copy shaped for speed.
The copy removes the compromise but adds the cone area a second time. Duplicate only the part of the cone the critical path needs.
Arrival 3.0 delay units. Depth falls from 7 stages to 3 for the same function.
A second copy of the shared cone area. It is worth it only when sharing limits the critical path.