UVM usage for selective dynamic re-configuration of complex designs

Similar documents
UVM usage for selective dynamic re-configuration of complex designs

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

Verification of Digital Systems, Spring UVM Basics

UVM-RAL: Registers on demand Elimination of the unnecessary

Next Generation Verification Process for Automotive and Mobile Designs with MIPI CSI-2 SM Interface

Getting Started with UVM. Agenda

UVM-SystemC Standardization Status and Latest Developments

Verification Prowess with the UVM Harness

Vertical Reuse of functional verification from subsystem to SoC level (with seamless SoC emulation)

An Introduction to Universal Verification Methodology

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

Easier UVM Functional Verification for Mainstream Designers

FPGA chip verification using UVM

Small, Maintainable Tests

Universal Verification Methodology(UVM)

Yafit Snir Arindam Guha Cadence Design Systems, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces

SystemC Standardization Update Including UVM for SystemC Introduction to the Universal Verification Methodology in SystemC

Three Steps to Unified SoC Design and Verification by Shabtay Matalon and Mark Peryer, Mentor Graphics

Generation of UVM compliant Test Benches for Automotive Systems using IP-XACT with UVM-SystemC and SystemC AMS

Shortest path to the lab. Real-world verification. Probes provide observability

Universal Verification Methodology (UVM) 10:05am 10:45am Sharon Rosenberg UVM Concepts and Architecture

IOT is IOMSLPT for Verification Engineers

Practical Experience in Automatic Functional Coverage Convergence and Reusable Collection Infrastructure in UVM

Making it Easy to Deploy the UVM by Dr. Christoph Sühnel, frobas GmbH

Accellera Systems Initiative SystemC Standards Update

Test and Verification Solutions. ARM Based SOC Design and Verification

Universal Verification Methodology (UVM) Module 5

A UVM-based AES IP Verification Platform with Automatic Testcases Generation

OVM/UVM Update. Universal Verification Methodology. Open Verification Methodology. Tom Fitzpatrick Verification Technologist Mentor Graphics Corp.

Fast Track to Productivity Using Questa Verification IP by David Aerne and Ankur Jain, Verification Technologists, Mentor Graphics

EasyChair Preprint. Getting started on Co-Emulation: Why and How to Transition your Design and UVM Testbench to an Emulator

UVM: The Next Generation in Verification Methodology

Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces

Advancing system-level verification using UVM in SystemC

Pre-Silicon Host-based Unit Testing of Driver Software using SystemC Models

Integrate Ethernet QVIP in a Few Hours: an A-to-Z Guide by Prashant Dixit, Questa VIP Product Team, Mentor Graphics

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

Stacking UVCs Methodology. Revision 1.2

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

Slaying the UVM Reuse Dragon Issues and Strategies for Achieving UVM Reuse

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Configuring a Date with a Model

DVCon India 2016 Abstract submission template. Taking UVM to wider user base the open-source way Name: Nagasundaram Thillaivasagam

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

IMPLEMENTATION OF LOW POWER INTERFACE FOR VERIFICATION IP (VIP) OF AXI4 PROTOCOL

Accelerating RTL Simulation Techniques by Lior Grinzaig, Verification Engineer, Marvell Semiconductor Ltd.

NetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013

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

Boost Verification Results by Bridging the Hardware/Software Testbench Gap

Virtual PLATFORMS for complex IP within system context

Practical experience in automatic functional coverage convergence and reusable collection infrastructure in UVM verification

Efficient Verification of Mixed-Signal SerDes IP Using UVM

An approach to accelerate UVM based verification environment

Easy Steps Towards Virtual Prototyping using the SystemVerilog DPI

CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE VERIFICATION PANKAJ SINGH, MALATHI CHIKKANNA

Efficient use of Virtual Prototypes in HW/SW Development and Verification

System-Level Verification Platform using SystemVerilog Layered Testbench & SystemC OOP

Mastering Unexpected Situations Safely. Chassis & Safety Vehicle Dynamics

GENERATION OF GRAPH FOR ETHERNET VERIFICATION USING TREK M.Vinodhini* 1, P.D. Rathika 2, J.U.Nambi 2, V.Kanmani 1

OVM to UVM Migration, or There and Back Again: A Consultant s Tale. by Mark Litterick, Verification Consultant, Verilab GmbH

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

Portable Stimulus Driven SystemVerilog/UVM verification environment for the verification of a high-capacity Ethernet communication endpoint

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

UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE

width: 10, 20 or 40-bit interface maximum number of lanes in any direction

The Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System

The Verification Future needs an Easier UVM

Using Formalized Programming Sequences for Higher Quality Virtual Prototypes

Easy migration between frameworks using UVM Multi- Language (UVM-ML) Dr. Mike Bartley, Test and Verification Solutions

A New Class Of Registers

