4.6_LSI_Power Aware Design Verification
description
Transcript of 4.6_LSI_Power Aware Design Verification
Power Aware Design Verification
Vidya PrabhuPriyabrata Kundu
2
Agenda
• Low Power – need and techniques• Common Power Definition Format• Verification Success Stories• Power Aware Coverage• Limitations and challenges
LSI Proprietary
3
Low Power and Challenges Ahead
Power density is increasing at an alarming rate, approaching that of the hottest man-made objects on the planet!! [1]
LSI Proprietary
4
Power Reduction Techniques
• Clock Gating• Multi-supply voltage
- needs level shifters
• Power Shut-Off (PSO)- needs Isolation cells- needs state retention registers
• Multi threshold voltage• Dynamic Voltage & Frequency Scaling (DVFS)
LSI Proprietary
5LSI Proprietary
Power Reduction Techniques (contd..)
6
Need for Common Format
• Multiple power domains, power modes and power sequencing are used for more than a decade
• No standard language to define power intent– Inconsistent low-power inputs at different stages of design cycle– Not efficient – same inputs repeated in different formats– Information can get lost/altered during this translation
• No method to verify power functionality without changing RTL, particularly power-shutoff
• A single file to capture all low power intent, enables consistency across all phases of design, verification and implementation.
• Two low power specifications.– Common Power Format (CPF)– Unified Power Format (UPF)
LSI Proprietary
7
Advantage of CPF
LSI Proprietary
• No RTL changes are required for a CPF-based flow• The power intent is captured in the CPF
– Maintain integrity of RTL design files– Design reuse
8
Verification Case Study 1
• Clock multiplexing Issue – clock_control.v module supposed to output low frequency ckref in
SLEEP mode and high frequency ckfunc when not in SLEEP mode.– powered by on-chip regulator REG1– powered down in SLEEP mode
LSI Proprietary
9
Verification Case Study 1 (contd..)
Simulation without CPF – ckout switches from high freq to low freq
Simulation with CPF – ckout switches to X when REG1 powers down
LSI Proprietary
10
Verification Case Study 1 (contd..)
• BUG FIX- Logic moved to another module which is ON during SLEEP
LSI Proprietary
11
Verification Case Study 1 (contd..)
Simulation with CPF -
BUG FIX: ckout correctly switches from high frequency to low frequency
LSI Proprietary
Simulation with CPF – ckout switches to X when REG1 powers down
12
Verification Case Study 2
• Initial Powerup Issue:- On-chip regulator REG1 powers up before REG2- Logic 2 powered by REG2. - In the duration that REG1 is powered up and REG2 is powered
down, Logic 2 outputs X to clock_control which is ON. Purpose of Isolation cell defeated.
LSI Proprietary
13
Verification Case Study 2 (contd..)
Simulation with CPF – ckout_LS is X till REG2 powers up, causing sync_out (signal inside clock_control) to go X
• BUG FIX: - Logic 2 power supply changed from REG2 to REG1
Simulation with CPF after bug fixed–ckout_LS is X only till REG1 powers up
LSI Proprietary
14
Power Aware Coverage
• Determining how much of power information specified in CPF, has been exercised during verification.- Have all shut-off conditions been exercised for all power domains?- Have all isolation cells been exercised?
• An executable verification plan for power coverage is automatically created from CPF.
• The covergroups needed to collect and capture metrics for low-power simulations are also automatically created.
LSI Proprietary
15
Example coverage report:
Power Aware Coverage (contd..)
LSI Proprietary
16
Challenges : Mixed Signal Simulation
• Problem statement:� Mixed signal design using Verilog AMS models� CPF does not allow Verilog AMS modules to be turned off.
- ignores power specification on analog instances. - Analog instances must be assigned to a power domain which is always-on
• Workaround:� Incorporate power signals in the AMS models. � AMS model should reflect the correct behaviour of power loss. Depending on
the implementation of AMS model, output is corrupted or zeroed.� Power signals not connected by design, testbench drives power signals of
AMS models by out-of-module reference.
LSI Proprietary
17
Simulation result – Output “Out” is zeroed when regulator output Vreg1_out is low.
EXAMPLE WORKAROUND AMS MODEL CODE:module ams_model (vin1, vin2, Out);input electrical vin1;input real vin2;output electrical Out;wire Vdd;real power_ok;
always @( Vdd) beginif ( Vdd == 1) power_ok=1.0;
else power_ok = 0.0;endanalog
Out = (V(vin1) + vin2) * power_ok;endmodule
Challenges : Mixed Signal Simulation (contd..)
LSI Proprietary
EXAMPLE WORKAROUND TESTBENCH CODE:always @(`TOP.Vdd or <other power supplies)
beginforce `AMS_MODEL.Vdd = `TOP.Vdd;………………………………………………………………………………<force all AMS model power supplies>………………………………………………………………………………end
18
Challenges : Memory Models
• Problem statement:- “Initial” blocks are executed once during the simulation at time 0.- Without CPF, power is assumed to be stable at time 0.- With CPF, all power supplies are OFF at time 0, causing Xs to be driven into all memory elements. When power supply turns ON, the initial blocks are not executed.
Example: Memory model MEM_ELEMENT.v: initial
begin
for (i=0; i< words ; i=i+1)
mem_fault_array_XOR[i]=0;
if (<condition>)
begin
mem_fault_array_XOR[1] = 1'b1 << (bits - 1);
end
end
Q_local_tmp = mem_core_array[Alatched]^mem_fault_ar ray_XOR[Alatched];
LSI Proprietary
19
Challenges : Memory Models (contd..)
Simulation without CPF – Q_local_tmp is initialized and ADC sampling happens correctly
Simulation with CPF – Q_local_tmp is X throughout the simulation, affects ADC sampling
LSI Proprietary
20
• Workaround:The memory elements had to be driven with initial values from testbench after
power supplies are turned ON.
Example workaround testbench code: `define MEM_MODEL `TOP .….< full_hierarchy_path>.….MEM_ELEMENT
always @(posedge `REG1.vreg1_wire)
begin
for (`MEM_MODEL.i=0; `MEM_MODEL.i< `MEM_MODEL.words ; `MEM_MODEL.i=`MEM_MODEL.i+1)
`MEM_MODEL.mem_fault_array_XOR[`MEM_MODEL.i]=0;
if (<condition>)
begin
`MEM_MODEL.mem_fault_array_XOR[1] = 1'b1 << (`MEM_M ODEL.bits - 1);
end
end
Challenges : Memory Models (contd..)
LSI Proprietary
21
Challenges : Memory Models (contd..)
• This is solved in CPF ver 1.0e. - supports “initial” block replay when power is restored
• CPF Command:set_sim_control -target * -action power_up_replay - modules {
……………………………………
MEM_ELEMENT \
……………………………………
}
Simulation result : Q_local_tmp is initialized after regulator powers up. ADC sampling happens correctly.
LSI Proprietary
22
Challenges: Managing Two Power Definition Formats
• Problem statement : Managing two different power formats when adopting tools from different vendors at different stages of the design flow.
• Solution: Conformal LP provides automatic translation from one format to another – UPF to CPF and vice versa.
LSI Proprietary
UPF commands Translated CPF commands
create_power_domain PD1 \-include_scope
create_power_domain -name PD1 \-default
create_power_domain PD2 –elements {and1}
set_domain_supply_net PD2 \-primary_power_net vdd1 \-primary_ground_net VSS
create_power_switch clks_ls_SW \-domain PD1 \-output_supply_port {VDDO vdd1} \-input_supply_port {VDDI VDD} \-control_port {SLEEP pse_en} \-on_state {on_state VDD {pse_en==1}} \-off_state {off_state {pse_en==0}}
create_power_domain -name PD2 \-shutoff_condition {!pse_en==1} \-instances { and1 }
update_power_domain -name PD2 \-internal_power_net vdd1 \-internal_ground_net VSS
create_power_switch_rule –name \clks_ls_SW -domain PD2 \-external_power_net VDD
23
Conclusion
• Consistency in low power information throughout the design cycle
• Possible to verify power intent and find bugs early on in the design cycle, which was previously not possible.
• Power aware coverage provides a metric that describe how well the power intent has been tested.
• Managing two different power specification formats is easier with automatic translation using Conformal LP.
• Verifying power specification in mixed signal designs is challenging.
LSI Proprietary
24
Acknowledgements and References
• Acknowledgements:I would like to acknowledge the support provided by�Sherre Staves and LSI team�Lokesh Babu Pundreeka, Cadence, Bangalore�Maruthi Srinivas Narasimhan, Cadence, Bangalore
• References:[1]Power Forward, “A Practical Guide to Low Power Design – User Experience
with CPF. [Online]. Available: http://www.powerforward.org/media/p/65.aspx
[2]Si2 CPF 1.0 Tutorial 12-06-2007. [Online]. Available: http://www.si2.org/openeda.si2.org/cpf_tutorial_20071206/
LSI Proprietary
25
Thank youQuestions?
LSI Proprietary