UVM in System C based verification

Similar documents
Ensuring System Integrity through Advanced System Software Verification

UVM-SystemC Standardization Status and Latest Developments

Universal Verification Methodology(UVM)

Making the Most of your MATLAB Models to Improve Verification

Sunburst Design - SystemVerilog UVM Verification Training by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

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

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

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

Formal Verification Adoption. Mike Bartley TVS, Founder and CEO

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

Incisive Enterprise Verifier

Open Verification Methodology (OVM)

The SystemC Verification Standard (SCV) Stuart Swan Senior Architect Cadence Design Systems, Inc.

Universal Verification Methodology (UVM) Module 5

ASIC world. Start Specification Design Verification Layout Validation Finish

UVM for VHDL. Fast-track Verilog for VHDL Users. Cont.

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

VERIFICATION OF RISC-V PROCESSOR USING UVM TESTBENCH

An approach to accelerate UVM based verification environment

Hardware Design and Simulation for Verification

Abstraction Layers for Hardware Design

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

Mastering Unexpected Situations Safely. Chassis & Safety Vehicle Dynamics

An Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes

Efficient Verification of Mixed-Signal SerDes IP Using UVM

List of Code Samples. xiii

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

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

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

PG DIPLOMA COURSE IN VERIFICATION USING SYSTEMVERILOG & UVM NEOSCHIP TECHNOLOGIES

SystemC Standardization Update Including UVM for SystemC Accellera Systems Initiative SystemC Standards Update. Andy Goodrich, Cadence Design Systems

Module- or Class-Based URM? A Pragmatic Guide to Creating Verification Environments in SystemVerilog. Paradigm Works, Inc. Dr.

Simplifying UVM in SystemC

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces

Comprehensive AMS Verification using Octave, Real Number Modelling and UVM

Will Everything Start To Look Like An SoC?

Will Everything Start To Look Like An SoC?

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition

IOT is IOMSLPT for Verification Engineers

Hardware Security Challenges and Solutions. Mike Bartley TVS, Founder and CEO

FPGA chip verification using UVM

Modular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.

6 Month Certificate Program in VLSI Design & Verification" with Industry Level Projects. Tevatron Technologies Prívate Limited

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

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

PCIe Verification in a SystemC environment using the Cadence VIP

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

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

FPGA Verification How to improve verification without throwing everything away

INDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

THE DESIGN ENVIRONMENT FOR HETEROGENEOUS SYSTEMS

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

Simulation-Based FlexRay TM Conformance Testing an OVM success story

User Experience with UVM

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

JL Gray July 30, 2008

UVM BASED TEST BENCH TO VERIFY AMBA AXI4 SLAVE PROTOCOL

An Introduction to Universal Verification Methodology

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

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

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

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

Simplified UVM for FPGA Reliability UVM for Sufficient Elemental Analysis in DO-254 Flows by Shashi Bhutada, Mentor Graphics

Mixed Signal Verification Transistor to SoC

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Accelerating FPGA/ASIC Design and Verification

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004

Graph-Based Verification in a UVM Environment

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

Agenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design

System Level Design with IBM PowerPC Models

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

Design and Verification of FPGA Applications

Stacking UVCs Methodology. Revision 1.2

Course Profile SystemVerilog Design

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

Bring IP verification closer to SoC

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

Stitching UVM Testbenches into Integration-Level

Verification of Digital Systems, Spring UVM Basics

Formal Contribution towards Coverage Closure. Deepak Pant May 2013

DO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense

Advancing system-level verification using UVM in SystemC

Assertive Verification: A Ten-Minute Primer

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT

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

Modular SystemVerilog

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

Small, Maintainable Tests

Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation

Assertion Based Verification of AMBA-AHB Using System Verilog

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

Verification of Power Management Protocols through Abstract Functional Modeling

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

DDR SDRAM Bus Monitoring using Mentor Verification IP by Nikhil Jain, Mentor Graphics

SystemVerilog UVM. Student Workbook

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

