Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.

Slides:



Advertisements
Similar presentations
Automotive Embedded System Development in AUTOSAR
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
1 SDMX Reference Infrastructure (SDMX-RI) Work in progress, status and plans Bengt-Åke Lindblad, Adam Wroński Eurostat Eurostat Unit B3 – IT and standards.
© 2013 IBM Corporation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Erez Bilgory Alex Goryachev Ronny.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
by Adiel Khan Staff CAE Synopsys
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.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
Synchron’08 Jean-François LE TALLEC INRIA SOP lab, AOSTE INRIA SOP lab, EPI AOSTE ScaleoChip Company SoC Conception Methodology.
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,
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Embedded Architecture Description Language Qiang Liu School of Software, Tshinghua University Joint work with Juncao Li, Nick Pilkington, and Fei Xie Dept.
1 Evgeny Bolotin – ICECS 2004 Automatic Hardware-Efficient SoC Integration by QoS Network on Chip Electrical Engineering Department, Technion, Haifa, Israel.
Creating Test Environments HDL Model HDL Testbench Simulation Engine API stimulus check Testbench Program stimulus check Non-HDL languages may be used.
6/30/2015HY220: Ιάκωβος Μαυροειδής1 Moore’s Law Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Role of Standards in TLM driven D&V Methodology
The Design Discipline.
4.x Performance Technology drivers – Exascale systems will consist of complex configurations with a huge number of potentially heterogeneous components.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
Presenter: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
Cluster Reliability Project ISIS Vanderbilt University.
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.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
MDS Global IT Strategy Discussion July 7, Agenda  IntroductionErnest  Strategic directionsGanesh  DiscussionAll  Next stepsErnest.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
SystemVerilog. History Enhancement of Verilog Enhancement of Verilog 2002 – accellera publishes SystemVerilog – accellera publishes SystemVerilog.
A Light-Weight C/C++ Based Tool for Hardware Verification Alexander Kamkin CTestBench Institute for System Programming of the Russian.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
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.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
TTCN-3 MOST Challenges Maria Teodorescu
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Automated Generation of the Register Set of a SOC and its Verification Environment K. Poulos, K. Adaos, G.P. Alexiou Dept. of Computer Engineering and.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Macro Verification Guidelines Chapter 7.. Chap 7. Macro Verification Guidelines The goal of macro verification The macro is 100 percent correct in its.
SVA Encapsulation in UVM enabling phase and configuration aware assertions by Mark Litterick Verification Consultant Verilab GmbH, Munich, Germany.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
Rational Unified Process (RUP)
UML - Development Process 1 Software Development Process Using UML.
INCOSE IW12 MBSE Workshop 15 INCOSE (MBSE) Model Based System Engineering Integration and Verification Scenario Ron Williamson, PhD Raytheon
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
J2EE Platform Overview (Application Architecture)
Gopakumar.G Hardware Design Group
ITEA3 Project: ACOSAR Advanced Co-Simulation Open System Architecture
environment infrastructure
MLWG - User Requirements
Yikes! Why is my SystemVerilog Testbench So Slooooow?
Srinivas Aluri Jaimin Mehta
SystemVerilog and Verification
Presentation transcript:

Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics

Sponsored By: 2 of (total number of slides) Agenda Block-level verification techniques SoC-level verification and the testbench gap UVM Software-Driven Verification package

Sponsored By: 3 of (total number of slides) Block-level Verification Verification from the outside in –Plan, create scenarios to verify –Apply at the design interfaces –Confirm correctness of results Over a decade of tool development and standardization –Automation Constrained random generation Intelligent testbench automation –Standardization – Verilog, VHDL, SystemVerilog –Methodology and reuse AVM,OVM,VMM,UVM

Sponsored By: 4 of (total number of slides) SoC Verification Software central to design operation Verification from the outside in –VIP connected to design interfaces Verification from the inside out –Software running on the processor Challenges –Difficult to coordinate Hw, Sw scenarios –Little or no automation for Sw test creation –Difficult to extract data from Sw test

Sponsored By: 5 of (total number of slides) Gap? What Gap? Hardware Domain Info Test configuration Automated test stimulus Analysis-data collection Hw scenario control Software Domain Info Info/error messages Software state Sw scenario control

