Professional Documents
Culture Documents
Processor Verification
Abhineet Bhojak, Stephan Herrmann
Tejbal Prasad
Freescale Semiconductor
Debug
Stimuli Generator
Program generation
• Formal verification
• Useful and efficient in some cases
• it requires significant mathematics skill and computational resources to
relate to the scenarios and analyze them
• A methodology for
processor verification
using the open sources
UVM , SV & C/C++.
Use foreach constraint to make While randomizing current instruction 1st decide to
relation between instruction what depth (rel_depth) you want to link it
operand
Use last instruction copy & rel_depth to decide the
current instruction operand
Operand Interlinking
© Accellera Systems Initiative 7
Proposed flow in action
MOV R1,VAL Jump Length
Loop: constraints
JMP LEN1
LEN1
INSTRUCTION GROUPS
BRANCH ALU W-
•BEQ •ADD FILL SUB R1,1 MARK
•BLT •SUB BZ End
•BGT •XOR
LEN2
•BN •OR
•BC •CMP JMP LEN2
LENGT
SUB R1,1 H
BNZ Loop
End: HALT
Verification
30 man weeks of effort, Verification Environment created from
Scratch, ~200 test /15 K runs, ~10 k functional cover points, 200
odd defects were found