Interview Question · Concept
Choosing a Low-Power Strategy
- Asked at AMD
- Likely at Qualcomm
- Likely at Apple
The Question
The interviewer asks
You must cut a subsystem's power in half. What techniques do you weigh, and what does each cost?
You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
First split the budget into dynamic power and leakage, measured on real use cases. Clock gating and operand isolation cut switching, and DVFS lowers voltage and frequency when the load allows. Multi-Vt cells and power gating cut leakage. Power gating needs isolation cells, retention for any state that must survive, and a controller to sequence them. Every step adds verification: UPF-aware simulation and low-power structural checks.
- Isolate
Isolation cells clamp the outputs first, so the always-on logic never sees unknown values.
- Save
Retention flops copy the state that must survive onto a small always-on supply.
- Switch off
Only then does the switch cut the supply. Power-up runs the same steps in reverse.
Read the diagram as text
- Power controller: sequences every step
- Power switch: cuts the supply to the domain
- Switchable domain: logic and retention flops
- Isolation cells: clamp outputs while off
- Always-on logic: reads the domain outputs
- Power controller → Isolation cells: 1. isolate
- Power controller → Switchable domain: 2. save state
- Power controller → Power switch: 3. switch off
- Power switch → Switchable domain: supply
- Switchable domain → Isolation cells: outputs
- Isolation cells → Always-on logic: clamped values
Power gating removes leakage, but it adds isolation cells, retention flops and a controller to verify.
| Technique | Cuts | Main cost |
|---|---|---|
| Clock gating | Clock and register switching | ICG cells, enable timing |
| Operand isolation | Switching in idle datapaths | Gates on the inputs, extra delay |
| DVFS | Dynamic power, with V squared | Voltage regulators, level shifters, a control policy |
| Multi-Vt cells | Leakage on non-critical paths | Slower cells, timing margin |
| Power gating | Leakage of a whole domain | Isolation, retention, wake-up time, sequencing |
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Senior)
A good senior answer asks for the use cases, and the split between dynamic power and leakage, before picking a technique. It lists isolation and retention as costs of power gating.
What Interviewers Listen For (Staff)
A good staff answer ties each technique to its verification cost and schedule risk. It names UPF-aware simulation and low-power equivalence checks as sign-off items.
Cross-Questions
Where the interviewer goes next. Open a node to practise that follow-up.
WhyWhat IfBreak ItCompareScale It
- Choosing a Low-Power Strategy
-
WhyPower Gating vs Stopping the ClockL2 Mid-LevelL3 Senior
Why switch a domain's power off, when stopping its clock already stops the switching?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Stopping the clock removes dynamic power only. Transistors still leak while the supply is on. In small process nodes, leakage can be a large part of the total. Only removing the supply removes it, at the cost of losing state and a wake-up time.
Self-Check
Tick each key point you covered in your answer.
Misconception
"Clock gating removes all power of an idle block."
It removes switching power. Leakage continues as long as the block is powered.
Source Mehta, ASIC/SoC Functional Design Verification (2018) ch. 9.1 Power requirements (static power and power gating)
-
What IfThe Order of Isolation, Save and Power-OffL2 Mid-LevelL3 Senior
What if the isolation is turned on a cycle after the power goes off?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
For that cycle the domain's outputs are unknown, and always-on logic samples them. Power-down must go in order: isolate, save state into retention, then switch off. Power-up goes the other way: switch on, restore, then release isolation.
Self-Check
Tick each key point you covered in your answer.
Missed Corner
"One cycle late does not matter; the counter only counts pulses."
Any flop that samples the unknown value in that cycle is corrupted. The twin's counter turns into X.
Run It
Power goes off at one falling edge; isolation follows at the next.
RUNIcarus Verilog · in your browserExpected:after power-off: events=xxFAIL: isolation one cycle after power-off let an X into the always-on counterSee the Fix
module tb; logic clk = 0, pwr_on = 1, iso_en = 0; logic pd_raw = 0, pd_out, ao_in; logic [7:0] events = 0; // always-on counter of valid pulses always #5 clk = ~clk; // The switched domain: its output is unknown while its power is off. assign pd_out = pwr_on ? pd_raw : 1'bx; assign ao_in = iso_en ? 1'b0 : pd_out; // isolation cell, clamps to 0 always_ff @(posedge clk) events <= events + ao_in; initial begin @(negedge clk) pd_raw = 1; @(negedge clk) pd_raw = 0; @(negedge clk) pd_raw = 1; @(negedge clk) pd_raw = 0; // two valid pulses while powered @(negedge clk) iso_en = 1; // isolate first @(negedge clk) pwr_on = 0; // then switch the power off repeat (3) @(negedge clk); $display("after power-off: events=%h", events); if (events == 2) $display("PASS: the clamped input kept the always-on counter at 2"); $finish; end endmodulePrints:
PASS: the clamped input kept the always-on counter at 2 -
CompareDVFS vs Power GatingL3 Senior
Compare DVFS with power gating. When would you choose each?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
DVFS keeps the block running at a lower voltage and frequency, so it keeps its state and cuts dynamic power steeply. It suits work that can run slower. Power gating removes leakage completely, but loses state unless retained, and takes time to wake. It suits blocks that sit idle for long periods.
Self-Check
Tick each key point you covered in your answer.
Half-Truth
"DVFS only changes the frequency."
Lowering frequency alone saves power in proportion. Lowering voltage too gives the large saving, and it needs level shifters between domains.
Source Mehta, ASIC/SoC Functional Design Verification (2018) ch. 9.2 Dynamic low-power verification challenges (DVFS)
-
Scale ItVerifying the Power IntentL3 SeniorL4 Staff
Scale it: how do you verify the power intent of an SoC with many switched domains?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Write the intent in UPF: domains, supplies, power states, isolation and retention. Run simulation that reads the UPF, so off domains really corrupt their outputs, and test every power-state change. Add structural checks that isolation cells and level shifters sit where the states need them. Then check the netlist with its power cells against the RTL with low-power equivalence.
Self-Check
Tick each key point you covered in your answer.
Wrong Altitude
"The UPF is the back-end team's file."
UPF is read by simulation and structural checks too. Bugs in the power intent are functional bugs, found only if verification reads it.
Source Mehta, ASIC/SoC Functional Design Verification (2018) ch. 10.7 Low power structural checks
-
Break ItThe Register That Forgot Its StateL3 Senior
Break it: which bug escapes if only plain RTL simulation is run on a power-gated design?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
A register that needs retention but was left out of the retention list. In plain RTL it never loses its value, so wake-up looks perfect. In silicon it comes back random after power-up. Only power-aware simulation, which corrupts non-retained state at power-off, shows it.
Self-Check
Tick each key point you covered in your answer.
Half-Truth
"Retain every register to be safe."
Retention cells cost area and always-on power. Retain only state that cannot be rebuilt quickly after wake-up.
Source Mehta, ASIC/SoC Functional Design Verification (2018) ch. 9.5.7.2 set_retention_control (retention only where state cannot be restored quickly)
What People Get Wrong
Common wrong answers and why they fail. Run It shows the wrong belief failing on a real simulator.
Missed Corner
"Power off the idle domain; its outputs no longer matter."
Its outputs still drive always-on logic. Without isolation they float, and the twin's always-on counter turns into X.
Run It
A switched domain feeds an always-on counter; the domain powers off with no isolation.
after power-off: events=xx FAIL: with no isolation, the always-on counter turned into X when the domain lost powerSee the Fix
module tb;
logic clk = 0, pwr_on = 1, iso_en = 0;
logic pd_raw = 0, pd_out, ao_in;
logic [7:0] events = 0; // always-on counter of valid pulses
always #5 clk = ~clk;
// The switched domain: its output is unknown while its power is off.
assign pd_out = pwr_on ? pd_raw : 1'bx;
assign ao_in = iso_en ? 1'b0 : pd_out; // isolation cell, clamps to 0
always_ff @(posedge clk) events <= events + ao_in;
initial begin
@(negedge clk) pd_raw = 1;
@(negedge clk) pd_raw = 0;
@(negedge clk) pd_raw = 1;
@(negedge clk) pd_raw = 0; // two valid pulses while powered
@(negedge clk) iso_en = 1; // isolate first
@(negedge clk) pwr_on = 0; // then switch the power off
repeat (3) @(negedge clk);
$display("after power-off: events=%h", events);
if (events == 2) $display("PASS: the clamped input kept the always-on counter at 2");
$finish;
end
endmodule
Prints: after power-off: events=02 PASS: the clamped input kept the always-on counter at 2
Wrong Altitude
Starts with clock gating everywhere without asking what dominates.
If leakage dominates, clock gating barely helps. The interviewer wants the measurement first, then the technique.
Tool as Truth
"RTL simulation already checks the power-down."
Plain RTL simulation never removes power, so missing isolation or retention passes. It needs simulation that reads the power intent.
Source Mehta, ASIC/SoC Functional Design Verification (2018) ch. 9.3 UPF (Unified Power Format) and 9.4 UPF methodology