Warren Anderson Ravi Ram AMD Vijay Akkaraju Synopsys

Similar documents
VCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology

Extending Digital Verification Techniques for Mixed-Signal SoCs with VCS AMS September 2014

Will Silicon Proof Stay the Only Way to Verify Analog Circuits?

IOT is IOMSLPT for Verification Engineers

Comprehensive AMS Verification using Octave, Real Number Modelling and UVM

AMS Behavioral Modeling

TEXAS INSTRUMENTS ANALOG UNIVERSITY PROGRAM DESIGN CONTEST MIXED SIGNAL TEST INTERFACE CHRISTOPHER EDMONDS, DANIEL KEESE, RICHARD PRZYBYLA SCHOOL OF

FPGA chip verification using UVM

Mixed Signal Verification of an FPGA-Embedded DDR3 SDRAM Memory Controller using ADMS

Equivalence Validation of Analog Behavioral Models

A Systematic Approach to Creating Behavioral Models CDNLive, March, 2015 Bob Peruzzi, Joe Medero

Advanced Verification Topics. Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor

Mixed Signal Verification Transistor to SoC

AMchip architecture & design

Efficient Verification of Mixed-Signal SerDes IP Using UVM

A 20 GSa/s 8b ADC with a 1 MB Memory in 0.18 µm CMOS

Leveraging IBIS Capabilities for Multi-Gigabit Interfaces. Ken Willis - Cadence Design Systems Asian IBIS Summit, Shanghai, PRC November 13, 2017

SmartSpice Verilog-A Interface. Behavioral and Structural Modeling Tool - Device Model Development

Digital IO PAD Overview and Calibration Scheme

Reduce Your System Power Consumption with Altera FPGAs Altera Corporation Public

DFT Trends in the More than Moore Era. Stephen Pateras Mentor Graphics

UVM Ready: Transitioning Mixed-Signal Verification Environments to Universal Verification Methodology

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

Synopsys Design Platform

TABLE OF CONTENTS 1.0 PURPOSE INTRODUCTION ESD CHECKS THROUGHOUT IC DESIGN FLOW... 2

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

CS152 Computer Architecture and Engineering Lecture 16: Memory System

2GB DDR3 SDRAM SODIMM with SPD

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

Design and Verification of Slave Block in Ethernet Management Interface using UVM

Interfacing RLDRAM II with Stratix II, Stratix,& Stratix GX Devices

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

DS WIRE INTERFACE 11 DECOUPLING CAP GND

Programmable CMOS LVDS Transmitter/Receiver

Design of a Switch-Level Analog model for Verilog

Hardware Design with VHDL PLDs IV ECE 443

Unleashing the Power of Embedded DRAM

AMS DESIGN METHODOLOGY

QUICK START GUIDE FOR DEMONSTRATION CIRCUIT 1110 SINGLE, PARALLEL, IOUT, 16-BIT DAC

CpE 442. Memory System

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

ASIC world. Start Specification Design Verification Layout Validation Finish

Digital System Design

Real Time Embedded Systems

A mixed signal verification platform to verify I/O designs

Real Portable Models for System/Verilog/A/AMS

Chapter 8 Memory Basics

Nevis ADC Design. Jaroslav Bán. Columbia University. June 4, LAr ADC Review. LAr ADC Review. Jaroslav Bán

VLSI Test Technology and Reliability (ET4076)

Predicting BER with IBIS-AMI: experiences correlating SerDes simulations and measurement

Serial Adapter for I 2 C / APFEL and 8 channel DAC ASIC

MAS9278 IC for MHz VCXO

Short Course On Phase-Locked Loops and Their Applications Day 3, PM Lecture. Behavioral Simulation Exercises

Calibrating Achievable Design GSRC Annual Review June 9, 2002

Digital Discovery Reference Manual

Lecture 11: MOS Memory

REAL VALUE MODELING FOR IMPROVING THE VERIFICATION PERFORMANCE

ESD Protection Device Simulation and Design

