by Adiel Khan Staff CAE Synopsys

Slides:



Advertisements
Similar presentations
Verifying Performance of a HDL design block
Advertisements

Using emulation for RTL performance verification
1 IK1500 Communication Systems IK1330 Lecture 3: Networking Anders Västberg
Parag Goel Sr. Corporate Application Engineer Synopsys India Pvt. Ltd.
February 28 – March 3, 2011 Stepwise Refinement and Reuse: The Key to ESL Ashok B. Mehta Senior Manager (DTP/SJDMP) TSMC Technology, Inc. Mark Glasser.
Presented by: Omer Shaked Beeri Schreiber Serial Peripheral Interface Final Project Presentation Supervised by: Tal Yahav Leon Polishuk.
MS-SoC Best Practices – Advanced Modeling & Verification Techniques for first-pass success By Neyaz Khan Greg Glennon Dan Romaine.
Universal Verification Methodology (UVM) Benefits Mustafa Khairallah Boost Valley Boost Valley Consulting 1.
Maintaining Consistency Between SystemC and RTL System Designs Presenter: Christopher Lennard, PhD. Authors: ARM - Alistair Bruce, Andrew Nightingale,
Title of Presentation Presenter Matthew J Morley Teaching Functional Verification Workshop DAC 2002, Sunday June 9 th. Testbench Automation Concepts.
Design For Verification Synopsys Inc, April 2003.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Fiber Channel Video Controller Students: Tsachy Kapchitz Michael Grinkrug Supervisor: Alex Gurovich in cooperation with: Elbit Systems המעבדה למערכות ספרתיות.
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
Creating Test Environments HDL Model HDL Testbench Simulation Engine API stimulus check Testbench Program stimulus check Non-HDL languages may be used.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
HW/SW Co-Design of an MPEG-2 Decoder Pradeep Dhananjay Kiran Divakar Leela Kishore Kothamasu Anthony Weerasinghe.
Gaurav Gupta Freescale Semiconductors Adiel Khan, Parag Goel, Amit Sharma, Varun S, Abhisek Verma Synopsys
Architecting Testbenches. Reusable Verification Components Verilog Implementation VHDL Implementation Autonomous Generation and Monitoring Input and Output.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
Lecture Set 14 B new Introduction to Databases - Database Processing: The Connected Model (Using DataReaders)
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
SoC Verification HW #2 TA: Wei-Ting Tu Assignment: 04/12/06
System Verilog Testbench Language David W. Smith Synopsys Scientist
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
HDMI High-Definition Multimedia Interface Mythri P K September 2010.
UNDERSTANDING THE HOST-TO-HOST COMMUNICATIONS MODEL - OSI LAYER & TCP/IP MODEL 1.
SystemVerilog. History Enhancement of Verilog Enhancement of Verilog 2002 – accellera publishes SystemVerilog – accellera publishes SystemVerilog.
SystemVerilog and UVM for the ABC system verification Francis Anghinolfi 14 Nov 2013 SystemVerilog MiniWorkshop.
Robust Low Power VLSI ECE 7502 S2015 Evaluation of Coverage-Driven Random Verification ECE 7502 – Project Presentation Qing Qin 04/23/2015.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Optimization of Verification Effort using Reusable Sequence Collection Dipesh Handa Gaurav Chugh Gaurav Minda Kumar Rajeev Ranjan.
NIOS II Ethernet Communication Final Presentation
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
Data and Computer Communications Chapter 11 – Asynchronous Transfer Mode.
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
Lecture Set 14 B new Introduction to Databases - Database Processing: The Connected Model (Using DataReaders)
Memory Subsystem verification – Can it be taken for granted ?
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
SVA Encapsulation in UVM enabling phase and configuration aware assertions by Mark Litterick Verification Consultant Verilab GmbH, Munich, Germany.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Mid presentation Part A Project Netanel Yamin & by: Shahar Zuta Moshe porian Advisor: Dual semester project November 2012.
1 ® ® Agenda 8:30 a.m.Introduction to The MathWorks, Xilinx, and Avnet 9:00 a.m.Video System Design with Simulink 9:45 a.m.Break 10:00 a.m.FPGA Implementation.
EE694v - Verification - Lect Lect 12,13,14 – 762 Testbenches Lets look at the EE 762 testbenches Look at stimulus generation techniques Look at response.
Exploiting Architecture For Verification Dave Whipp.
Architecture optimization and design verification of the Timepix3 and the Velopix pixel ASICs Tuomas Poikela (TUCS/CERN) SV/UVM Mini workshop.
Progress on Pixel Region Optimization and SystemVerilog Simulation Phase 2 Pixel Electronics Meeting – Progress on Pixel Region Optimization and SystemVerilog.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Verification Environment for a Simple Pixel Chip Model Pixel Phase 2 Electronics Meeting during TK Week – E. Conti *, P. Placidi *, S. Marconi.
EE694v - Verification - Lect 12
Gopakumar.G Hardware Design Group
An IP-based multimedia traffic generator
Lecture 9: Testbench and Division
Stitching UVM Test benches into Integration-Level
Stitching UVM Test benches into Integration-Level
Verification Reuse Simple (relatively) reuse: Difficult reuse
SystemVerilog for Verification
Srinivas Aluri Jaimin Mehta
Lecture 9: Testbench and Division
SystemVerilog and Verification
Presentation transcript:

