Kent Ulrich - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Kent Ulrich

Description:

Code Coverage Tutorial Kent Ulrich First Pass Design, Inc. About the Instructor Kent Ulrich First Pass Design, Inc. MSEE - University of Illinois ASIC/FPGA Design and ... – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 14
Provided by: Ulr13
Category:
Tags: asic | design | kent | ulrich

less

Transcript and Presenter's Notes

Title: Kent Ulrich


1
Code Coverage Tutorial
  • Kent Ulrich
  • First Pass Design, Inc.

2
About the Instructor
  • Kent Ulrich
  • First Pass Design, Inc.
  • MSEE - University of Illinois
  • ASIC/FPGA Design and Verification
  • Twenty years as an independent consultant
  • email kent_at_firstpassdesign.com
  • web firstpassdesign.com

3
Questions
  • Ask at any time
  • - Just speak out
  • - Raise your hand only if Bus Contention
  • No such thing as a dumb question
  • Audience Assumptions
  • - Some knowledge about HDLs (Hardware Design
    Languages)
  • - Some familiarity with RTL (Register Transfer
    Level)

4
What are Coverage Tools?
  • Debugging aids which tells users how much of a
    RTL (Register Transfer Level) design has been
    exercised by a suite of verification tests
  • Available in standard simulators (Modelsim and
    Active-HDL)
  • Only work on RTL, not on primitives

5
Types of Coverage Tools
  • Code Coverage (also called Statement Coverage)
  • Branch Coverage
  • Toggle Coverage

6
Code Coverage(Also called Statement Coverage)
  • Code Coverage examines each executable statement
    and checks to see if the statement was executed
    during the simulations.
  • If a line of code wasnt executed, itss a safe
    bet that you didnt catch any bugs in it

Code Coverage
7
Branch Coverage(sometimes called Decision
Coverage)
  • Branch Coverage examines each branch of IF and
    CASE statements and checks to see if the branch
    was taken
  • If a branch wasnt taken, itss a safe bet that
    you didnt catch any bugs in it

Branch Coverage
8
Toggle Coverage
  • Toggle Coverage examines each signal to see if it
    was both 0 and 1
  • Different modes of toggle coverage - check your
    simulators documentation for details

9
Using Coverage Results
  • Results for several tests can be merged
  • Results can be viewed with a graphical tool which
    shows which lines of code have or have not been
    exercised

10
Why Use Coverage Tools?
  • Let you know it your tests have covered all of
    the design
  • Adds very little, if any, overhead to your run
    time

11
Important Things to Remember
  • Coverage tools do not grade your tests.
  • High coverage percentages only tell you that
    exercised most of your code
  • Necessary, but not Sufficient
  • Need to sample outputs such that your tests
    actually detect changes in all of the exercised
    code

12
Testbench and Models
  • Perform coverage on your testbench and models as
    well as UUT (unit under test)
  • Unexercised paths in your testbench may tip you
    off to something that you didnt test

13
Summary
  • Coverage Tools are available in standard
    simulators (ModelSim and Active-HDL)
  • Code Coverage
  • Branch Coverage
  • Toggle coverage
  • Very little overhead
  • Need to make sure changes are propagated to
    outputs and sampled
Write a Comment
User Comments (0)
About PowerShow.com