IntermediateQuestion 219 of 222Source: Synopsys ICC2 Implementation User Guide X-2025.06-SP2: Performing PG Electromigration Analysis; Ansys RedHawk User Manual 2021R1: Reliability and EM Analysis

How do you run and read power-grid EM analysis?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

PG EM analysis compares the current density in every power and ground segment and via against the layer limits in the technology file and reports it as a ratio. In ICC2 you set rail.tech_file (ICC2) and run analyze_rail -voltage_drop static -electromigration -nets {VDD VSS} (ICC2); in standalone RedHawk you run perform emcheck (RH) after the analysis in AVG, RMS or PEAK mode. Anything over 100% needs wider metal, more vias, or less current through that segment.

Technical Reference DiagramHow do you run and read power-grid EM analysis?
A strap and via stack next to a power pad with segments binned by EM ratio, three M2 segments and one via array over 100% of the limit drawn in red and labelled with current and width, with analyze_rail -voltage_drop static -electromigration (ICC2) named as the source.

Technical Explanation

  • Limits live in the Apache technology file named by rail.tech_file (ICC2); RedHawk-SC Fusion can take a separate EM rule file through rail.em_only_tech_file (ICC2). Rule values are foundry data and depend on layer, width and temperature.
  • ICC2 needs both -voltage_drop (ICC2) and -electromigration (ICC2) to run EM, plus -nets (ICC2) for the supply nets. Switched and internal power nets of those nets are included automatically.
  • The guide places PG EM after chip finishing, when the grid and fillers are final, because the current in each strap depends on the final placement and the final grid shape.
  • Static analysis uses average current. For dynamic analysis the ICC2 EM map shows average, peak or RMS values; in RedHawk, perform emcheck -mode RMS (RH) selects RMS, and with no mode all modes run. Separate rule files or EM_RULE_SET entries can give each mode its own limits.
  • ICC2 stores EM errors as error data such as rail_pg_em.VDD.err, viewable in the error browser. They are not written to the working directory, so save the block if you want them in a later session.
  • In RedHawk, static EM violations go to the design's .em.worst report in adsRpt/Static: segments over 100% of the limit by default, top 1000, each with layer, end coordinates, EM ratio, net and width. Dynamic reports go to adsRpt/Dynamic with peak, avg and rms suffixes, and none of this runs during simulation unless ENABLE_AUTO_EM is 1.
  • Current density is current divided by effective width, and with EM_ADJUST in the tech file RedHawk subtracts that value from the drawn width. A narrow stub carrying pad current can fail while the strap it feeds is fine.
  • Typical hotspots are strap stubs next to pads or bumps, via arrays at layer changes under high current, power switch outputs, and rails feeding a dense cluster of high-drive cells.

What To Check

  • The right rule set and mode: average for static, and the modes the foundry requires for dynamic.
  • The temperature the rule values assume against the junction temperature from thermal analysis.
  • Worst ratios by layer, and whether they cluster near pads or switch cells.
  • Via violations separately from wire violations, because the fix differs.
  • Error data saved with the block.

Command Checks & Actions

ICC2 (icc2_shell)set_app_options -name rail.tech_file -value design_data/tech/test.tech

Apache technology file with the layer-by-layer current density limits.

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

Runs voltage drop and PG EM together on both nets.

ICC2 (icc2_shell)open_rail_result

Loads the result so the EM map can be displayed.

ICC2 (icc2_shell)save_block

Keeps the EM error data, which is not written to the working directory.

RedHawk (redhawk)perform emcheck -mode RMS -net VDD

RMS-mode EM report for VDD after a dynamic run.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Worst EM ratio 87% on the widened M2 stub and 52% on the V2 via arrays, with nothing above 100% in any required mode.
  • Suspicious (illustrative): Ratios of 90% to 100% on stubs near pads, or violations that appear or vanish when the temperature assumption changes.
  • Hard stop: Any segment over 100% in a signoff mode, or EM run with the wrong mode or rule set for the check the foundry requires.

Common Mistake

The Trap: Fixing an over-limit via array by widening the metal above and below it. The via check is current per cut, so wider metal leaves the ratio unchanged; the fix is more cuts or a larger array, and until then the violation comes back on every run.

What The Interviewer Is Testing

  • Knowing EM is a ratio against layer limits, checked on the finished grid.
  • Knowing the ICC2 option pairing and the RedHawk emcheck modes with default all.
  • Knowing where the reports and error data live.

Follow-up Question & Model Response

"Why check RMS and peak as well as average?"

Candidate Model Response: Average current drives the classic electromigration wear-out, so static and DC checks use it. RMS current relates to self-heating, which raises the local temperature and lowers the allowed limit. Peak checks catch short, very high pulses, for example on power switch outputs at wake-up. The foundry rules say which modes apply to which layers, and RedHawk can use a separate rule set for each mode.

Practical Example

Tapeout Scenario: A block's first analyze_rail -voltage_drop static -electromigration -nets {VDD VSS} (ICC2) run (illustrative) reports 11 violations on VDD: 8 M2 segments at 104% to 131% on the stub from the top-right pad, and 3 V2 via arrays at 118%. Widening the stub from 2 um to 3 um cuts current density by a third, so the worst segment goes to 131% x 2/3 = 87%. The via arrays move from 2x2 to 3x3, spreading the current over 9 cuts instead of 4, which brings them to 118% x 4/9 = 52%. The rerun shows 0 violations and a worst ratio of 87%.

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