ExpertQuestion 29 of 50Source: Synopsys IC Compiler II Tool Commands: connect_power_switch; Synopsys IC Compiler II Multivoltage User Guide: Multiple Power Domains in a Single Voltage Area; Ansys RedHawk User Manual: Ramp-Up Analysis

How do you choose the daisy-chain length and order of the switches?

From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide

Short Answer

Chain length sets how long the enable takes to ripple through every switch, which sets both wake-up time and peak in-rush: a longer chain means a slower wake and a lower peak. You pick the number of parallel chains so wake-up meets the controller budget while peak current stays under what the grid can supply. Order the chain so it starts near the supply entry and the controller, and ends where the ack returns.

Technical Reference DiagramHow do you choose the daisy-chain length and order of the switches?
Two wake-up cases for PD_GPU with 240 switches: one chain of 240 giving a 120 ns ramp and 15 mA peak, and two parallel chains of 120 giving a 60 ns ramp and 30 mA peak, with the controller wake budget of 100 ns and the 35 mA grid limit marked.

Technical Explanation

  • Ripple time: each switch adds its enable-to-output delay, so a chain of N switches takes about N times that delay to fully close.
  • Peak current: the rail charges over roughly the chain time, so peak in-rush falls as the chain gets longer.
  • Parallel chains: splitting N switches into k chains cuts wake time and raises peak by about k.
  • Order: start near the supply bumps and controller, so the first, weakest stage charges where the grid is strongest; connect_power_switch -start_point (ICC2) sets the corner.
  • Staging: connect_power_switch (ICC2) with several -object_list sets keeps their relative order, so weak mother switches can come first and daughters after.
  • Ack: take the ack from the last switch, with -ack_out in daisy or fishbone mode, so the controller only proceeds once every switch is on.
# [ICC2]  icc2_shell
connect_power_switch -source U_PC/gpu_sleep -port_name gpu_sleep -mode daisy -direction horizontal -start_point lower_left -ack_out U_PC/gpu_ack -ack_port_name gpu_ack -voltage_area VA_GPU
check_mv_design
# [RedHawk]  redhawk TCL shell
perform analysis -lowpower

Formula Or Decision Rule

  • Wake time: t_wake ≈ (N / k) × t_sw, with N switches, k parallel chains, t_sw delay per switch
  • Peak in-rush: I_peak ≈ C_domain × VDD / t_wake
  • Decision rule: smallest k with t_wake ≤ t_budget (peak rises with k), then check I_peak ≤ I_limit; if both cannot hold, add staging or grid strength.

What To Check

  • Wake time from the chain delay meets the controller budget.
  • Peak ramp current from RedHawk stays under the grid limit.
  • The chain starts near the supply entry and controller.
  • The ack comes from the last switch of every chain.

Command Checks & Actions

ICC2 (icc2_shell)connect_power_switch -source U_PC/gpu_sleep -port_name gpu_sleep -mode daisy -direction horizontal -start_point lower_left -voltage_area VA_GPU

Build the chain from the chosen corner

ICC2 (icc2_shell)connect_power_switch -source U_PC/gpu_sleep -port_name gpu_sleep -mode daisy -object_list $mother_sw -object_list $daughter_sw -keep_order

Keep mother switches ahead of daughters

ICC2 (icc2_shell)check_mv_design

Check switch control and ack connectivity

RedHawk (redhawk)perform analysis -lowpower

Run ramp-up analysis and write per-domain current and node-voltage reports

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Two chains of 120 give a 60 ns wake and a 30 mA peak, under the 35 mA grid limit.
  • Suspicious (illustrative): One chain of 240 meets current easily but takes 120 ns against a 100 ns budget.
  • Hard stop: Peak exceeds the grid limit and AON neighbours droop, or ack is taken from the first switch.

Common Mistake

The Trap: Letting the tool pick the chain start by default and never checking where it landed.

  • A chain starting at the far corner charges first where the grid is weakest, so the early switches see the worst droop and the ramp runs slower than the math.

What The Interviewer Is Testing

  • Can you trade wake time against peak current with numbers?
  • Do you know where the chain should start and why?

Follow-up Question & Model Response

"When would you pick fishbone over plain daisy?"

Candidate Model Response: Fishbone runs a trunk with branches, so branches close in parallel and the wake time drops without breaking the chain into separate controls. It suits wide VAs where a single snake would be very long. The peak rises because branches overlap, so run ramp-up analysis again. It also keeps one ack path, since -ack_out is allowed in fishbone mode.

Practical Example

Design Scenario: (illustrative) PD_GPU has 240 switches, 2 nF and 0.9 V, with 0.5 ns per switch. One chain: 240 × 0.5 = 120 ns, peak 2 nF × 0.9 V / 120 ns = 15 mA. The controller allows 100 ns, so the team splits into two chains of 120: 60 ns and 30 mA. The grid was sized for 35 mA in this domain, and RedHawk confirms PD_AON stays inside its budget. Both chains start at the lower-left corner next to the bumps.

Low-Power & UPF Handbook

Read the complete low-power guide library covering power domains, level shifters, isolation clamps, state retention, and UPF signoff verification.

Low-Power VLSI & UPF Handbook — nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF. →