UVM Rapid Adoption: A Practical Subset of UVM. Stuart Sutherland, Sutherland-HDL, Inc. Tom Fitzpatrick, Mentor Graphics Corp.

Applying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1

Formal Contribution towards Coverage Closure. Deepak Pant May 2013

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

Tackling Verification Challenges with Interconnect Validation Tool

Extending the Power of FPGAs

A comprehensive approach to scalable framework for both vertical and horizontal reuse in UVM verification

Samsung and Cadence. Byeong Min, Master of Infrastructure Design Center, System LSI Business, Samsung. The Customer. The Challenge. Business Challenge

Perplexing Parameter Permutation Problems? Immunize Your Testbench

VERIFICATION OF RISC-V PROCESSOR USING UVM TESTBENCH

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Design, Verification and Emulation of an Island-Based Network Flow Processor

Maximize Vertical Reuse, Building Module to System Verification Environments with UVMe

Validation Strategies with pre-silicon platforms

Slicing Through the UVM's Red Tape A Frustrated User's Survival Guide

NoC Generic Scoreboard VIP by François Cerisier and Mathieu Maisonneuve, Test and Verification Solutions

Graph-Based Verification in a UVM Environment

Hardware Software Bring-Up Solutions for ARM v7/v8-based Designs. August 2015

Advancing system-level verification using UVM in SystemC

Graph-Based IP Verification in an ARM SoC Environment by Andreas Meyer, Verification Technologist, Mentor Graphics Corporation

Extending the Power of FPGAs to Software Developers:

Design and Verification of FPGA Applications

PowerAware RTL Verification of USB 3.0 IPs by Gayathri SN and Badrinath Ramachandra, L&T Technology Services Limited

User Experience with UVM

A Generic UVM Scoreboard by Jacob Andersen, CTO, Kevin Seffensen, Consultant and UVM Specialist, Peter Jensen, Managing Director, SyoSil ApS

UVM based Verification Environment for Performance Evaluation of DDR4 SDRAM using Memory Controller

The How To s of Metric Driven Verification to Maximize Productivity

Warren Anderson Ravi Ram AMD Vijay Akkaraju Synopsys

Transcription:

UVM usage for selective dynamic re-configuration of complex designs Kunal Panchal Pushkar Naik Accellera Systems Initiative 1

Agenda Introduction Sample DUT Verification Considerations Basic Recommendations Limitations Faced Solution Proposed Flow Chart Conclusion Accellera Systems Initiative 2

Introduction Verification of single sub-system chip Demand for multi-subsystem chip Verification complexity of multi-subsystem chip Re-use of proven verification env(s) Accellera Systems Initiative 3

Multi-Subsystem Chip Accellera Systems Initiative 4

Sample DUT Subsystem variation parameters Rate Variation (10G, 40G ETH) Protocol Variation (ETHERNET, OTN, INTERLAKEN) Switching Fabric for Subsystem to I/O s selection using software Total 6 basic I/O channels of 10G rate each to provide 60G aggregate BW Multiple channels clubbed to form higher BW pipe Accellera Systems Initiative 5

10G/40G Networking PHY 60G 10G 10G 10G 10G 10G 10G CHIP PIN I/O Switching Fabric (Subsystem SW selection) 10G Ethernet Subsystem [0..2] 40G Ethernet Subsystem OTN Subsystem [0..2] Interlaken Subsystem Control Subsystem SOC with software enabled subsystem Accellera Systems Initiative 6

Sample Test Scenario Initial Setup 3 x 10G ETH Channels 3 x 10G OTN Channels Setup after reconfiguration 1 x 40G ETH Channel 1 x 10G OTN Channel (Untouched) 1 x 10G INTERLAKEN Channel Accellera Systems Initiative 7

BW allocation for Dynamic Reconfig 1st Setup: 60G Chip supporting 6x10G protocols TO Setup after reconfiguration: 60G Chip supporting 1x40G & 2x10G protocols 10G Ethernet channel 10G Ethernet channel 10G Ethernet channel 10G OTN channel 10G OTN channel 10G OTN channel 40G Ethernet channel 10G OTN channel 10G Interlaken channel Accellera Systems Initiative 8

Verification Considerations A DUT Subsystem with given Rate/Protocol variation forms one UVM environment A test case will create as many Env s as required by test scenario s Rate/Protocol requirement Accellera Systems Initiative 9

Multi-Environment Test Bench TESTBENCH Ethernet Subsystem Env(s) TESTCASE VIF_E Connection agent OTN Subsystem Env(s) VIF_O text (Enable/disable paths as per configuration) VIF_TOP REAL_IF DUT VIF_I Interlaken Subsystem Env(s) Accellera Systems Initiative 10

