February 25-28, 2013 DoubleTree, San Jose

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Using emulation for RTL performance verification
Chapter 2Test Specification Process. n Device Specification Sheet – Purpose n Design Specification – Determine functionality of design n Test List Generation.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Universal Verification Methodology (UVM) Benefits Mustafa Khairallah Boost Valley Boost Valley Consulting 1.
CSI 101 Elements of Computing Spring 2009 Lecture #2 Development Life Cycle of a Computer Application Monday January 26th, 2009.
Calc2 Design Allows up to 4 incomplete requests on each port Tag is required to match request to response.
WSN Simulation Template for OMNeT++
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
Introduction to Software Testing
Static testing Elena Rudovol February, 13, Sitecore. Compelling Web Experiences Page 2 What is static testing? Static Testing do.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Presented by Brian Griffin On behalf of Manu Goel Mohit Goel Nov 12 th, 2014 Building a dynamic GUI, configurable at runtime by backend tool.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Testing Lifecycle Practice
Simulation Management. Pass or Fail? Managing Simulations Regression Behavioral Models.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
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.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
The First in GPON Verification Classic Mistakes Verification Leadership Seminar Racheli Ganot FlexLight Networks.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
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.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
What is Software Engineering? The discipline of designing, creating, and maintaining software by applying technologies and practices from computer science,
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
EMBEDDED REAL-TIME, INC. December 8, 2015 Java Unit Mark Mosher Rochester Java Users Group.
Macro Verification Guidelines Chapter 7.. Chap 7. Macro Verification Guidelines The goal of macro verification The macro is 100 percent correct in its.
Verification of FT System Using Simulation Petr Grillinger.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
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.
© Copyright Alvarion Ltd. SVA Dafna Senderovich Jan 2006.
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Dynamic Testing.
Exploiting Architecture For Verification Dave Whipp.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
Integrating the Code during the Development Alexander Vakrilov Telerik Corporation
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
INCOSE IW12 MBSE Workshop 15 INCOSE (MBSE) Model Based System Engineering Integration and Verification Scenario Ron Williamson, PhD Raytheon
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Practical Methods in Coverage- Oriented Verification of the Merom Microprocessor Alon Gluska.
Building Enterprise Applications Using Visual Studio®
Software Engineering (CSI 321)
The Development Process of Web Applications
Digital System Verification
FESA evolution and the vision for Front-End Software
Teaching The Art of Verification
Software testing strategies 2
Introduction to Software Testing
Baisc Of Software Testing
L9 - Verification Strategies
PPT and video are due no later than February 15, 2019
Software Testing Lifecycle Practice
Template for Presentation (feel free to customize look)
Presentation transcript:

February 25-28, 2013 DoubleTree, San Jose Using UVM: The Condensed Guide For Designers, Debuggers, Test-Writers And Other Skeptics by Gordon Allan Verification Methodologist Mentor Graphics Corp, Fremont CA

What's it all about? Team, not Tech Results, not Process The Chip, not the UVM Abstraction that Simplifies Questions & Answers

What's it all about? Team, not Tech Results, not Process Design/Verification is a craft, not a science One part Technology, Two parts Peopleware Results, not Process The Chip, not the UVM Abstraction that Simplifies Questions & Answers

Peopleware Verification Design Management Architecture Infrastructure DUT-specific Protocol-specific Design Micro-architecture RTL coding Integration Management

Usability Requirements design team is a customer capture user interface requirements monitor ease of use... and fix it customer is always right...?

Usability Requirement: Concurrent Development DUT first? missed architectural defects verification on schedule critical path Testbench first? fragile checking - too many fails difficult to prioritize features/depth DUT and Testbench in parallel incremental, prioritized features address hotspots, design intent at the time design/verification teamwork

Murphy's Law > Moore's Law

Usability Requirement: Zero UVM or OOP knowledge Typical activities: execute a test turn on some debug clone and tweak a testcase Templates basic test structure config/setup/stimulus knobs catch common errors

What's it all about? Team, not Tech Results, not Process Success: "On Time" and "No Bugs" Tradeoff triangle: Quality vs Cost vs Scope The Chip, not the UVM Abstraction that Simplifies Questions & Answers

Usability Requirement: A config parameter 'Dashboard' locate all config settings together easy reference and modification document of each config group how they are set where they are used document each setting defaults available values how randomized and constrained

Usability Requirement: A debug settings dashboard Debug settings are: in SV/UVM code on simulator command line simulator-specific debug features Often cryptic need to read several reference docs Set and/or document in one file e.g. debug.svh one-stop diagnostic panel

What's it all about? Team, not Tech Results, not Process The Chip, not the UVM Relevant tools and technology Measure contribution, not complexity Abstraction that Simplifies Questions & Answers

Usability Requirement: A well-defined signal interface single SV file e.g. top.sv or dut.sv single module defines the DUT from the testbench's point of view all interface hookup to DUT pins including internal test/force/backdoor avoid unnecessary indirection if required, document and log it

Usability Requirement: Easy DUT programming model a simple representation DUT registers other dynamic config / state accessible to testcase writers easy to setup DUT internals easy to determine DUT state easy to synchronize to high level events

Abstraction How to make sense of a complex design?

Abstraction Code? does not simplify transformation, not abstraction

Abstraction UML? Missing the point a different representation attempts to modularize Missing the point abstraction is supposed to simplify!

Abstraction A simple, easy, intuitive, user interface ALL details hidden

Usability Requirement: Easy DUT programming model a simple representation DUT registers other dynamic config / state accessible to testcase writers easy to setup DUT internals easy to determine DUT state easy to synchronize to high level events

What's it all about? Team, not Tech Results, not Process The Chip, not the UVM Abstraction that Simplifies Reduces Complexity Leverages Knowledge Does not Impose Burdens Questions & Answers

Usability Requirement: Protocol-centric Stimulus API Test scenarios how to set up what to do Time domain what to synchronize how to parallelize/overlap Results checking what to test Predefined Templates AND manual overrides

Usability Requirement: A standard waveform setup Structured DUT activity leverage the well-defined interface hookup protocol-centric signal groups standard abstractions (enums, constants) Abstracted testbench activity progress of tests, stimulus, checks transactions, related to signal groups Rapid comprehension maintained in sync with changing design

What's it all about? Team, not Tech Results, not Process The Chip, not the UVM Abstraction that Simplifies Questions & Answers mailto:gordon_allan@mentor.com http://verificationacademy.com