2.1 Typical IP-XACT based flow The IP-XACT standard can be applied in various parts of a typical SoC design flow as depicted in Figure 1

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer

Transcription:

April, 2016 Test Experiences and Verification of implementing Solutions UVM in System C based verification Delivering Tailored Solutions for Hardware Verification and Software Testing

EMPLOYEES TVS - Global Leaders in Test and Verification Germany - 2011 UK - 2008 USA - 2014 France - 2012 India - 2011 China South Korea Singapore - 2014 Continuous geographical expansion Number of Employees by quarter 200 150 100 50 0 Q3-13 Q4-13 Q1-14 Q2-14 Q3-14 Q4-14 Q1-15 Q2-15 Q3-15 Q4-15 Q1-16 Q2-16 (Est.) CALENDAR YEAR Q3-16 (Est.) Q4-16 (Est.) Copyright TVS Limited Private & Confidential Page 2

Index Background and challenges The TVS approach Advantages Case study: Client Planned updates & Availability

Background TVS has developed a SystemC testbench that is UVM compliant with a TLM 2.0 interface Primary objectives Reusability - across projects using SystemC designs. It is also possible to reuse this on other HDL s. Advanced verification support ability to deploy advanced verification techniques IP quality demonstrable improved IP quality via metrics and bug discovery rates Copyright TVS Limited Private & Confidential Page 4

Challenges in Development SystemC did not have any inbuilt class libraries equivalent to the UVM class library when the development was started. SystemC inbuilt constraint based random verification features were very limited and not robust. Replication of Coverage driven verification features supported by UVM is a challenge in SystemC Due to budget constraints, proprietary tools from EDA vendors could not be used initially Copyright TVS Limited Private & Confidential Page 5

The TVS Development Approach Developing the C++ equivalent of UVM TVS C++ Class library (TVM) Enabling constrained random verification through CRAVE Achieving Coverage through TVS Functional Coverage Library & asuresign Copyright TVS Limited Private & Confidential Page 6

TVM Library Structure Copyright TVS Limited Private & Confidential Page 7

TVM TVS implemented a library of base methodology classes and functions in C++ enabling easy conversion of test bench and tests from TVM- >UVM or UVM->TVM The TVM library mimicked UVM phases such as compile, build, run, check etc The library includes base classes for Constraint driven randomization using CRAVE Functional coverage is enabled through a TVM Functional Coverage Library Code Coverage is enabled through gcov & lcov tools Copyright TVS Limited Private & Confidential Page 8

Sample Implementation Test case Agent 1 Monitor Func Coverage Driver Sequencer Seq1 DUT Agent 2 Monitor Func Coverage Virtual Sequence Driver Sequencer Seq2 Checker Scoreboard Copyright TVS Limited Private & Confidential Page 9

Enabling Constrained Random Verification Enabled through use of external randomization library called CRAVE The CRAVE library allows the users to set constraints in a manner similar to UVM & System Verilog CRAVE allows inline constraints, which can be formulated and changed incrementally at run-time CRAVE is freely available under the MIT license CRAVE is available via public repositories at GitHub. Copyright TVS Limited Private & Confidential Page 10

Achieving Coverage TVS developed a Functional Coverage Library (FCL) to enable coverage driven verification Coverage is achieved through TVM functional coverage library and asuresign* Can be used either with TVM or individually on C++ based environments Supports report generation Support for different coverage types *asuresign is TVS in-house requirements driven management and verification tool For more information, please visit http://www.testandverification.com/solutions/requirements/ Copyright TVS Limited Private & Confidential Page 11

Advantages of TVS approach TVM supports many UVM features Constructs for agents, monitors, drivers, sequencers and scoreboard Factory registration and overriding Randomization control using constraints Ability to raise and drop objections config_db mechanism Dynamic casting using DCAST similar to System Verilog's $cast Support for time out mechanism Reporting severity similar to UVM Uses TLM ports (interface method class) Copyright TVS Limited Private & Confidential Page 12

