Professional Documents
Culture Documents
Coverage SC
Coverage SC
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Motivation Part A
Verification Gap
Various verification techniques to cope with growing
complexity
In dynamic verification
Coverage driven verification (CDV) with constraint
random stimuli generation, assertions,
Verification Techniques
ABV Assertion-based Verification
TBV Transaction-based Verification [1]
Verification Methodologies
OVM Open
p Verification Methodology
gy
UVM Universal Verification
Methodology
2011 Siemens AG and University of Paderborn 2
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Motivation Part B
Verification Plan Questions [2]
Does it work?
Monitoring
Assertions
Scoreboarding
Are we done?
Functional Coverage
Identify what actually happened!
Functional Coverage
- Investigate how much of the design specification has been exercised by simulation
runs
- User defined metric
Area of application
- C
Control
t l path
th coverage
- Quality of test pattern generation (identify coverage holes)
- Verification closure (Are we Done?)
2011 Siemens AG and University of Paderborn 3
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Agenda
User requirements
Implementation Approach
[1]
Foundation
Standard C++
Boost Libraries
(for Boost.Function)
OSCI SystemC
Library
Singleton Factory
Co s sts o
Consists of
API
Implementation of IEEE-1800 coverage metric
Implicit / explicit sampling tree
Connecting layer
2011 Siemens AG and University of Paderborn 7
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Bin Types
(normal) bin
ignore bin
illegal bin
default bin
cross bin
binsof, intersect
transition bin
vector matching
Hierarchy
covergroups
coverpoints
bins
bi
intervals
2011 Siemens AG and University of Paderborn 8
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Coverpoint type_options
Render coverage
metric
more precisely !
[5]
2011 Siemens AG and University of Paderborn 11
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Coverage Bins
Cross Bins
Transition Bins
Transition Bins
Tradeoff
Templated vs. Boost.Any
Extend transition bins to a regular-expression like functionality?
Use an assertion language to trigger coverage counters?
Ongoing Development!
2011 Siemens AG and University of Paderborn 15
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Sample Tree
Method
sample() sample(arg)
Hierarchy
Value
V l retrieval
ti l from
f registered
i t d C ll off sample(arg)
Call l ( ) on allll bins
bi
source
Coverpoint
Call of sample(value)
Value retrieval from registered
source Depending on the intervals the bin
Bin hits or not
Call of sample(value)
2011 Siemens AG and University of Paderborn 16
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Explicit Sampling
Explicit Sampling
Simulation Performance
Performance
Sampling data is passed via pointers or references FAST
toverhead = f (#intervals,
(#i t l sampling_granularity)
sampling granularity)
Database
Outlook
Unified Coverage Interoperability Standard (UCIS)
Developed by Accellera since 2006
2006, expected 2011
Non-implemented Features
open value ranges
clocking block signals
conditional guards to avoid sampling
Concerning Transitions
wildcards
dca ds spec
specification
cat o
repeat ranges in transitions
Build a metric!
Coverage type_options
t ti
Define min_hits, Goals, weights,
aGoals
uate met?
Evaluate Illegal
g bins hit?
Min hits met? Sufficient coverage?
2011 Siemens AG and University of Paderborn 24
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Evaluation - Hits
Evaluation - Hits
Summary
Outlook
Library
Implementation of missing features compared to SV
API improvements
Methodology
Enhancement of the multilange releases of OVM/UVM
Usage of the library with a OVM/UVM for SystemC with the OSCI
simulator
Database
Evaluate support for the upcoming Accellera UCIS Standard
(Unified Coverage Interoperability Standard)
2011 Siemens AG and University of Paderborn 28
Cooperative
Cooperative Computing
Computing && Communication
Communication Laboratory
Laboratory
Acknowledgement
References
[2] SystemVerilog
S t V il for f Verification
V ifi ti - A Guide
G id tot Learning
L i the
th Testbench
T tb h
Language Features, Second Edition, 2008
[4] P. Marriott. The What, When, and How Much of functional coverage.
EDA Tech Forum Journal. (2006, September)