Next Generation Design and Verification Today UVM REG: Path Towards Coverage Automation in AMS Simulations

Application note Differential Pressure Sensor Type D6F-PH (Rev 1.0)

Memory Hierarchy and Caches

FPGAs: Instant Access

A VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS

Development of UVM based Reusabe Verification Environment for SHA-3 Cryptographic Core

Title: Using Test-IP Based Verification Techniques in a UVM Environment

Using Mentor Questa for Pre-silicon Validation of IEEE based Silicon Instruments by CJ Clark & Craig Stephan, Intellitech Corporation

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

Efficient methods for analog mixed signal verification Interface handling methods, trade-offs and guidelines

CPS101 Computer Organization and Programming Lecture 13: The Memory System. Outline of Today s Lecture. The Big Picture: Where are We Now?

EEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder

An overview of standard cell based digital VLSI design

APPROVAL SHEET. Apacer Technology Inc. Apacer Technology Inc. CUSTOMER: 研華股份有限公司 APPROVED NO. : T0031 PCB PART NO. :

THE DESIGNER'S GUIDE TO VERILOG-AMS First Edition June 2004

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

ADQVD1B16. DDR2-800+(CL4) 240-Pin EPP U-DIMM 2GB (256M x 64-bits)

PC104P-16AO20 20-Channel 16-Bit High-Speed Analog Output PC104-Plus Board With 440,000 Samples per Second per Channel, and Simultaneous Clocking

8. Selectable I/O Standards in Arria GX Devices

UVM Ready: Transitioning Mixed-Signal Verification Environments to Universal Verification Methodology

4GB Unbuffered VLP DDR3 SDRAM DIMM with SPD

Onboard calibration capability enables the HP E1413 to calibrate all 64 input channels in under 15 minutes, many times faster than the manual

SPECMAN-E TESTBENCH. Al. GROSU 1 M. CARP 2

Responding to TAT Improvement Challenge through Testbench Configurability and Re-use

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

Overview: Functional Description:

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

DDR4 Design And Verification In Hyperlynx LINESIM/Boardsim

Parag Choudhary Engineering Architect

CPCI-16AIO Channel 16-Bit Analog I/O CPCI Board With 8 Input Channels, 8 Output Channels, and Auto calibration

Application Suggestions for X2Y Technology

TS2043 Preliminary CMOS IC

Lecture 20: Package, Power, and I/O

IEEE 1394a_2000 Physical Layer ASIC

Exp#8: Designing a Programmable Sequence Detector

An approach to accelerate UVM based verification environment

Logic Verification 13-1

ALTERA FPGAs Architecture & Design

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Mark Redekopp, All rights reserved. EE 352 Unit 10. Memory System Overview SRAM vs. DRAM DMA & Endian-ness

D7000 SERIES MODBUS TCP/IP ETHERNET INTERFACE MODULES

Transcription:

Universal Verification Methodology (UVM)-based Random Verification through VCS and CustomSim in Analog Mixed-signal Designs for Faster Coverage Closure Warren Anderson Ravi Ram AMD Vijay Akkaraju Synopsys

The Problem Full verification of analog+digital functions in a mixed-signal design FastSPICE has significant limits: Long sim times (12+ hours per test) results in: Only a small fraction of regression run in mixed mode. (often less then 5%) Significant coverage holes Limited randomization SPICE models do not lend themselves to today s verification flows Future designs expected to be more complex 2

The Solution Use Verilog-AMS for mixed signal models and simulations: Pros: Accuracy approaches SPICE Simulation time >10x faster, better resulting in: More tests run in mixed-signal mode. More coverage points hit Enables randomization on the analog side Challenges Development time for Verilog-AMS models Verilog-AMS to transistor equivalence checking 3

Outline of this talk Target design Verification environment Verilog-AMS models Metrics and measurements Summary and conclusions 4

Design PHY layer of an AMD APU processor DDR sub-system Bidirectional bus between processor and DRAM memory Analog circuits: Output driver Input receiver Input line impedance termination Calibration Reference voltage generation and distribution Current generation and distribution DLL Each of the above has an digital-analog interface 5