Advantages of TVS approach TVM supports System Verilog features Verbosity control of debug messages Fine process control ( like fork-join, tracking process using process handle) through System-C. Interface class Copyright TVS Limited Private & Confidential Page 13

UVM Features implemented in TVM Item details TVM + FCL Comments Test bench creation with component classes: agent, sequencer, driver, monitor, scoreboard, etc. Test creation with test, (virtual) sequences, etc. Yes Yes Virtual sequences with p_sequencer present in TVM but need to make them more UVM compliant Configuration and factory mechanism Phasing and objections Policies to print Policies to Compare Policies to pack, unpack, etc. Messaging and reporting Register abstraction layer Yes Yes Yes Not Present Not present Yes Not present CPP allows usage of CPP methods to do compare. But need to write own detailed method for deep compare similar to UVM for seq_items etc. Callbacks SCV callbacks Can use SCV/ CPP callbacks Coverage Groups Constrained randomization Yes SCV or CRAVE Crave is stronger, default SCV randomization not as good Copyright TVS Limited Private & Confidential Page 14

Initial Deployment The above methodology has been applied to block verification with the following initial results: Re-usable TVM agents were developed for the proprietary protocols based internal busses. These were re-used on subsequent IP blocks. High rates of both functional and coverage were achieved on all blocks. 100% statement coverage on all blocks. The structured feature extraction process was converted to a functional coverage model. TVS were then able to generate tests to hit 100% of the plan. Throughout the coverage closure process progress was tracked via asuresign and reports generated. 24 bugs were discovered. Copyright TVS Limited Private & Confidential Page 15

Portability Ported the whole environment and all the tests to Cadence SystemC simulator Some minor changes required to fix crashes For example - Conflict between global and local static variables Cadence has a list of all of the issues and coding guidelines Environment now ported and works Need to follow Cadence coding guidelines when developing tests Tests now running on RTL under the Cadence simulator Some timeouts needed fixing Copyright TVS Limited Private & Confidential Page 16

Future updates planned Call-backs are not implemented. For now, as it is pure C++ library, C++ call-backs can be used (Courtesy: tedfelix.com/software/c++-callbacks.html). TVS has a Virtual Sequencer with p_sequencer based mechanism but it needs further improvement to make it more compatible with methods in UVM. There is currently no UVM-RAL model equivalent. uvm_event, uvm_event_pool and message passing using these functions need to be added. The functional coverage library support needs to be extended. Copyright TVS Limited Private & Confidential Page 18

Bubble Sort Proof of Concept for SW Testing Program Specification Input lists of integers, floats, ascii, etc. Reject lists of mixed types Convert unsorted lists to sorted lists Can we test the program with constrained input generation? Generate valid and invalid inputs Direct generation towards corner cases Check outputs for correctness Without re-writing an identical checker program Measure what we have tested Copyright TVS Limited Private & Confidential Page 19

Results of Bubble Sort Proof of Concept Lists of Integers Floats Ascii etc List Generator Check output list is ordered Output list contents == input list contents Checkers Software Under Test Lists Constrain towards Empty lists Equal values Reverse ordering Coverage Metrics Empty List Reverse ordered Error cases (mix integers, floats, ascii) Etc. Copyright TVS Limited Private & Confidential Page 20

Results for bubble sort Copyright TVS Limited Private & Confidential Page 21

Application of Advanced HW verification to complex System SW Testing Robotic vacuum cleaner? Mars rover? Drone landing on ship in rough seas? Automotive Automated parking? Lane keeping assistance? Driverless cars Do we continue to perform directed testing? Hardware adopted constrained random verification And ensure requirements tracing for safety standards compliance with asuresign Copyright TVS Limited Private & Confidential Page 22

Availability The SystemC-UVM infrastructure developed by TVS is available for other engineers to use. Compiles to binary and can execute multiple versions in parallel. The libraries can be obtained through the TVS website: http://www.testandverification.com Copyright TVS Limited Private & Confidential Page 23

Thank You