Sponsored By: 6 of (total number of slides) The Need Isn’t New Hw/Sw Testbench connections aren’t new Often addressed environment-specific requirements –Signal software test pass/fail –Obtain randomized data Often proprietary –Project / company specific –Difficult to reuse Not UVM-centric –Connecting existing UVM infrastructure requires work

Sponsored By: 7 of (total number of slides) What is the UVM SDV Package? UVM-based package to enable Software-Driven Verification –Connects Hw and Sw domains –Simplifies coordination of Hw/Sw verification scenarios Scalable across environments –Block-level verification in simulation –SoC-level in simulation –SoC-level in emulation Light-weight Sw components –Small memory footprint –Low processing overhead

Sponsored By: 8 of (total number of slides) UVM SDV Architecture ‘C’ API SystemVerilog UVM-based classes Modular communication mechanism between Hw/Sw –Shared memory –DPI App-level services –Hw/Sw synchronization –Sw stimulus from UVM –Sw state to UVM –Sw-initiated Hw stim

Sponsored By: 9 of (total number of slides) Base Hw/Sw Synchronization Sw API to pack/unpack data structures Obtain Configuration information from UVM –Test-customization parameters Send Sw messages to UVM –Enables common management of Hw/Sw status –Reduced overhead vs printf via UART Sw control of objections –Enables Sw to participate in test termination

Sponsored By: 10 of (total number of slides) SW Stimulus from UVM Enables SW to drive stimulus generated in UVM Sequence item packed/unpacked by UVM API Item unpacked by SDV ‘C’ API Reuse existing UVM –Sequences –Sequence items –Sequencers

Sponsored By: 11 of (total number of slides) SW Stimulus from UVM SW-side Implementation Software implements the UVM driver component ‘C’ API mirrors UVM sequencer-port API Initialize Sw driver Get sequence item Signal item done req_txn req, rsp; uvm_sdv_sequencer_driver_t txn_drv; uvm_sdv_sequencer_driver_init(&txn_drv, “*.m_sdv_driver”, // inst path of drv &req_txn_unpack, // unpack function &rsp_txn_pack); // pack function while (true) { uvm_sdv_sequencer_driver_get_next_item( &txn_drv, &req); uvm_sdv_sequencer_driver_item_done( &txn_drv, &rsp); }

Sponsored By: 12 of (total number of slides) SW State to UVM SW API exposes SW state via UVM analysis port Enables analysis of SW state in UVM –Scoreboard –Coverage More efficient than printf –Reduce analysis overhead Example: –printf via UART: 1600uS –Analysis port: 50uS

Sponsored By: 13 of (total number of slides) SW State to UVM SW-side Implementation SW initializes an analysis port –Specifies path of publisher in UVM environment Initialize analysis port Perform operation Read Sw state Publish to UVM env uvm_sdv_analysis_port ap; sw_txn state; uvm_sdv_analysis_port_init( &ap, “*.m_state_pub”, &sw_txn_pack); while (true) { process_data(); state.A = read_A(); state.B = read_B(); uvm_sdv_analysis_port_write( &ap, &state); }

Sponsored By: 14 of (total number of slides) Initiate UVM Stimulus from SW SW can launch sequences in UVM environment –Launch any sequence on any agent SW can monitor completion

Sponsored By: 15 of (total number of slides) Initiate UVM Stimulus from SW SW-side Implementation Sequence-launch call specifies –Sequence name –Sequencer path Start is non-blocking API returns run status uint32_t id; id = uvm_sdv_sequence_start( “traffic_gen_seq”, “*.traffic_seqr”); // Perform other operations while // the sequence is running while (uvm_sdv_sequence_is_running(id)) { // Run software activity process_data(); }

Sponsored By: 16 of (total number of slides) Extensibility Graph-Based Stimulus Extension API provided for new applications Coordinated Hw/Sw tests benefit from stimulus that is –Sequential –Dynamically reactive to Hw/Sw state Graph-Based Stimulus –Procedural interaction with Sw –Stimulus/feedback mixed Enables description of complex scenarios

Sponsored By: 17 of (total number of slides) UVM Software-Driven Verification Reusable infrastructure –Easily customized for specific environment Connects Hw and Sw domains –Extends UVM services to Sw domain –Extensible to domain-specific applications Enables automation and visibility –Automated stimulus generation Random, Intelligent –Sw-state visibility Enables coordinated Hw/Sw tests

Q&A