ams-testbench an innovative methodology for verifying ...€¦ · •ams toggle coverage basic...

12
Extending UVM Methodology for Verifying Mixed-Signal Components by Abhisek Verma Synopsys 8 th October 2012

Upload: others

Post on 07-Jun-2020

47 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

© Synopsys 2012 1

Extending UVM Methodology for

Verifying Mixed-Signal

Components

by

Abhisek Verma

Synopsys

8th October 2012

Page 2: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

Target Audience & Applications

• SoC Integrator

• Analog IP developers

• Domains

– Automotive

– Communication

– Multimedia

– PHYs

– LP

– lPs

• Applications

– ADC, DAC

– AMPs, Comparators

– PLLs

– Low Power Controller

– Voltage ref

– PHYs

– Custom IPs

• Time-based discrete

verification

2

Page 3: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

AMS Testbench Technology

• Technology for mixed-signal SoC functional verification– Constrained-random verification

– SystemVerilog

• Enhance VMM/UVM with new constructs for analog blocks

• Provide AMS coverage in SV Testbench Environment

3

A D

A

A

D

D

D

D

D D

D

D

D

D

D

D

VMM /UVM AMS TB

Page 4: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

UVM-AMS Testbench OverviewTechnology for mixed-signal SoC functional verification

• Electrical Real conversion

• Asynchronous analog events

• AMS toggle coverage

Basic Usage

• AMS SystemVerilog assertions

• AMS SystemVerilog testbench

• AMS Checker Library

• SystemVerilog Real Number Modeling

Intermediate usage

• UVM AMS testbench

• AMS Source generators

Advanced usage

DUT(Analog IP)

Self Chk

~~

real

SPICE or Verilog-AMS

Electrical

r2eSystemVerilog

real

SPICE or Verilog-AMS

Electrical

e2rSystemVerilog

top.ev

top.vref

VDD=1.8V

0.6V

Vref

-Tol

+Tol

Page 5: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

Look and Feel

Page 6: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

Immediate Assertions

Page 7: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

UVM-AMS Testbench Checkers

Checkers

sv_ams_threshold_checker Checks that analog signal

remains within a given high and

low threshold.

Can perform this check

synchronously or asynchronously

sv_ams_stability_checker Checks that analog signal

remains below or above a given

threshold.

Can perform this check

synchronously or asynchronously

sv_ams_slew_checker Checks that analog signal

rises/falls with a given slew

rate(+/- tolerance).

Can perform this check

synchronously or asynchronously

sv_ams_frequency_checker Checks that analog signal

frequency is within a given

tolerance

7

High

Low

Vref

-Tol

+Tol

dV/dt

VMax VMax

Vmin Vmin

Page 8: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

Primary Use Model:

Functional Verification of an SoC

8

DUT

Self Chk

Testcase

A

Co

ve

rag

e

D D

D

A

D

D

With AMS TB, it could

now contain analog

blocks

Page 9: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

Other use:

Verifying Analog IP before SoC integration

9

DUT(Analog IP)

Self Chk

Testcase

~~

Covera

ge

sv_ams_real

sv_ams_voltage

components

Checkers

Page 10: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

UVM-AMS Testbench Generators

• Topology to support SV-Top, VAMS / Spice leaves

• Reference model in Verilog-AMS

• Automatic insertion of d2a/a2d for bits

• Constrainable uvm_realto drive analog nodes

• AMS Testbenchcomponents (voltage, current)

10

DUT

(Spice)

Testcase

~

uvm_real

uvm_voltage components

SV/UVM

Self Check

(VAMS)

Page 11: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

AMS Testbench GeneratorsUVM

11

...

class my_env extends uvm_component;

...

sv_ams_sine_voltage_gen#(-1.0, +1.0, 1.0E6) sGen_IN;

function void build_phase(uvm_phase phase);

super.build_phase(phase);

uvm_resource_db#(virtual ams_src_if)::

set("*", "uvm_ams_src_if", aif, this);

sGen_IN = sv_ams_sine_voltage_gen#

(-1.0, +1.0, 1.0E6)::type_id::create("sine", this);

endfunction

Construct sin Wave

generator.

Default is auto-run

throughout

run_phase()

Sine Voltage Gen

• Vmax=1.0V,

• Vmin=-1.0V

• F=1.0MHz

Page 12: AMS-Testbench An Innovative Methodology for Verifying ...€¦ · •AMS toggle coverage Basic Usage •AMS SystemVerilog assertions •AMS SystemVerilog testbench •AMS Checker

UVM-AMS Testbench Benefits

• Clear methodology for mixed-AMS SoC verification

– Enable consistent digital and analog verification

– Tight integration between VCS and CustomSim

• Covers Holes in mixed-AMS Block-level verification

– Synchronous and Analog Asynchronous verification

– Usage of Ref models for self-checking and quicker simulation

• Ecosystem

– Verification planning

– Regressions

– Coverage convergence

– Self-checking

12