BeginnerQuestion 118 of 127Source: Synopsys ICC2 Implementation User Guide: Routing

What is net shielding, and what does it cost?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Shielding places power or ground wires on both sides of a sensitive net, usually a clock, so no switching signal runs directly next to it. That removes almost all coupling from neighbouring signals. The cost is routing tracks, since one net now takes about three, and extra sidewall capacitance to the shields, which slows the shielded net.

Technical Reference DiagramWhat is net shielding, and what does it cost?
An unshielded net between two signal neighbours beside the same net routed between two VSS shield wires, with a ledger showing tracks used and neighbours displaced.

Technical Explanation

  • Crosstalk comes from switching neighbours. A shield wire is tied to a supply, so it never switches, and a victim sitting between two of them sees no switching aggressor on either side on that layer.
  • In ICC2 you define shielding in a non-default routing rule, with shield widths and spacings per layer, assign that rule to the nets, route them, and then run create_shields, which routes the shield wires and ties them to ground.
  • The first cost is tracks. A shielded net uses its own track plus one on each side for shields, and more if the rule adds extra spacing. In a busy channel that displaces other nets.
  • The second cost is capacitance. The shield wires are right next to the net, so its sidewall capacitance goes up. That makes the net slower and costs power on a clock. The sidewall capacitance does not switch, so it is stable, but it is still load.
  • For many clocks, a wider wire with extra spacing, a double-width double-spacing rule, is a better trade: lower resistance, less sidewall capacitance, and neighbours still kept away. Shielding is kept for the nets that need the strongest isolation.
  • report_shields gives the shielding coverage per net and for the design, and it is the number to trust if it differs slightly from the one create_shields printed.
  • Coaxial shielding, above and below on adjacent layers, is available through create_shields options for nets that need isolation from layers above and below too.

What To Check

  • Shield coverage ratio per net from report_shields.
  • Congestion around shielded nets before and after shielding.
  • Delay and transition on the shielded net, since added capacitance slows it.
  • check_routes after shielding, for any new DRCs.

Command Checks & Actions

ICC2create_routing_rule clk_shield -shield_widths {M5 0.08 M6 0.08} -shield_spacings {M5 0.08 M6 0.08}

Defines a shielding rule with shield width and spacing per layer.

ICC2set_routing_rule -rule clk_shield [get_nets clk_core]

Assigns the shielding rule to the net.

ICC2create_shields -nets [get_nets clk_core]

Routes shield wires along the net and ties them to ground.

ICC2report_shields -nets [get_nets clk_core]

Reports how much of the net is actually shielded.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Shield coverage above about 90% on the intended nets, with no new DRCs and delay still within target.
  • Suspicious (illustrative): Coverage well below target on one layer, often where pins or congestion left no room.
  • Hard stop: Shielding applied to many ordinary signal nets, blowing up congestion, or a shielded clock that now fails transition.

Common Mistake

The Trap: Shielding every clock net in the block. The clock tree is covered, but the tracks it uses push a few thousand signal nets into detours, congestion jumps, and the added sidewall capacitance raises clock power. A double-width double-spacing rule on most clock nets, with shielding kept for the most sensitive few, would have met the goal at a fraction of the cost.

What The Interviewer Is Testing

  • Whether you can state both costs: tracks and capacitance.
  • Do you know the alternative, a wide-and-spaced NDR, and when it is better?
  • A strong answer shows you know how shielding is set up in ICC2: rule first, then shields.

Follow-up Question & Model Response

"If shielding adds capacitance, why does it still help timing on a clock?"

Candidate Model Response: Shield capacitance is to a supply that never switches, so it adds a fixed, predictable load. Coupling to a switching neighbour adds a variable load that depends on what the neighbour does, and that variation shows up as delta delay and skew changes between runs and corners. For a clock, predictability is often worth more than a little extra delay, because CTS can compensate for a fixed delay but not for a random one.

Practical Example

Tapeout Scenario: A clock net runs 600 um on M6 through a data bus (illustrative). Unshielded, it has 9 fF of coupling to switching neighbours and up to 14 ps of crosstalk delta delay. With a shielding rule, it now uses 3 tracks instead of 1 and has 2 VSS shields tied to the rails every few tens of microns. report_shields shows 94% coverage. Delta delay drops to under 1 ps, but the net's total capacitance rises by 5 fF and its delay grows by 3 ps, which CTS absorbs. Two bus bits move to the next track over.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out. →