← Physical Design Interviews

Interview Question · Concept

IR Drop and Electromigration

L1 JuniorL2 Mid-Levelpower gridir dropreliability
  • Likely at Apple
  • Likely at Intel
  • Likely at NVIDIA

The Question

The interviewer asks

What are IR drop and electromigration, and how does the power grid control each?

Reveal the Model Answer

IR drop is supply voltage lost across the grid's resistance. So cells far from the straps see less than the nominal supply and slow down. Electromigration is metal wearing out under high current density and temperature. The technology limits it as current per micron of wire width and per via. A denser grid and wider straps lower both, at the cost of routing tracks.

DC sweepDrop Along One met1 Rail Between Two StrapsThe doubled grid, the middle VDD rail. Ends at 154 µV and 452 µV: the straps themselves have dropped.
  • PDNSim, each cell
  • model: line + j·r·x(D−x)/2
100 µV200 µV300 µV400 µV500 µV600 µVIR drop120 µm130 µm140 µm150 µm160 µmPosition along the rail100 µV200 µV300 µV400 µV500 µV600 µVIR drop120 µm140 µm160 µmPosition along the rail
Read the plot as a table
Position along the railPDNSim, each cellmodel: line + j·r·x(D−x)/2
120 µm278.9 µV243.9 µV
130 µm424.5 µV360.1 µV
140 µm536.5 µV434.8 µV
150 µm517.4 µV469.6 µV
160 µm470.2 µV464.6 µV

Measured with PDNSim on one met1 rail. The drop is largest midway between the two straps.

Self-Check

Tick each key point you covered in your answer.

What Interviewers Listen For (Junior)

A good junior answer defines both effects. It links IR drop to slower cells, and electromigration to current density. It names strap pitch and strap width as the levers.

Cross-Questions

Where the interviewer goes next. Open a node to practise that follow-up.

