Title: A Data Flow Fault Coverage Metric For Validation of Behavioral HDL Descriptions
1A Data Flow Fault Coverage Metric For Validation
of Behavioral HDL Descriptions
- Qiushuang Zhang and Ian G. Harris
- Dept. of Electrical Computer Engineering
- University of Massachusetts, Amherst
- qzhang_at_ecs.umass.edu, harris_at_ecs.umass.edu
2Motivation
- Verification is a bottleneck in system design
- - Huge costs
- - Increasing time-to-market
- Simulation-based Validation is the predominant
verification method - - Manually or randomly generate test vectors
- - Lack of measurement of confidence
We propose a new metric to measure adequacy of
test vectors
3Outline
- Overview of system design flow
- Introduce data-flow coverage metric
- Present our data-flow metric approach and results
- Conclusions and future work
4System Design Flow
Our focus
5Coverage Metrics
- Coverage metrics measure the degree of validation
achieved - Coverage metrics guide the test vector generation
6Current Coverage Metrics
simple
- Code based coverage
- - Consider designs as a set of statements
- Structural based coverage
- - Consider designs as control and data flows
- FSM based coverage
- - Consider designs as FSMs
complicated
7Data Flow of HDL Descriptions
Process Begin
- PROCESS BEGIN
- Wait until clockevent and clock 1
- If (B 0) then
- Zout lt P Q
- Else
- Zout lt P Q
- End if
- If (A 0) then
- P lt C D
- Else
- P lt C D
- End if
- END PROCESS
1
2
3
5
7
8
10
End Simulation Cycle
End Process
8Definition Use Occurrence
- If (B 0) then
- Zout lt P Q
- Else
- Zout lt P Q
- End if
- If (A 0) then
- P lt C D
- Else
- P lt C D
- End if
Process Begin
1
2
Pu
Pu
3
5
Definition Occurrence A statement where a value
is bound to the signal or variable. Use
Occurrence A statement which refers to the value
of the signal or variable.
7
8
10
Pd
Pd
End Simulation Cycle
End Process
9Definition-Use (du) Pairs on Data Flow
Process Begin
Definition-Use (du) pairs
1
2
Pu
Pu
3
5
7
8
10
Pd
Pd
End Simulation Cycle
End Process
10Definition-Use (du) Pairs on Data Flow
Process Begin
Definition-Use (du) pairs
1
2
Pu
Pu
3
5
7
8
10
Pd
Pd
End Simulation Cycle
End Process
11Definition-Use (du) Pairs on Data Flow
Process Begin
Definition-Use (du) pairs
1
2
Pu
Pu
3
5
7
8
10
Pd
Pd
End Simulation Cycle
End Process
12Definition-Use (du) Pairs on Data Flow
Process Begin
Definition-Use (du) pairs
1
2
Pu
Pu
3
5
7
8
10
Pd
Pd
End Simulation Cycle
End Process
13Requirement of All du Pairs Metric
- Definition clear path w.r.t. signal or variable
X A path in the flow graph without definition
occurrence of X. - Requirement Definition clear paths from every
definition to every use of the same signal or
variable are executed by test vectors. - Example For signal P, 4 du pairs are required to
execute. - 8? 3, 8 ? 5, 10 ? 3 and 10 ? 5.
14Why All du pairs?
xd x in1 ? x 2 in1 (fault)
xu1 if (x 0) then
xu2 else if (x lt 3) then xu3 y
lt x y else
end if
- d-u1 cannot detect the fault
- d-u2 may detect the fault
- d-u3 can detect the fault.
- Specific faults may not be detected by a
particular use. - All du pairs requirement ensures that each
definition is used in every context.
15All du Pair Coverage Approach
- Step 1 Identify all du pairs of the HDL
description which are required to execute. - Step 2 Simulate the HDL description with
candidate test patterns. - Step 3 The fraction of executed du pairs is the
all du pairs coverage.
16All du Pairs Coverage Results
- All du pairs coverage is less than or equal to
statement coverage. - There may be undetected faults associated with
unexplored du pairs.
17Conclusions and Future Work
- Introduce the importance of coverage metrics for
validation - Present our all du pairs metric approach and
results - In future, improve the all du pairs metric to
consider observability - Use results of all du pairs metric analysis to
guide generation of new test vectors
18Fault Coverage Metrics Comparison