DDR PHY Design 6

Outline of this talk Target design Verification environment Verilog-AMS models Metrics and measurements Summary and conclusions 7

Universal Verification Methodology (UVM) System Verilog based, industry standard verification methodology. Maintained by, Accellera standards organization for the EDA industry. Developed to : Increase design verification productivity by code reuse. Optimize testbench and testcase development time. Consistent Verification flows across projects, designs, and blocks. 8

Verification Environment Adapted a UVM flow Separate agent for each 32 bit channel Each agent has an individual: Sequencer Driver Monitor Randomization: Through a global config file System Verilog constraint construct Mixed-signal modeling: Swap Verilog with a Verilog-AMS model Run the same sequences Randomization for analog using model parameters 9

Verification Environment 10 10

Randomization of analog portion using model parameters Goal: use UVM to configure the AMS model AMS models use real variables to control behavior Current LRM: Real variable randomization not legal Workaround flow: Use System Verilog constraint construct for integers Change SV constrained integers to reals and feed AMS model Example code: real vswitch; vswitch=real ( $urandom range ( xvswitch) ) / yvswitch ; Enable randomization: From command line or default constraints Future: Move to real random when SV LRM support standardized 11

Outline of this talk Target design Verification environment Verilog-AMS models Metrics and measurements Summary and conclusions 12

Mixed Signal Coding Architecture Model structure is key to enable Simple Verilog-AMS coding Schematic equivalence checking Design hierarchy for Verilog-AMS modules Define Verilog-AMS module boundary around the analog function only Place as much digital function as possible in digital-only modules Schematics must match hierarchy and pins Verilog-AMS module or module groups must represent a function that can be simulated Best if a schematic characterization block 13

Verilog-AMS Model Example 14

Verilog-AMS Example: output driver Verilog-AMS model boundary selected to contain only the analog function Driver pullup or pulldown individually Hierarchy and pins match between schematic and Verilog-AMS model Module represents a function to be characterized in SPICE simulations Output functionality Drive strength versus compensation code 15

Verilog-AMS Example: output driver parameter real Rbank = 240.0; // Resistance of bank, scalable across different drive strength banks integer BaseWeight = 64 * 3.5 / 2.0; // Unit of weight is the LSB of the binary legs real Rbank_unit = 240.0; // Unit cell used for calibration of the driver versus code curve here real Rint = 132.0; // Portion of the driver that is series resistance real Rscale, Tscale, Ncal_ena; always @* begin Rscale = (Rbank / Rbank_unit) / PFactorResProc / PFactorResTemp; Tscale = PFactorXtorProc * PFactorXtorTemp / (Rbank / Rbank_unit); Ncal_ena = BaseWeight + {8{ng_dat}} & ncal[7:0]; end 16

Verilog-AMS Example: output driver electrical pad_int; // Intermediate node between the pad and supply analog begin // Resistor portion V(PAD_VIO, pad_int) <+ I(PAD_VIO, pad_int) * Rint * Rscale; // Transistor portion I(pad_int, VSS) <+ Ncal_ena * Tscale * ( xivp4 * V(pad_int, VSS) + xivp3 * V(pad_int, VSS) * V(pad_int, VSS) + xivp2 * V(pad_int, VSS) * V(pad_int, VSS) * V(pad_int, VSS) + xivp1 * V(pad_int, VSS) * V(pad_int, VSS) * V(pad_int, VSS) * V(pad_int, VSS) ); end 17

UVM and Verilog-AMS Linkage Use UVM to randomize analog variables Process, voltage, temperature sensitivity Analog behavioral properties: offset, noise, INL real PFactorResProc = 1.0 from [0.9:1.12]; // Process factor for resistance process variation // Minimum value is max R, maximum value is min R real PFactorResTemp = 1.0 from [0.97:1.0]; // Process factor for resistance temperature variation // T=0 is 1.0, T=100 is min value real PFactorXtorProc = 1.0 from [0.74:1.29]; // Process factor for transistor process variation // Min value is slow process, max value is fast process real PFactorXtorTemp = 1.0 from [0.85:1.0]; // Process factor for transistor temperature variation // T=0 is 1.0, T=100 is min value 18

