ExpertQuestion 149 of 161Source: Synopsys ICC2 Implementation User Guide: Chip Finishing (Inserting Filler Cells); Ansys RedHawk User Manual: Automated Fixing and Optimization for DvD

How much decap do you add for dynamic IR, and where?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Size decap from the charge the hot region pulls in one switching event and the droop you can accept, then place it next to the cells that switch, not evenly across the die. Every decap leaks, so the target is the least capacitance that brings the worst window inside budget. Let RedHawk identify the hot instances, add decap there, and remove decap that analysis shows is doing nothing.

Technical Reference DiagramHow much decap do you add for dynamic IR, and where?
A standard-cell row layout with decap fillers concentrated around a cluster of hot instances and sparse elsewhere, with an inset waveform showing the supply droop shrinking as decap is added and a small ledger of capacitance, area and leakage.

Technical Explanation

  • Decap supplies charge during a fast current step before the grid can respond. Roughly, the extra droop is the charge drawn from local decap divided by the capacitance, so halving the allowed droop doubles the capacitance you need.
  • Placement matters as much as amount. Decap connects through the same rails as the switching cells, and every micron of rail between them adds resistance, so decap far from the hotspot helps little.
  • In ICC2, decap usually goes in as filler. Run check_legality (ICC2) first, then create_stdcell_fillers (ICC2) with the list ordered largest to smallest. -type_utilization (ICC2) sets the share of empty space each decap group takes, with percentages summing to 100 or less, and -fill_remaining (ICC2) fills what is left from -lib_cells (ICC2).
  • The power-net violation check is off by default. -rules check_pnet (ICC2) costs runtime but avoids remove_stdcell_fillers_with_violation (ICC2) later deleting many decaps you counted on.
  • Leakage is the cost. Decap cells leak through their gate oxide, so a block filled wall to wall with decap can miss its leakage budget. Decap flavours differ in capacitance per area and leakage, so check the library data before choosing the mix.
  • Standalone RedHawk can do targeted work: decap advise (RH) estimates how much fits, decap fill (RH) places it around hot instances or in a region, and decap remove (RH) deletes inserted decaps whose peak current is 30 uA or less by default. CAP_LIMIT (RH) and LEAKAGE_LIMIT (RH) cap the total.
  • Always re-run dynamic analysis after insertion. Decap that shows no current during the worst window is leakage without benefit.

What To Check

  • Dynamic droop in the worst window before and after, per region.
  • Total decap added and its leakage against the leakage budget.
  • Decaps removed by remove_stdcell_fillers_with_violation (ICC2).
  • Static drop, which decap should not change.

Command Checks & Actions

ICC2 (icc2_shell)check_legality

Placement must be legal before filler or decap insertion.

ICC2 (icc2_shell)create_stdcell_fillers -lib_cells $FILLER_CELLS -bboxes {{100 200} {200 300}} -type_utilization {{*/DCAP16* */DCAP8*} 60 {*/DCAP4* */DCAP2*} 30} -fill_remaining -rules check_pnet

Decap-weighted fill restricted to the hot region (cluster plus a 20 um margin) with a power-net check; coordinates and group shares are illustrative.

ICC2 (icc2_shell)analyze_rail -voltage_drop dynamic_vectorless -nets {VDD VSS}

Dynamic drop after insertion to confirm the hotspot moved.

RedHawk (redhawk)decap advise

Estimates how much decap fits in the available row space.

RedHawk (redhawk)decap remove

Removes inserted decaps whose peak current is 30 uA or less (default) in the analysed window.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Worst dynamic droop falls from 96 mV to 70 mV against a 72 mV budget, and decap leakage adds 1.8% to block leakage.
  • Suspicious (illustrative): Droop meets budget but decap leakage adds 9%, or most added decap sits outside the hot regions.
  • Hard stop: Droop still over budget after decap fills every free site near the hotspot, which means the grid or the current must change.

Common Mistake

The Trap: Filling every empty site with the largest decap because more capacitance can only help. Leakage rises by several percent, half the decap sits in quiet regions doing nothing, and the one hot cluster still droops because the free space next to it went to plain fillers.

What The Interviewer Is Testing

  • Can the candidate size decap from charge and allowed droop?
  • A strong answer places decap by hot instance, not uniformly.
  • Awareness of decap leakage and the power-net check.

Follow-up Question & Model Response

"When does adding more decap stop helping?"

Candidate Model Response: When the droop is limited by the resistance between the decap and the switching cells, or by the grid's ability to recharge the decap between events. Beyond that point extra capacitance barely moves the worst window. It also cannot help a static drop. At that stage you strengthen the grid near the hotspot or reduce the current by spreading or downsizing cells.

Practical Example

Tapeout Scenario: A 60 x 60 um cluster draws about 3 pC in a 100 ps burst (illustrative). The grid supplies most of it, and dynamic analysis shows 96 mV droop against a 72 mV budget at 0.8 V. To cut 24 mV the local decap must deliver about 1.2 pC, so C = 1.2 pC / 0.024 V = 50 pF. At 20 fF/um2 that is 2,500 um2 of decap, placed in the free sites inside the cluster and in the rows within about 20 um of its edge. The rerun shows 70 mV, and decap remove (RH) deletes 200 um2 of decap whose peak current was 30 uA or less.

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