by Adiel Khan Staff CAE Synopsys C through UVM: Effectively using C based models with UVM based Verification IP by Adiel Khan Staff CAE Synopsys Chris Spear, Kevork Dikramanjian, Abhisek Verma Synopsys Senay Haile Qualcomm

Agenda: Introduction Project Milestones The Testbench The Test Flow Stimulus Generation Reconfiguration Audio/Video Score-boarding Take Away!

Introduction The challenge for this project was to integrate the legacy C testbench used for HDMI stimulus generation with the HDMI UVM based VIP Ensure complete reuse of the C-based testbench and efficient usage of the HDMI UVM VIP The HDMI VIP uses UVM-compliant classes to represent protocol activity and the characteristics of that activity. The C testbench acts as a stimulus generator and creates the frame as per the HDMI protocol. The frame data is passed to the UVM based VIP, which drives them on signal interface as per the protocol

Project Milestones Define the communication between the C testbench and the UVM based VIP Develop the SystemVerilog Direct Programming Interface (DPI-C) code to transfer data from C to SystemVerilog side of testbench Transfer data between the C and SystemVerilog parts of the testbench with DPI-C Establish the connectivity between the C testbench, the UVM based VIP (source) and the DUT (sink) Configure the HDMI UVM VIP to run tests

The Testbench C COMPONENTS SNPS HDMI VIP QCOMM DUT

The Test Flow – 1/2 The UVM VIP enters build phase, deliberately skips the randomization of the configuration class and then enters the connect and run phases where it polls the test_done flag, set by the C model. The C model initializes and then calls test library functions to set high-level knobs. DPI-C functions are used to set fields which eventually go into SystemVerilog constraint blocks within the configuration class. Constraints include video, audio and packet mode and traffic profile.

The Test Flow – 2/2 The C model calls a SystemVerilog function which builds and randomizes the configuration class with the applied constraints The C model reads back low-level constraints which were solved by HDMI VIP and then configures the DUT with same constraints. C model starts HDMI traffic sequence in the VIP. In the UVM VIP, the sequence generates N transactions and sends it to driver and then to the DUT

Stimulus Generation – 1/2 The video frame stimuli needed to be generated from C test library and sent to the HDMI VIP via DPI-C tasks. The DPI-C export task sv_hdmi_send_frame_line() is invoked from C test library, and within the task a DPI-C import task c_hdmi_get_frame_line_pixels() is invoked from HDMI VIP to retrieve the frame line from C test library and pack it to the HDMI VIP sequence item for transmission.

Stimulus Generation – 2/2 C-side SV/UVM-side

Reconfiguration UVM models generally configure during build phase. Need to reconfigure the UVM model, once C testbench has determined its configuration Reconfigure architecture of the UVM model enables smooth integration with non-UVM testbenches.

Video Score-boarding By allowing the HDMI VIP to retrieve video frames from the C test library, the same video frame stimuli can be applied to both testbenches for producing golden memory dumps The video data scoreboard relied on the C reference testbench for reference video frames. The C reference testbench contains models which emulate the video processing functions found in the DUT. Once a C simulation completes the memory output file is used to validate the RTL simulation results. In this way the video data scoreboard acts as a post-process checker.

Audio Score-boarding Audio data was entirely generated and checked within the context of the HDMI Source VIP. A callback function within the UVM based HDMI Source monitor was used to extract reference audio samples and queue them up in the scoreboard for future comparison.

Take Away! Integrating Qualcomm legacy C testbench with the Synopsys HDMI UVM VIP helped pull in project verification schedule by at least 3 man months. The simulation performance was measured as a tradeoff between the relaxed System Verilog constraint solver efforts and overhead for DPI-C calls. Though the UVM based HDMI VIP was used to demonstrate this flow, the approach can be well leveraged with other VIPs and methodologies across various constrained random verification environments to increase the verification productivity

Thanks for your time!!