Verification Plan & Levels of Verification

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Developed by Reneta Barneva, SUNY Fredonia
Testing and Quality Assurance
Ch 3: Unified Process CSCI 4320: Software Engineering.
Alternate Software Development Methodologies
Verification Plan. This is the specification for the verification effort. It gives the what am I verifying and how am I going to do it!
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
System-Level Verification –a Comparison of Approach Ray Turner Rapid Systems Prototyping, IEEE International Workshop on.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Introduction to Software Testing
Digital Circuit Implementation. Wafers and Chips  Integrated circuit (IC) chips are manufactured on silicon wafers  Transistors are placed on the wafers.
Release & Deployment ITIL Version 3
Software Integration and Documenting
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
S oftware Q uality A ssurance Part One Reviews and Inspections.
CMSC 345 Fall 2000 Unit Testing. The testing process.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Verification Plan & Levels of Verification
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.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
EE694v - Verification - Lect Lect 12,13,14 – 762 Testbenches Lets look at the EE 762 testbenches Look at stimulus generation techniques Look at response.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
EE694v - Verification - Lect 12
Chapter (12) – Old Version
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Design and Documentation
ASIC Design Methodology
Chapter 4: Business Process and Functional Modeling, continued
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Engineering (CSI 321)
Testing Process Roman Yagodka ISS Test Leader.
Digital System Verification
Lect 11 - Stimulus & Response
Verification and Testing
1. Welcome to Software Construction
IEEE Std 1074: Standard for Software Lifecycle
Verification & Validation
Object oriented system development life cycle
Some Simple Definitions for Testing
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
CHAPTER 2 Testing Throughout the Software Life Cycle
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction to Software Testing
System-level verification and Board level verification
Software System Integration
Lect 11 - Stimulus & Response
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
L9 - Verification Strategies
IEEE Floating Point Adder Verification
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Practical Database Design and Tuning Objectives
Presentation transcript:

Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification document Verification success Levels of verification EE694v-Verification-Lect7

EE694v-Verification-Lect7 The Verification Plan Just as a design meets a specification, the verification plan is the specification for the verification effort. Defines What is success How a design is to be verified Functional correctness Which programs and testbenches to write Schedule for verification effort EE694v-Verification-Lect7

EE694v-Verification-Lect7 In The Past Verification was left to each designer to do as they wished Verification was done as time allowed Emphasis was “does chip work?” Have progressed from “does chip work?” to Does chip work in the system? Does chip work in the system as specified? Does the system work as specified? EE694v-Verification-Lect7

EE694v-Verification-Lect7 Today’s Environment Wish to have system integration go smoothly Simulate chip(s) in system environment to identify problems early, preferably during design and prior to fabrication Tools that, if effectively used, can help Simulation Linting Other tools EE694v-Verification-Lect7

Specifying the Verification When will verification of design be completed to the required degree of confidence Must determine How much work verification will require How many people are needed for the verification effort How long will the verification effort take EE694v-Verification-Lect7

Design Specification Document Verification effort relies on a complete specification document Must be a written document Is the common source for both the design’s implementation and its verification When design’s output is not as expected this document helps determine whether the design is correct (verification in error) or not (verification correct) EE694v-Verification-Lect7

The Plan & 1st Time Success The verification plan defines what success is Insures all essential features of design are appropriately verified Documents which features are essential and which are optional Not all features of the final design need be included in defining 1st time success Final success requires that all features in the final design are working and verified so. EE694v-Verification-Lect7

Levels of Verification As the level of focus changes, what is being verified changes also The level of granularity is also included in the plan Best partitions to verify are those where controllability and observability are best Controllability and observability are concepts from fault tolerance and circuit testing Partitions being verified must have relatively stable functionality and interfaces EE694v-Verification-Lect7

Unit-Level Verification Design units are logical partitions and vary from small to large, simple to complex Small/Simple - FIFO, small state machine Large/Complex - PCI slave interface, DSP datapath Often have interfaces that are not fixed and firm The interface many be configurable for the application Often functionality is not yet fixed and firm Any reasonable size project will have a large number of design units Verification of the entire design at this level would probably be too time consuming EE694v-Verification-Lect7

Reusable Component Verification Component is designed to its own specification Component intended to be used as-is in many different designs Typically the component implements a common function or allows connection to a standardized interface Component is used in many designs - focus is on its functionality Potential users must have confidence that design is indeed correct EE694v-Verification-Lect7

ASIC & FPGA Verification These units form a physical and possibly a logical partition Often have their own specification Often contain a collection of independently designed and verified components Todays ASICs and FPGAs are too complex to verify and debug during integration. Need verification for them prior to synthesis or downloading the programming. EE694v-Verification-Lect7

System-Level Verification There are many definitions for a system!!! In the book - “a system is a logical partition composed of independently verified components.” System could be composed of a few reusable components a subset of an SoC ASIC ASICs (or part of ASICs) on different boards Focuses on interaction between components Relies on individual components being functionally correct EE694v-Verification-Lect7

Board-Level Verification Confirm that component connectivity is correct Some components on boards, such as capacitors, do not translate easily to digital domain Depending on the complexity level, could be used to verify functionality (as with any other level) Must make sure what is verified is what is manufactured (as with all levels) EE694v-Verification-Lect7

Development of a Verification Plan Factors that are important Level of verification Level of complexity of the unit/system Type of unit/system Level of confidence needed Must analyze the operational space in analyzing the level of confidence that can be placed in the verification effort. EE694v-Verification-Lect7

EE694v-Verification-Lect7 Plan Content What goes into verification plan? Description of what is to be verified Analysis of tests to be applied Divided up into sets to test the various aspects of the test domain space An analysis of the complete test space and how the various aspects interface For example – two normalized numbers can produce overflow to infinity, zero, a denormalized number even though in most cases it results in a normalized result. EE694v-Verification-Lect7

EE694v-Verification-Lect7 Plan Content How are the tests to be generated Test sets and the program(s) to generate them are specified. Test to adequately tests for the regions identified Most likely also generate the expected result so that self checking can be done. The Testbench(s) that will be used to apply the tests and check the results. (self checking) How will it be constructed. Will the tests be integral to the testbench or read from a file. EE694v-Verification-Lect7

EE694v-Verification-Lect7 The Plan (cont) Essential elements of the plan Definition of Verification Success How do you know you are done? When have you tested enough? This is formally defined in the Verification Plan Verification Schedule A pert chart with the tasks and a schedule for the tasks assigned to members of the team. A failure to plan is a plan to …….. EE694v-Verification-Lect7