The How To's of Advanced Mixed-Signal Verification
The How To's of Advanced Mixed-Signal Verification
The How To's of Advanced Mixed-Signal Verification
6. Q&A
Metric-Driven Verification for Mixed-signal
John Brennan
The Winds of Change
Many forces at work to drive change
Software
Control
Industry Integration of
Standards AFE
Mixed
Signal
Digital Process ≤
Calibration/
Computation 28nm
Design
Analog
Design
Measure
Test targets
Coverage Driven
Results Adds quality &
Coverage productivity,
CG1 but difficult to
G DUT CG2
CG3
x
estimate
CG4 completion
Coverage targets
Construct Assertions
Analyze
Checks
VE Start Module Module Chip Prototype Production
Set One Set Two Integration
Execute
Coverage & Failure
Analysis IEM
Metric Visualization
JG ISX
IES SN
Testbench Simulation,
Formal,
HW/SW Co-Sim, LPV, MSV,
Sim-Acceleration, Emulation
Key Elements of MS Verification Solution
• Planning
• Tracking to closure
• Execution and debugging
• Integrated Digital
Environment verification
concepts
Behavioral
Simulation Modeling
• Methodology
• Performance • Library
• Tools abstracting
• Features
analog and mixed-
signal functionality
Cadence mixed-signal verification solution
Bridging the GAP, addressing complexity
Metric-Driven
Verification
Methodology
Plan,Track,Analyse,Report
TB Development
Sim Management
UVM Mixed Signal Re-use and Automation
PSL / SVA Assertion
(Analog Design
Functional Coverage
Environment)
Enabling technology
Analog Modeling (SMG) RNM Simulation
Multi-Mode Simulation (MMSim) Multi-Language Simulation
Fast SPICE (XPS) (Incisive) Core simulation engine
Abstraction Level
Analog High accuracy Digital High simulation throughput
Agenda
6. Q&A
Verification Planning in MS
Kawe Fotouhi
What is a Meaningful Verification plan?
• Functional Verification is the
process of proving the
convergence of the functional
specification, the design intent,
and the Test environment Functional
Specification
Implementation
of verification
implementation Verification environment
Plan
• A good and meaningful
verification plan will prove that
convergence Design Intent
Fundamentals of a Good
Verification Plan
Functional Implementation
Specification of verification
env
Functional
&
Design Metrics
Specs
Verification Be able to correlate
Plan features with
corresponding
Directly links and measured metrics
maps all specified
features and key
details
design and
Verification
team
Correctly captures
important implementation
Design Intent specific concerns
Creating a Feature based Verification Plan I
Feature Identification
• Get all project related people together
– Analog designer, analog and digital verification engineer, Marketing, Concept, Software, ...
• „Brainstorm“ plan hierarchy and features based on
– Specification
– KnowHow, experience & gut feeling
• Feature analysis focuses on :
– "What" to verify
– Which domain (analog/digital) to verify
– "How” to verify
• Feature Examples
– Device mode and configuration options
– Traffic or protocol handling
– Protocol or device exception handling
– Performance specification
– Operation conditions (PVT)
• Process variations
• Voltage supply
• Temperature
– Application modes
– External connections
– Typical and critical use and corner cases (duty cycle, phase noise ratio etc.)
Creating Feature based Plan II
Attribute Elaboration
6. Q&A
UVM for Mixed-signal
Thomas Ziller
Using UVM to Apply MDV
• Components of a MDV environment
– Automated Stimulus Generation
– Independent Checking
– Coverage Collection
stimulus sequences
coverage and check metrics
stimulus sequences sequence scoreboar
stimulus sequences library cov check
d
stimulus sequences
sequencer
seed new test transaction
monitor transaction
monitor
stimulus
0x223F
stimulus
0XA30E cov check cov check
stimulus
0X94D7
stimulus
0XFF78 UVC
stimulus
0X3767
stimulus
0XCC18
stimulus
0XDA83
stimulus
0XBA1F
stimulus
0X95FB
stimulus
driver slave
0X382E DUT
MS-MDV Block Diagram (dms_wire, SV top)
SV TB env
UVM master_agent
sequencer
Classes
Real Numbers seq
seq
seq
monitor driver
Customizable VIF VIF
dms_wire gasket
Real Numbers IF
Wreal/Electrical
VAMS CTRL
Netlist Gasket CTRL
CTRL
DUT
VAMS/Transistor SigGen Sampler
Phase
`uvm_do_with ana1_wire_seq {
clk_period == 0.5; // sample clk Bias
ampl == 0.001; // 1 mV
Amplitude
bias == 1.1;
freq == 100e6; // 100 MHz 0
phase == 0.0;
}
0 Frequency
SV RNM: Coverage/Randomization
• Coverage/Randomization of reals
• Cadence provides full coverage/randomization support
– Full compliment of real variable usage in randomization
logic
driver VIF pll_stim (vams)
IF
monitor VIF
N-Fractional PLL Mixed-Signal
Constrained Random Simulation Results
Constrained
random
variations
Set fsynth
Lock
Calibration Settling Calibration Settling
div2clk
avdd
+7% over_volt div2clk
over_volt avdd
+5% supply_ok div2clk
2.5 supply_ok
-5% 0V under_volt
under_volt
-7%
N-Fractional PLL Mixed-Signal
”avdd” Supply Range Checking
supply_ok
vco starts
Covergroup definitions:
covergroup bias_cg;
bias_cp : coverpoint bias {
bins over_volt = {[2.625:10]};
bins supply_ok =
{[2.375:2.625]};
bins under_volt ={[0: 2.375]}; }
endgroup // bias_cg
covergroup cg_fsynth;
cp_fsynth: coverpoint fsynth{
illegal_bins a =
{[14'h2201:14'h3fff]};
option.auto_bin_max = 25; }
endgroup : cg_fsynth
6. Q&A
Real-number Modeling Capabilities
Ahmed Osman
Performance : Simulation throughput
Behavioral Modeling DMS vs AMS
Accuracy
approach Verilog-AMS
Verification
VHDL-AMS
• Key advantages of RNM Wreal/
SV-RNM
– Discrete solver only
– Very high simulation performance Pure
Digital
– Event driven or sampled data Performance
modeling of analog operation
– No analog solver, no convergence Effort
problems! Verilog- AMS
VHDL AMS
– Can be written by analog designers Wreal/
and/or digital verification engineers FastSPICE
SV-RNM
Pure
Digital
• RNM languages include SPICE/APS
‒ VHDL
‒ SystemVerilog wreal & wreal &
‒e electrical logic
Analog or Real Modeling: What is the
Difference?
Analog Modeling Real Modeling
• Describes current vs. voltage • No matrix solution – output
relationship between nodes in computed directly from input &
model internal state. Model defines when
to perform each internal
• Newton-Raphson iteration process
computational segment
performs matrix inversion to solve
all voltage and currents • No continuous time operation –
only sampled, clocked, and/or
• Timestep until next solution is
event-driven operations. Updates
selected based on accuracy criteria
can be performed when inputs
change and/or at specific time
increments
• Same format for digital and real
modelling – difference is data type
SystemVerilog IEEE 1800-2012 LRM
– User-Defined Types (UDTs)
• Allows for single-value real nettypes
• Keyword used: nettype
• Allows for multi-value nets (multi-field record style)
• It can hold one or more values (such as voltage, current, impedance)
in a single complex data type that can be sent over a wire
– User-Defined Resolution (UDRs)
• Functions to resolve user-defined types using keyword: with
• Specifies how to combine user defined types
– Interconnect Nets
• Types
– Explicit: Type-less/Generic nets with keyword: interconnect
– Implied: A Verilog(-AMS) net with keywords: wire, tri, wand, triand,
wor, or trior
• Used only for a net or port declarations
SystemVerilog User-Defined Nets
– User-Defined Nets can carry V(out) V(in)
one or more values over a
single net. SV SV
Analog Analog
– Real values can be used to Model UDT
UDT
Model
// A nettype declaration with datatype and resolution function module driver2 (output wTsum dr_2);
assign dr_2 = T'{3.0,4.0};
nettype T wTsum with Tsum; endmodule
endpackage
Nettype
Electrical Package in SystemVerilog
• An Electrical Package for Systemverilog (EE_pkg.sv) defines an electrical
equivalent net (V-I-R) for use in discrete analog behavioral models.
• You can use the new EE_pkg package to port existing wreal models to SV.
• Has a UDR function that describes how the resolution of V, I and R are
resolved, res_EE.
• This package ends with the nettype declaration statement:
• The EEnet will conform to Kirchoff's laws.
PFD
ESD Divider
Level Shifter
Modulator + Digital
Control
Case Study 1: N-Fractional PLL Mixed Signal
Charge Pump
Loop Pass Filter
(bilinear transform)
EEnet
Loop Filter
(EE_pkg)
Case Study 1: N-Fractional PLL Mixed Signal
• Loop Filter Voltage output (Verilog-AMS vs. SV EE_pkg)
Verilog-AMS
SV-RNM VAMS
EE_pkg
CPU Time 47 seconds 1 hr 8 min. 32 sec
SystemVerilog
VAMS
SVRNM
Case Study2: 3rd-order CIFF Gm-C 𝚫𝚺 ADC
Simulation results for ain = 80mV
Spectrum Assistant has been used in ViVA to evaluate various spectrum properties, e.g.
SINAD, ENOB, THD, etc.
SV-RNM VAMS
SQNR 72.92 dB 72.33 dB
SINAD 71.06 dB 72.33 dB
ENOB 11.515 11.72
THD % 18.19m % 8.1m %
Noise Floor (per sqrt Hz) -126 dB/sqrt Hz -125.3 dB/sqrt Hz
CPU Time 0.4 seconds 92.5 seconds
6. Q&A
Analog and MS Assertions
Ahmed Osman
Automation & re-use thru Assertions
in Digital, Analog, and Mixed Signal
Why Assertions? Language Support Not New for Analog
Assume SVA Device checks
Assert Spectre MDL
Cover PSL $cds_get_analog_value
real vin;
// psl vin_check : assert always ( 1.2 < vin && vin < 1.3 )
// @(posedge clk);
electrical vin;
// psl vin_check : assert always ( 1.2 < V(vin) && V(vin) < 1.3 )
// @( cross(V(clk)-1.25));
Analog PSL assertions:
Verification Unit
• Verification units in PSL can contain analog objects
• Write your PSL statements/vunit into a file, e.g. inv_vams.pslvlog
• Example:
module INV_vams ( out1, in1 );
output out1;
input in1;
electrical in1, out1;
analog begin
if (V(in1) >= 1.25)
V(out1) <+ 0.0;
else
V(out1) <+ 2.5;
end vunit inv_vams_inst_vunit(INV_vams)
endmodule {
// psl assert
// always ( V(out1) < 1.25 )
// @( cross(V(in1)-1.25));
}
Demo