February 28 – March 1, 2012

February 28 – March 1, 2012
Graph-IC Verification
by
Gregory FAUX
Verification Engineer
STMicroelectronics
Dennis RAMAEKERS
Verification Engineer
ST-Ericsson
Hello!
• Why are we here?
– Report of our experience in verifying a complex and
highly configurable IP
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
2 of 22
GRAPH-IC
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
3 of 22
DUT Overview
• Display engine:
–
–
–
–
Fetch data
Process pixels
Output video formating
Multi channel / overlays
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
4 of 22
Where Complexity Explodes…
• Each stage presents high configurability
• High flexibility achieved by decoupling each stage
Memory
Memor
Buffer
yBuffer
Buffer
Buffer
Buffer
Buffer
PP1
PP1
PP2
PP2
PP n
PP n
• Legal configurations are hard to generate, with
complex resources management
• … recurrent problem raised @each verification level
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
5 of 22
CRV LIMITATIONS
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
6 of 22
Original Approach
• Constraint Random Verification (VIPs, scbd, sequences…)
• C reference model
Virtual
sequences
Test Bench
Model
Scoreboard
VIP
i
f
0
DUV
i
f
1
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
VIP
7 of 22
Constraints Based Modeling
• Multiple stages, each requiring a large constraints set
• Additional constraints required to ensure valid data path
• Data paths can be multiple and re-configurable
High
configurability
Flexible data path
Resource
Management
Tedious generation of legal configurations !
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
8 of 22
Challenges
• Coverage closure
– Constraints set was hard to develop and maintain
– Huge test suite
– Some scenario still missing
• Horizontal reuse
– Important constraint subset tightly linked to IP version
• Vertical reuse
– Different verification approaches and languages
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
9 of 22
GRAPH BASED VERIFICATION
MAIN CONCEPTS
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
10 of 22
Overview
• User describes sequential steps required to generate
verification scenario using graph
Three Types of Goals
Sequence Goal – evaluate ALL children
Select Goal – evaluate ONE child
Leaf Goal – has NO child
• Nodes can be used to perform
– Configuration generation
– TB interaction: data injection/grabbing, synchronization on events
– File generation
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
11 of 22
Graph Evaluation
• Ordered graph walk
• Multiple and concurrent evaluations are possible
• Executing a node means evaluating the corresponding C++
function
goal sequence0 {…}
goal sequence1 {…}
goal leaf2 {…}
goal select1 {…}
goal leaf3 {…}
goal leaf1 {…}
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
12 of 22
Graph Evaluation (cont’d)
• Constraints can be applied to any select child
– If masked, a child will never be selected
– If forced, a child will always be selected
• Constraints can be static and/or dynamic
• Goal may be redefined (body and subgraph)
new
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
13 of 22
APPLICATION
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
14 of 22
Application On Our Controller
IP Testbench
Virtual
Scenario
sequences
Driver
Test Bench
Model
Scoreboard
VIP
i
f
0
DUV
i
f
1
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
VIP
15 of 22
Application On Our Controller
System Test Generation
Test Bench
C program
Infra
IP
CPU
Infra
IP
Mem
Interconnect
System
M2M
IP
I/O IP
I/O IP
VIP
VIP
Scenario Driver
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
16 of 22
Graph Overview
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
17 of 22
BENEFITS
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
18 of 22
Coverage Closure
• The sequential nature of graph evaluation permitted
• An easy decomposition of the original problem
• An easy datapath modeling
• Smooth resources management
• Generation of unexplored scenario
• New bugs found
• Re-writing of the test suite
• From basic to very complex tests
• Faster Verification closure
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
19 of 22
Horizontal reuse
Maintenance and IP derivatives
• Easy derivatives support via several select and leaf goals
redefinitions
• Project independent common pool of files for easy
maintenance
• Few configuration specific files are needed per IP
version
Common
new
Project
specific
• Time to first valid test divided by 2
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
20 of 22
Vertical Reuse
From IP to SoC
• Most of the graph model is common to both platforms
• Natural split between nodes that are platform agnostic and
those which are not
Drive VIP
Write C
VIP
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
C
program
21 of 22
Conclusion
• CRV faces some limits on really complex IPs
• Our experience with Graph Based Verification was positive
– Productivity and quality improved
• We applied it @IP and @SoC
– Vertical reuse enabler
– System tests (deployment on-going)
Gregory Faux (STMicroelectronics), Dennis Ramaekers (ST-Ericsson)
22 of 22