WhyProve ItBreak ItCompareScale It

  1. IR Drop and Electromigration
  2. WhyWhy Rail Drop Grows with the Square of the SpacingL2 Mid-Level

    Why does the drop in the middle of a rail grow with the square of the strap spacing?

    Reveal the Model Answer

    Doubling the spacing doubles two things. It doubles the current the middle of the rail must carry, since twice as many cells feed through it. It also doubles the resistance that current flows through. With uniform load and both ends held at the supply, the peak drop is j·r·D²/8. Lesson L3.5 checks that model against a measured rail and finds it close.

    The Rail-Between-Straps ModelBoth straps hold the rail's ends at the same voltage; each cell is a current sink to ground.
    The rail-between-straps modelstrap Astrap Br·Δxr·Δxr·Δxj·Δxj·Δx
    Read the circuit as text
    • r·Δx resistor: pin 1 → n1, pin 2 → strap A
    • r·Δx resistor: pin 1 → n2, pin 2 → n1
    • r·Δx resistor: pin 1 → strap B, pin 2 → n2
    • j·Δx current source: + → n1, − → 0
    • j·Δx current source: + → n2, − → 0

    Each Δx of rail is a resistor; each cell is a current sink. The drop grows toward the middle.

    Self-Check

    Tick each key point you covered in your answer.

  3. CompareStatic vs Dynamic IR DropL2 Mid-LevelL3 Senior

    Compare static and dynamic IR-drop analysis.

    Reveal the Model Answer

    Static analysis applies each cell's average current from power analysis and solves the grid once, which finds weak straps and long rails. Dynamic analysis follows current over time. So it sees many cells switching together after a clock edge, and the local droop that decaps must cover. A block can pass static analysis and still fail dynamic, so sign-off states which one ran and with what activity.

    Self-Check

    Tick each key point you covered in your answer.

  4. Break ItWhy a Flat Voltage Derate Is Not a ModelL2 Mid-LevelL3 Senior

    Someone adds the derate below to the SDC and calls IR drop covered. What does that line really do?

    sdc
    create_clock -name clk -period 0.6 [get_ports clk]
    set_timing_derate -late 1.05 -cell_delay
    Reveal the Model Answer

    It makes every cell 5 % slower everywhere on the late paths, whatever the drop at that cell actually is. It is easy to run and says nothing about where the grid is weak or how this library's delay changes with voltage. On the lesson's path it moved the slack from 0.1462 to 0.1291 ns, a number with no physical basis.

    Timing pathThe Two-Flop Path at a 0.6 Ns Clock, No Derateff1 → u1 (inv_1) → u2 (nand2_1) → ff2, ideal clock, no wires.

    ff1 → ff2setup check, latest arrival3 cells

    • Clock latency
    • Cell delay
    • Setup time
    The two-flop path at a 0.6 ns clock, no derate00.10.20.30.40.50.6time (ns)launch clk ↑capture clk ↑Data arrivesRequired byff1/CLK → ff1/Q (dfxtp_1): 0.2716 ns1 dfxtp_1u1/A → u1/Y (inv_1): 0.0377 ns2u2/A → u2/Y (nand2_1): 0.0331 ns3setup −0.1115 nsslack +0.1462 ns · metarrival 0.3423required 0.4885The two-flop path at a 0.6 ns clock, no derate00.20.40.6time (ns)launch clk ↑capture clk ↑Data arrivesRequired byff1/CLK → ff1/Q (dfxtp_1): 0.2716 ns1 dfxtp_1u1/A → u1/Y (inv_1): 0.0377 ns2u2/A → u2/Y (nand2_1): 0.0331 ns3setup −0.1115 nsslack +0.1462 ns · metarrival 0.3423required 0.4885
    1. Arrival

      Clock-to-Q and two gates: the data arrives at 0.3423 ns. Every one of those delays assumes 1.8 V.

    2. Slack

      Required at 0.4885 ns, so the slack is 0.1462 ns.

    Read the path as a table

    Launch: clk rise edge at 0.0000 ns, clock latency 0.0000 ns (ideal). Capture: clk rise edge at 0.6000 ns, latency 0.0000 ns, library setup time −0.1115 ns.

    Arrival 0.3423 ns, required 0.4885 ns, slack 0.1462 ns (met).

    CellArcThroughEdgeDelay (ns)Time (ns)Slew (ns)
    1ff1/CLK → ff1/Qdfxtp_1fall0.27160.27160.0250
    ff1/Q → u1/Awire q1fall0.00000.27160.0250
    2u1/A → u1/Yinv_1rise0.03770.30920.0299
    u1/Y → u2/Awire n1rise0.00000.30920.0299
    3u2/A → u2/Ynand2_1fall0.03310.34230.0233
    u2/Y → ff2/Dwire n2fall0.00000.34230.0233
    The report
    Startpoint: ff1 (rising edge-triggered flip-flop clocked by clk)
    Endpoint: ff2 (rising edge-triggered flip-flop clocked by clk)
    Path Group: clk
    Path Type: max
    
    Fanout       Cap      Slew     Delay      Time   Description
    -------------------------------------------------------------------------------------
                        0.0000    0.0000    0.0000   clock clk (rise edge)
                                  0.0000    0.0000   clock network delay (ideal)
                        0.0000    0.0000    0.0000 ^ ff1/CLK (sky130_fd_sc_hd__dfxtp_1)
         1    0.0022    0.0250    0.2716    0.2716 v ff1/Q (sky130_fd_sc_hd__dfxtp_1)
                                                     q1 (net)
                        0.0250    0.0000    0.2716 v u1/A (sky130_fd_sc_hd__inv_1)
         1    0.0024    0.0299    0.0377    0.3092 ^ u1/Y (sky130_fd_sc_hd__inv_1)
                                                     n1 (net)
                        0.0299    0.0000    0.3092 ^ u2/A (sky130_fd_sc_hd__nand2_1)
         1    0.0017    0.0233    0.0331    0.3423 v u2/Y (sky130_fd_sc_hd__nand2_1)
                                                     n2 (net)
                        0.0233    0.0000    0.3423 v ff2/D (sky130_fd_sc_hd__dfxtp_1)
                                            0.3423   data arrival time
    
                        0.0000    0.6000    0.6000   clock clk (rise edge)
                                  0.0000    0.6000   clock network delay (ideal)
                                  0.0000    0.6000   clock reconvergence pessimism
                                            0.6000 ^ ff2/CLK (sky130_fd_sc_hd__dfxtp_1)
                                 -0.1115    0.4885   library setup time
                                            0.4885   data required time
    -------------------------------------------------------------------------------------
                                            0.4885   data required time
                                           -0.3423   data arrival time
    -------------------------------------------------------------------------------------
                                            0.1462   slack (MET)

    The path before the flat derate: slack 0.1462 ns. The derate only moves this number; it adds no physics.

    create_clock -name clk -period 0.6 [get_ports clk]
    set_timing_derate -late 1.05 -cell_delay
    

    Prints: 0.1291 slack (MET)

    Self-Check

    Tick each key point you covered in your answer.

  5. Scale ItA Denser Grid vs Routing ResourcesL2 Mid-LevelL3 Senior

    Compare halving and doubling the met4 strap pitch. What do you gain and lose?

    Reveal the Model Answer

    Halving the pitch cuts IR drop and costs routing tracks; doubling it frees tracks and raises the drop. Lesson L3.5 used a 3324-cell block. There the worst drop went from 0.00148 V to 0.00069 V with half the pitch, and to 0.00332 V with double. The met4 routing resources moved from 9268 to 7880 and 9924. Measure both sides before you choose.

    DC sweepDrop Along the Middle VDD Rail for Three GridsThe same placement under three met4 strap pitches: 27.14, 54.28 and 13.57 µm.
    • Platform grid
    • met4 pitch doubled
    • met4 pitch halved
    00.2 mV0.4 mV0.6 mV0.8 mV1.0 mV1.2 mV1.4 mV1.6 mVIR drop50 µm100 µm150 µm200 µm250 µmPosition across the core00.5 mV1.0 mV1.5 mV2.0 mVIR drop100 µm200 µmPosition across the core
    Read the plot as a table
    Position across the corePlatform gridmet4 pitch doubledmet4 pitch halved
    50 µm26 µV73.92 µV12.54 µV
    100 µm68.53 µV168.2 µV24.18 µV
    150 µm158.4 µV517.4 µV57.41 µV
    200 µm697.3 µV1.479 mV414.2 µV
    250 µm96.39 µV656.5 µV31 µV

    Measured with PDNSim (the OpenROAD IR-drop tool) on one placement. A wider met4 pitch gives a deeper drop.

    Self-Check

    Tick each key point you covered in your answer.

  6. Prove ItSolve L3.5.1: Spend Fewer Straps on the GridSimulator-graded

    Show it, don't just say it: this Silicon Lab problem is graded by the simulator.

    Open Problem L3.5.1

  7. WhyWhy Rail Drop Grows Faster Than the PitchL2 Mid-LevelL3 Senior

    Why did doubling the pitch more than double the worst drop?

    Reveal the Model Answer

    Between two straps, a rail with uniform load drops most at the middle, by j·r·D²/8. So that part grows with the square of the spacing D. The measured worst drop went from 0.00148 V to 0.00332 V, about 2.2 times. The rail part is only one share of the total, so the growth is less than four times.

    Self-Check

    Tick each key point you covered in your answer.

    Misconception

    "IR drop scales in proportion to the strap pitch."

    The rail drop between straps grows with the square of the spacing. Doubling the pitch can more than double that part.

    Source Lesson L3.5 key points

What People Get Wrong

Common wrong answers and why they fail.

Half-Truth

"Cover IR drop with a 5 % delay derate in STA."

An arbitrary derate is not a model. The library is characterised at its nominal voltage. Voltage-aware timing needs delay data at the reduced supply, and the drop varies across the block.

Source ASIC Point lesson L3.5

Half-Truth

"Electromigration only matters for the power grid."

Any wire that carries a large, one-directional current is at risk, and the tech file limits each layer and via. Clock nets and high-fanout drivers need checking too.

Buzzword Without Mechanism

Gives the rail-drop formula without saying what it depends on most.

The useful part is the scaling. With uniform load the mid-rail drop grows with the square of the strap spacing. That is why pitch matters so much.

Learn It, Then Prove It