Verification Considerations Interface connections An interface with all signals across all DUT features is created Each Env has its own Virtual Interface instance created of above Interface type Idea is that respective Env touches only those signals that it is supposed to A top level Virtual Interface instance is created, again of same interface type, that finally connects to DUT s Real Interface As per Env s active status, its local VIF is connected to the top level VIF, using the connection agent shown Accellera Systems Initiative 11

Basic Recommendations Use uvm_config_db for Env components config Env components with enable/disable config as per datapath(sb, mon, drv, etc) Configurable clocks as per Reconfig requirements Proven tests of every subsystem env, tested individually, forms base for Dynamic Reconfig Test Scenario s Reset to all TB components and DUT must be in sync, and placed in reset_phase Any DUT specific reset requirements at the time of reconfig should be carefully taken care of Accellera Systems Initiative 12

Basic Recommendations Data sequences lifetime need to be adjusted correctly Env s untouched need to have sequence(s) running till end of test Env s being phased out need to have their sequence(s) end right at Reconfig time (Graceful exit) New Env s being created need to start sequence(s) after they are correctly configured/connected. Common Reconfig tasks to be placed in base_test for all test scenario s to leverage upon Untouched channels should not loose data integrity, ever Newly made active channels should eventually establish data integrity Accellera Systems Initiative 13

Limitations Faced Large configuration requirement of components against standard approach UVM s constraint on creation of components outside build_phase UVM s restriction on connection of TLM ports outside connect_phase UVM s phase looping feature cannot be used for Reconfig since few Env s are required to continue their data sequences untouched while few new are required to be created Accellera Systems Initiative 14

Solution Proposed As per test scenario, all the required environments (both pre and post reconfig) will be created in build_phase TLM port connections, if any, will be done in connect_phase Switching of Env s is done using dynamic connection of Env s local VIF to the top level VIF during the main_phase Logs reported from all env(s) to conclude test Pass/Fail Accellera Systems Initiative 15

Multi- Channel Reconfig Flow Chart Create all env(s) required in Test scenario Perform component connections as usual. Push all env(s) used for 1 st setup in a Q & assign channel number to each Enable environment components, configure DUT channels as per env(s) in Q build_phase() connect_phase() configure_phase() Insert new env(s) into Q. Perform Wait component only those Enable Assign 2 environment Disable connections Start Create channel sequence(s) 1 nd all env(s) as usual. components, st vif_top setup: to 2nd current setup: env(s) of Report env_vif, Start Wait sequence(s) for component complete Push required all 1 st all running configure env logs of Channel on sequence(s) env(s) channels in reconfiguration setup undergoing to which end Test env(s) are that env(s) DUT config sequence(s) for channels all in and env(s) Q which enable to as in end per Q are it. in Q reconfiguration not & needs required? Scenario assign started to channel be yet not Perform env(s) started in DUT Q yet number reconfigured to each configuration. Start sequence(s) of env(s) in Q which are not started yet Channel reconfiguration required? NO Wait for all running sequence(s) to end Report component logs for all env(s) in Q main_phase() YES shutdown_phase Disable current env(s) on channels undergoing reconfiguration Insert new env(s) into Q. Assign vif_top to env_vif, complete env config & enable it. Perform DUT configuration Wait for only those channel env sequences to end that needs to be reconfigured End of Test Accellera Systems Initiative 16

8 env: 3x10G enet, 3x10G otn, 40G enet, 10G ikn 1 st Setup for 6 channels: 3x10G enet, 3x10G otn Create all env(s) required in Test scenario Perform component connections as usual. Push all env(s) used for 1 st setup in a Q & assign channel number to each Enable environment components, configure DUT channels as per env(s) in Q build_phase() connect_phase() configure_phase() main_phase() Disable 3x10G enet on ch 0-2 and 2xotn on ch 3&5. (stop clocks, mon, drv, etc) Start seq(s) of env in Q (3x10G enet, 3x10G otn env) Wait for seq(s) to end for inst 40G enet on ch0, 10G otn on ch4 and 10G ikn on ch5 Start sequence(s) of env(s) in Q which are not started yet Channel reconfiguration required? NO Wait for all running sequence(s) to end Report component logs for all env(s) in Q YES shutdown_phase Disable current env(s) on channels undergoing reconfiguration Insert new env(s) into Q. Assign vif_top to env_vif, complete env config & enable it. Perform DUT configuration Wait for only those channel env sequences to end that needs to be reconfigured End of Test Add 40G enet on ch 0 & 10G ikn on ch 5. Assign env_vif to top_vif Wait for seq(s) on ch 0-3 and 5 to end (ch 4 is untouched) Accellera Systems Initiative 17

Conclusion Multi-subsystem Chips with Dynamic Reconfig requirement UVM limitations due to phasing structure Components require heavy configurability Paper proposes a work-around : Create all required env(s) at start and switch environments by controlling the Virtual Interface connection(s) during reconfiguration Accellera Systems Initiative 18

Questions Accellera Systems Initiative 19