Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Logic Synthesis Glossary
  • Logic Synthesis Cheatsheet
  • Synthesis Foundations14
  • Logic Optimisation and Mapping20
  • Constraints and Timing15
    • SDC for Synthesis
    • Delay Models and Slack
    • Timing-Driven Synthesis
      • Critical-Path Focus
      • Restructuring and Duplication
      • Sizing and Path Groups
      • Reading WNS and TNS
      • Margin and When to Stop
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Timing-Driven Synthesis
  1. Topics
  2. Logic Synthesis
  3. Constraints and Timing
  4. Timing-Driven Synthesis
  5. Restructuring and Duplication

Part 3 · Constraints and Timing · Intermediate

Restructuring and Duplication

Restructuring shortens logic depth and duplication isolates the critical path.

On this page

    Depth sets the arrival time

    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.

    Diagram
    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 function

    Restructuring trades shape for depth

    Restructuring 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.

    Duplication isolates the critical fanout

    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.

    Common mistakes

    Common pitfall

    Duplicating a wide cone to fix a small slack buys little and doubles that cone area. Restructure or resize first, and duplicate only when sharing is the actual limiter.

    Interview

    Likely probes: why a private copy can beat a shared cone.

    • A shared cone compromises between all its fanouts.

    • A private copy is shaped for the critical path alone.

    • The copy costs its cone area again, so narrow cones duplicate best.

    Check yourself An 8-input AND built as a chain has arrival 7.0 delay units. What does the balanced tree give, and why?

    Arrival 3.0 delay units. Depth falls from 7 stages to 3 for the same function.

    Check yourself Duplication fixes the critical path but total area jumps. What was paid, and when is it worth it?

    A second copy of the shared cone area. It is worth it only when sharing limits the critical path.

    Related topics

    • Up: Timing-Driven Synthesis

    • Next: Sizing and Path Groups

    • Structuring and Buffering

    Previous

    48 / 139

    Next: Sizing and Path Groups

    Up next

    Up nextSizing and Path Groups

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Reading WNS and TNS
    • Margin and When to Stop