Model Fit: output driver 19

Mixed signal coding philosophy Code only for end goal Functional verification in this case Write models to include only the behavior that has a functional impact No need to model all behaviors that could be modeled Edge rates Delays Bandwidth Keeps the analog portion of the simulation to a minimum 20

Example: input receiver RxIn_VIO ESD CDM Device R ESD + - + - DFE 0 DFE 1 x2 Low-speed DDR3 (even/odd) Flyover Rx Folded-cascode + cml2cmos Rx_RcvBypass Folded-cascode + cml2cmos Δ Δ Data Slice data DFE Ctrl DFE Ctrl data D D Q Q 0 1 1 0 D Q Retiming FF Dll_ClkData (½ rate clk) Dll_ClkDataX (½ rate clk) D3 Mode (or RDQS Strobe Data mode) Rx_RcvDataEven Rx_RcvDataOdd Dll_ClkDataX (½ rate clk) Csr_VrefDnom<6:0> Csr_VrefDfe0<6:0> Csr_VrefDfe1<6:0> VrefA Csr_VrefMargining Internal VREF Generator + - Nominal Folded-cascode + cml2cmos Amplifier Chain Δ Dll Ins. Dly edge D Q Retiming FF D Q Rx_RcvEdgeEven Dll_ClkEdge (½ rate clk) Dll_ClkEdgeX (½ rate clk) edge D Q Rx_RcvEdgeOdd Edge Slice (CDR) 2 Rx_RdqsStrobe[X] 21

Verilog-AMS Example: input receiver Verilog-AMS model boundary selected to contain only the analog function Receiver amplifier, mux switches, comparator, reference generator Hierarchy and pins match Module represents a function to be characterized in SPICE simulations Amplifier function and analog parameters Gain, offset, noise as parameters Reference DAC step size, error as parameters 22

Code Example: receiver comparator module ddr_comparator(input p, input n, output out); real CmprOffset = 0.0m; //default real CmprHyst = 1.0m; //default real CmprDelay = 0.0; //default electrical p,n,vid; reg out; real threshhi = CmprOffset + (0.5*CmprHyst); real threshlo = CmprOffset - (0.5*CmprHyst); always @(above(v(vid)-threshhi)) begin #(CmprDelay/1e-12) out = 1'b1; end always @(above(threshlo-v(vid))) begin #(CmprDelay/1e-12) out = 1'b0; end analog begin @(initial_step) begin V(vid) <+ V(p,n); end end endmodule 23

Outline of this talk Target design Verification environment Verilog-AMS models Metrics and measurements Summary and conclusions 24

V-AMS Vs Verilog simulation Example: I/O driver signal to the DRAM Voltage-mode driver with de-emphasis equalization 8-bit data bursts 25

Verilog-AMS simulation results 26

V-AMS Vs Spice simulation Test Name Output impedance calibration cycle Output driver functionality Verilog-AMS FastSPICE Simulation wall-clock time wall clock time speed-up 3 minutes 28 hours 560x 6 seconds 30 minutes 300x 27

Outline of this talk Target design Verification environment Verilog-AMS models Metrics and measurements Summary and conclusions 28

Summary and Conclusions Verilog-AMS extremely beneficial to increase verification coverage in mixed-signal designs Enables large number of functional test cases within a standard verification framework Improved simulation time over FastSPICE If models written correctly, accuracy loss compared to SPICE mode can be contained Link to UVM enhances coverage through randomization across the analog space Vary process, temperature, offset, noise, etc. 29

Next Steps Apply Verilog-AMS models to more projects Models can be re-used in many cases Advantage that models can be put in place well before circuit design is completed Add more variables to the Verilog-AMS randomization to increase verification test coverage Enhance the environment when LRM updates come through 30