Tools - Functional Verification - Lecture Slides, Slides of Computer Science

These are the Lecture Slides of Functional Verification which includes Reusable Verification Components, Verilog Implementation, Implementation, Autonomous Generation and Monitoring, Input and Output Paths, Verifying Configurable Designs, Reusable Test Harness, Testcase Specific Code, Abstraction etc. Key important points are: Tools, Automation Improves, Verification Process, Efficiency, Reliability, Simulator, Automate Tedious Tasks, Confidence, Third Party Models, Hardware Modelers

Typology: Slides

2012/2013

Uploaded on 03/22/2013

dhritiman
dhritiman 🇮🇳

4.7

(6)

106 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Lecture 5 - Verification Tools
Automation improves the efficiency and
reliability of the verification process
Some tools, such as a simulator, are
essential. Others automate tedious tasks
and increase confidence in the outcome.
It is not necessary to use all the tools.
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Tools - Functional Verification - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

Lecture 5 - Verification Tools

  • Automation improves the efficiency and

reliability of the verification process

  • Some tools, such as a simulator, are

essential. Others automate tedious tasks

and increase confidence in the outcome.

  • It is not necessary to use all the tools.

Lecture Overview

  • Will look at the other tools used in verification
    • Third party models
    • Hardware modelers
    • Waveform viewers
    • Code coverage tools
    • Verification languages
    • Revision control
    • Configuration management
    • Issue tracking
    • Metrics

Hardware Modelers

  • Are for modeling new hardware. Some hardware may be too new for models to available - Example: In 2000 still could not get a model of the Pentium III
  • Sometimes cannot simulate enough of a model in an acceptable period of time

Hardware Modelers (cont)

  • Hardware modeler features
    • Small box that connects to network that contains a real copy of the physical chip
    • Rest of HDL model provides inputs to the chip and obtains the chips output to return to your model

Code Coverage

  • A technique that has been used in software engineering for years.
  • By covering all statements adequately the chances of a false positive (a bad design tests good) are reduced.
  • Never 100% certain that design under verification is indeed correct. Code coverage increases confidence.
  • Some tools may use file I/O aspect of language and others have special features built into the simulator to report coverage statistics.

Adding Code Coverage

  • If built into simulator - code is automatically instrumented.
  • If not built in - must add code to testbench to do the checking

Statements and Blocks

  • Statement coverage can also be called block coverage
  • The Model Sim simulator can show how many times a statement was executed
  • Also need to insure that executed statements are simulated with different values
  • And there is code that was not meant to be simulated (code specifically for synthesis for example)

Path Coverage

  • Measures all possible ways you can execute a sequence of statements
  • Example has four possible paths

Expression Coverage

  • A measure of the various ways paths through code are taken
  • Example has 100% statement coverage but only 50% expression coverage

100% Code Coverage

  • What do 100% path and 100% expression coverage mean?
    • Not much!! Just indicates how thoroughly verification suite exercises code. Does not indicate the quality of the verification suite.
    • Does not provide an indication about correctness of code
  • Results from coverage can help identify corner cases not exercised
  • Is an additional indicator for completeness of job
    • Code coverage value can indicate if job is not complete

Revision Control

  • Need to insure that model verified is model used for implementation
  • Managing a HDL-based hardware project is similar to managing a software project
  • Require a source control management system
  • Such systems keep last version of a file and a history of previous versions along with what changes are present in each version

Configuration Management

  • Wish to tag (identify) certain versions of a file so multiple users can keep working
  • Different users have different views of project

Issue Tracking

  • It is normal and expected to find functional irregularities in complex systems
  • Worry if you don’t!!! Bugs will be found!!!
  • An issue is anything that can affect the functionality of the design - Bugs during execution of the testbench - Ambiguities or incompleteness of specifications - A new and relevant testcase - Errors found at any stage
  • Must track all issues if a bad design could be manufactured were the issue not tracked

Issue Tracking Systems

  • The Grapevine
    • Casual conversation between members of a design team in which issues are discussed
    • No-one has clear responsibility for solution
    • System does not maintain a history
  • The Post-it System
    • The yellow stickies are used to post issues
    • Ownership of issues is tenuous at best
    • No ability to prioritize issues
    • System does not maintain a history