How do you run rail analysis across multiple scenarios?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
RedHawk Fusion analyses only the current design scenario by default, so multiple scenarios need rail scenarios. Enable them with app options, mark the design scenarios for IR drop, create each rail scenario with create_rail_scenario (ICC2) before configuring it with set_rail_scenario (ICC2), then run them together with analyze_rail -rail_scenarios (ICC2). Pick scenarios by current, not by timing corner names.
Technical Explanation
- Enable the feature with
rail.enable_new_rail_scenario(ICC2) set to true (default false).rail.enable_parallel_run_rail_scenario(ICC2), default true, runs rail scenarios in parallel. - Mark each design scenario for rail analysis with
set_scenario_status func_cbest -ir_drop true(ICC2). - Order matters: rail scenarios must be created with
create_rail_scenario(ICC2) beforeset_rail_scenario(ICC2) sets their attributes. Several rail scenarios can map to one design scenario, and they are saved in the design library. set_rail_scenario(ICC2) takes the analysis type through-voltage_drop, the nets, and optional extra GSR files.-twf_generationand-ipf_generation(ICC2) choose whether ICC2 or PrimeTime and PrimePower generate the timing window and instance power files.- Host setup comes from
set_host_options(ICC2):-submit_command {local}for one machine, or a grid protocol and submit command.-submit_to_other_machines(ICC2) sends the scenarios out, but RedHawk-SC Fusion does not support that option. - If you need only one scenario other than the current one,
rail.scenario_name(ICC2) is simpler. IR-driven placement and IR-driven CCD honour it. - Choose scenarios by what stresses the grid: the highest-power mode and corner for IR and EM, and the slow corner if you want IR feeding back into timing. Timing corner names alone do not tell you which one draws the most current.
What To Check
- That every signoff power mode has a rail scenario.
- Scenario status for IR drop on each mapped design scenario.
- Results for every rail scenario, not only the one loaded in the GUI.
- Option support in the Fusion flavour you are running.
Command Checks & Actions
set_app_options -list {rail.enable_new_rail_scenario true rail.enable_parallel_run_rail_scenario true}Enables multi-rail-scenario analysis and parallel runs.
set_scenario_status {func_cbest func_cworst} -ir_drop trueEnables rail analysis for both design scenarios.
create_rail_scenario -name T_high -scenario func_cbestCreates a rail scenario tied to a design scenario; must come first.
create_rail_scenario -name T_low -scenario func_cworstCreates the second rail scenario on the other design scenario.
set_rail_scenario -name T_high -voltage_drop dynamic -nets {VDD VSS}Sets the analysis type and nets for that rail scenario.
set_rail_scenario -name T_low -voltage_drop dynamic -nets {VDD VSS}Same settings for the second rail scenario.
set_host_options -submit_command {local}Runs the rail scenarios on the local host.
analyze_rail -rail_scenarios {T_high T_low}Runs the listed rail scenarios; errors out if rail.enable_new_rail_scenario is false.
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): Four rail scenarios cover two modes at two corners, all complete, worst dynamic drop 69 mV against 72 mV.
- Suspicious (illustrative): Only two of four scenarios have results, or both scenarios point at the same design scenario by mistake.
- Hard stop: Signoff reported from the current scenario alone on an MCMM design.
Common Mistake
The Trap: Running plain analyze_rail (ICC2) on an MCMM block without creating rail scenarios and reporting the result as signoff. By default RedHawk Fusion analyses only the current design scenario, so the turbo mode at the fast hot corner, the one that draws the most current, was never checked.
What The Interviewer Is Testing
- Knowledge of the default: current scenario only.
- Does the answer keep the create-before-set order?
- Choosing scenarios by current draw rather than by name.
Follow-up Question & Model Response
"How do you decide which design scenario draws the most current?"
Candidate Model Response: Run power analysis per scenario first, for example with PrimePower or the ICC2 power reports, and compare total and per-region power. Leakage-heavy blocks often peak at the hot, fast corner, while switching-heavy blocks peak in the mode with the highest clock frequency and activity. The worst IR scenario and the worst timing scenario are often different, so keep both if IR feeds into timing.
Practical Example
Tapeout Scenario: A block has functional and turbo modes, each at two corners (illustrative). Power analysis ranks turbo at the fast hot corner highest at 2.4 W. Four rail scenarios run in parallel on the local host. Turbo fast hot shows 69 mV dynamic drop against 72 mV, functional fast hot 51 mV. The current scenario alone, functional slow, had shown 43 mV and would have hidden the real margin.
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
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.

Continue practising