DescriptionQ584
Q584DesignNVIDIAASIC interview problem
Throttle with temperature hysteresis
TechniquesDesignLow powerPower sequencingThrottleWith
DifficultyMedium
TopicLow Power Design
LanguageSystemVerilog
Requirements4 checkpoints
01
Problem
A GPU control block throttles at 90 degrees C and stays throttled until temperature falls to 80 degrees C. Implement the synchronous SystemVerilog hysteresis controller.
Starting declarationSystemVerilog
input logic clk, rst_n;
input logic [9:0] temp_c;
output logic throttle;Example input and output
Use this case to check your interpretationInput
Start unthrottled and sample temp_c = 89.Output
throttle remains 0.Explanation
The controller asserts throttle only at 90 or above, so 89 lies below the entry threshold.
02
Requirements (4)
- When not throttled, set throttle on a rising edge whose sampled temp_c is at least 90.
- When throttled, clear throttle on a rising edge whose sampled temp_c is at most 80.
- Hold the current state for sampled temperatures from 81 through 89, creating deterministic hysteresis.
- When rst_n=0 at a rising edge, clear throttle regardless of temp_c.
