Professional Documents
Culture Documents
Model Development
Tristan Simetkosky
Packet Digital
April 17, 2015
Packet Digital is a provider of power management solutions, including the PowerSage® family of ICs.
Packet Digital also provides engineering services, including hardware, software, and ASIC design.
Key Statistics
Corporate Headquarters Fargo, North Dakota
Company Footprint Offices in Fargo, ND and Austin, TX; Channel partners in Asia
Founded 2003
Re-Invented 2008
Product Accolades Gartner Cool Vendor 2014, Forbes, Wall Street Journal, Fox National
Business News, Inc. 500, Department of Defense, Aviation Week and others
Industry Experience Our senior management team has more than 50 years of collective experience
in hardware and software delivery
• Timeline
• Meet customer design schedules
• Fabrication schedules
• Need high quality first silicon
• Impress customers
• Long fabrication times
• Simulation time / License constraints
• Full chip sims in parallel with block level extracted and/or Monte Carlo
simulations
25% Digital
75% Analog
Verilog
+ Faster than Spice
+ Digital solver only
- No real ports ($bitstoreal / $realtobits)
Verilog
+ Faster than Spice
+ Digital solver only
- No real ports ($bitstoreal / $realtobits)
Verilog-AMS Analog
+ Faster than Spice
+ Electrical signals (voltage, current)
- Requires analog solver
- Convergence errors
Verilog-AMS Analog
+ Faster than Spice
+ Electrical signals (voltage, current)
- Requires analog solver
- Convergence errors
Source: Cadence white paper “Solutions for Mixed-Signal SoC Verification Using Real Number Models”
Procedure:
• Construct Verilog-AMS analog model
• Leverage spice netlist if available
• Build a testbench
• Verify
• Basic functionality
• Port polarity
• Trimming
• Slew rates
• Propagation delays
• Construct Real Number Model (RNM)
• Focus on sim performance
• Compare model against spice circuit as available or as changes are
made
Statistics:
2000 Transistors
8-bit R2R DAC 300 Resistors
50 Capacitors
4 Diodes
R2 R1
VREF_1V2 VOUT
R2R Ladder OA R2R Ladder OA
R2 R1
VREF_1V2 VOUT
R2R Ladder OA R2R Ladder OA
Sources of variation:
● VREF_1V2 accuracy
● Resistor mismatch
● OA offset
Obtain the range variation from spice simulations (corners or Monte Carlo)
Use compiler directives to choose an offset:
`ifdef CORNER_SS
t_slew = 500n;
op1_offset = 0.07 + 0.02 * ($urandom_range(0,200)/100.0 - 1.0); //-1.00:1.00
`elsif CORNER_FF
t_slew = 300n;
op1_offset = 0.05 + 0.02 * ($urandom_range(0,200)/100.0 - 1.0);
`elsif CORNER_RAND
t_slew = (400 + 100.0 * ($urandom_range(0,200)/100.0 - 1.0)) * 1e-9;
op1_offset = 0.06 + 0.03 * ($urandom_range(0,200)/100.0 - 1.0);
`else
t_slew = 400n;
op1_offset = 0.06;
`endif
VREF RS
VDAC_int
SETPOINT[7:0] DAC VDAC
analog begin
V(VDAC_int,VSSA) <+ transition(v_dac, t_d, t_r, t_f); //model slew rates
I(VDAC_int,VDAC) <+ (V(VDAC_int,VDAC)) / r_ser; //model drive
strength
end
Simulation time
● Spice simulation: 139 s
● Verilog-AMS Analog: 220 ms
Solution:
• SystemVerilog IEEE 1800-2012
• User Defined Types (UDT)
• User Defined Resolution (UDR) functions
endfunction
module resistive_load
...
input RES_VAL;
input VIN;
real RES_VAL;
elec_net VIN;
Simulation time
● Spice simulation: 139 s
● Verilog-AMS Analog: 220 ms
● Verilog-AMS wreal: <100 ms
● SystemVerilog real: <100 ms
● SystemVerilog real MVN: <100 ms
Stimulus:
elec_net VDDA_3V3, VDDA_1V8, VSSA;
Circuit Model:
assign VDDA_1V8 = elec_type'{0.0, 0, 900.0};
assign VDDA_3V3 = elec_type'{0.0, 0, 3300.0};
or
assign VDDA_1V8 = elec_type'{0.0, 0, EN_I == 1'b1 ? 900.0 : 1e6};
assign VDDA_3V3 = elec_type'{0.0, 0, EN_I == 1'b1 ? 3300.0 : 1e6};