STE - the Primary Validation Vehicle for Processor Graphics FPU
M, Achutha Kiran Kumar V Aarti Gupta; Rajnish Ghughal CMI @ 9 Jan 2013
STE - the Primary Validation Vehicle for Processor Graphics FPU M, - - PowerPoint PPT Presentation
STE - the Primary Validation Vehicle for Processor Graphics FPU M, Achutha Kiran Kumar V Aarti Gupta; Rajnish Ghughal CMI @ 9 Jan 2013 STE - the Primary Validation Vehicle for Processor Graphics FPU M, Achutha Kiran Kumar V Aarti Gupta Jr.;
STE - the Primary Validation Vehicle for Processor Graphics FPU
M, Achutha Kiran Kumar V Aarti Gupta; Rajnish Ghughal CMI @ 9 Jan 2013
STE - the Primary Validation Vehicle for Processor Graphics FPU
M, Achutha Kiran Kumar V Aarti Gupta Jr.; Rajnish Ghughal CMI @ 9 Jan 2013
3
Purpose
effectively applied to validate a re-architected FPU in short runway GT project
from the beginning of the project
4
Agenda
ext t Gen en GT FP FPU U Va Val l risk
esult ults
STE E O Overvi erview ew
GT ST STE E impl plementation ementation Ch Chal allenges lenges
5
Agenda
ext t Gen en GT FP FPU U Va Val l risk
esult ults
STE E O Overvi erview ew
GT ST STE E impl plementation ementation Ch Chal allenges lenges
6
NextGenGT FPU Validation Challenges
Activi vity ty Chal allenge lenge Posed ed Complete re-architecture of FPU Validate all uops within limited timeframe RTL and C++ Checker concurrent development Need an alternate validation methodology to check the coded RTL New Requirement: IEEE compliance for precision and exceptions Perfect methodology to check for precision and ieee compliance similar to CPU implementations Increased scope of denormal handling for all precisions Dataspace explodes by 2X New FMA architecture To verify Sea of multipliers implementation Complex Programming capability Need to verify all permutations with increased data space
7
Contemporary Methodologies at a glance
Validati tion
ique Methodology hodology Refer eren ence ce Model del DV# V#1 Dynamic validation of targeted interesting dataspace cases vectors generated by tool C++ based Ref model DV# V#2 Dynamic validation of controlled random vector generation C++ based Ref model DV# V#3 Dynamic validation using standard random test bench features
C++ based Ref model FV# V#2 Formal Verification using a standard industrial tool C++ based specification Need of the hour: A verification methodology that could meet the project timeline requirements Solution: A Formal Verification Methodology suitable for proving Arithmetic circuits:
Symbolic Trajectory Evaluation (STE)
8
Agenda
BDWGT WGT FP FPU Va Val l risk
esult ults
STE E O Overvi erview ew
GT ST STE E impl plementation ementation Ch Chal allenges lenges
9
Operation “FV Bug Hunt”
What gave STE an edge over other verification methodologies in Next Gen GT?
10
Bug Hunt Comparison
DV1,44 19% DV2,11 5% DV3,6 2% FV1,4 2% STE,169 72%
RTL bugs s caug ught by metho hodolog
11
Division of 201STE found bugs
RTL 84% Refmodel 12% Bspec 4%
12
Agenda
BDWGT WGT FP FPU Va Val l risk
esult ults
STE E O Overvi erview ew
GT ST STE E impl plementation ementation Ch Chal allenges lenges
13
simulator and a symbolic model checker
with large datapaths
with symbolic simulation (using variables instead of fixed values)
STE
Symbolic three valued simulation
Three valued simulation
Symbolic simulation Standard Simulation- based verification
Symbolic Trajectory Evaluation (STE)
14
STE INFRASTRUCTURE
15
CVE – The Repository
projects
again
treatment
16
Agenda
BDWGT WGT FP FPU Va Val l risk
esult ults
STE E O Overvi erview ew
GT ST STE E impl plementation ementation Ch Chal allenges lenges
17
STE Deployment Challenge
CPU STE Infrastructure GT STE Infrastructure
18
An Exhaustive instruction format
(<execsize>) dst src0 src1 srcn <srcmod> <srcmod> <srcmod> {Accsrc} {Accdst} <Cond mod> <instr> ( <.sat >) [<pred>]
<instr> <execsize> dst src0…srcn
CPU Instruction Format
19
CPU infrastructure reuse challenges
Doubleword
word Quadword
GT’s Own flag handling Source Modification for all sources involved Saturation for Floats Implicit/ Explicit Accumulator Source/Dest
20
CPU infrastructure reuse challenges
21
Our Approach
22
Interesting bugs #1
(MAD-DP)
Dataspace Corner case issue
23
Interesting bugs # 2
Conditions on preceding instruction: Operation must be MAD-DP and Addend = Not INF/NAN/ZERO and Addend is –ve Conditions on current Instruction: Operation is MUL-DP Multiplicand/Multiplier = -ve NAN Expected Result= ffff_ffff_ffff_ffff Actual Result= 7fff_ffff_ffff_ffff
(MAD-DP)
24
Future Plans
25
Agenda
BDWGT WGT FP FPU Va Val l risk
esult ults
STE E O Overvi erview ew
GT ST STE E impl plementation ementation Ch Chal allenges lenges
26
Conclusion
compliance and for improved programmability
designs
27
Acknowledgements
Management
28