11.07.2015 Views

Assertion-Based Formal Verification for STMicroelectronics ...

Assertion-Based Formal Verification for STMicroelectronics ...

Assertion-Based Formal Verification for STMicroelectronics ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Assertion</strong>-<strong>Based</strong> <strong>Formal</strong> <strong>Verification</strong> <strong>for</strong><strong>STMicroelectronics</strong>’ Nomadik TM SmartVideo/Imaging AcceleratorsHPC/APD/CDI/MMSFrançois CLOUTÉElisabeth BERREBIJean-Marc PARETCDN Live! Nice Conference -June, 26 th 20061


Nomadik STn8815Smart Video Accelerator (SVA)SVADMAAHB master port 1CamerainterfacesIPPVCUxbuslocal data busPPP TVOTV outputAMBA AHB MultilayerARM926EJHOSTMMDSP +ITCAHB slave portInterrupt linesAHB master port 2CDNLive06 – 26 June2


Smart Video Accelerator Design Challenge• Objective: First Design Silicon Success• Multimedia Mobile business:• Hardware acceleration• shorter design cycle times• video standards more and more complex• => HW debug earlier and faster• => Full verification ASAP• => Ideally at RTL levelCDNLive06 – 26 June3


RTL Co-simulation <strong>for</strong> any SVA IP• Specman– Functional-coverage driven– Re-use benefit from• design topology re-use (common protocols)• object-oriented features (e language)– Stimuli generation• Pseudo-random directed tests (constraint solver)• eVCs, eRM <strong>for</strong> monitoring– Co-simulation with IP bit-true BCA referencemodelCDNLive06 – 26 June4


RTL Co-simulation <strong>for</strong> any SVA IP• Drawbacks– Dependency from reference model– Covering corner cases is time-consuming– Possible generation holes=> SVA RTL design with <strong>Assertion</strong>-based<strong>Formal</strong> <strong>Verification</strong>CDNLive06 – 26 June5


Property Specification <strong>for</strong> SVA IPs• Embed RTL design with PSL assertions– <strong>Formal</strong>ize expected behavior –executable spec– <strong>Formal</strong>ize legal/illegal use cases– Temporal logic property• HDL boolean layer -reuse• CTL temporal layer –safety&liveness – non HDL-likeexpressiveness• <strong>Verification</strong> layerCDNLive06 – 26 June6


Property Specification <strong>for</strong> SVA IPs• Expected benefits– Inner observability –no bug tracing from I/O– Isolate root cause failure – exactly when & where– IP protocol I/Fs – IP integration• Write once, Instanciate many, Verifyboth/either by– Dynamic simulation– Static proofCDNLive06 – 26 June7


SVA <strong>Assertion</strong>-based Methodology• Common <strong>for</strong> static/dynamic verification– Target appropriate assertions vs RTL design– Maximize reuse by generic component encapsulation– Simplify assertion by property decomposition• IFV– Assume/guarantee method– Sequence coverage –sanity checks– Identify right RTL hierarchy level <strong>for</strong> max ROICDNLive06 – 26 June8


SVA <strong>Assertion</strong>-<strong>Based</strong> <strong>Verification</strong> Step1• Input: Add PSL assertions <strong>for</strong> simulation– Learn PSL– Write properties– First embed them into already verified IPs– Debug assertions– Re-run simulation regressions• Output: 1 hidden bug <strong>for</strong> an IP (66 properties)– One violated property, w/o incidence at previous co-simulationIP-level:• No bug propagation to IP outputs <strong>for</strong> that test• And generation holeCDNLive06 – 26 June9


Incisive <strong>Formal</strong> <strong>Verification</strong> EvaluationStep2• Relatively small designs– None unreacheable proof– All Immediate proven pass/fail properties• Control/protocol• Data integrity• Data-dominated designs• Out-of-scope of PSL expressivness (PLA-type)• Reuseability• Tool debug features– Counter-example || bug hunting– Root cause searchingCDNLive06 – 26 June10


Incisive <strong>Formal</strong> <strong>Verification</strong><strong>for</strong> new IP block#1• IFV <strong>for</strong> IP#1– New design from scratch– 100 KG, 130 properties– Focus <strong>for</strong> control-flow sub-design (4 concurrent FSMs)– Restriction case <strong>for</strong> datapath width– Prior to any simulation• IP#1 Bug hunting results (out of 110 bugs)– ISV: 7 bugs, whose 4 hardly exerciseable by simulation, 1 unthinkeable– 13 others coould have been fomally proven– Cosimulation vs reference model: 100 other bugs• IFV perfs vs final IP#1+PSL– Property checking : 22 constraints / 33 pass (EDmax=50) / 75 sanity / 0 unreacheable• ISV session: 12h on computer-farm (2h <strong>for</strong> IFV)• IFV ef<strong>for</strong>t <strong>for</strong> IP#1: 2 person/weeksCDNLive06 – 26 June11


Incisive <strong>Formal</strong> <strong>Verification</strong><strong>for</strong> new IP block#2• IFV <strong>for</strong> IP#2– New design from scratch– 25 KG, 430 properties– Used at top-level <strong>for</strong>• control path• data path (16-bit width Alu1, 32-bit width Alu2)– Prior to co-simulation• IP#2 Bug hunting results (out of 40 bugs)– Concurrent debug:• IFV : 10 bugs• <strong>Assertion</strong>-based simulation: 17 bugs– Cosimulation vs reference model: 12 bugs• One IFV interpretation bug <strong>for</strong> VHDL signed saturation (work-around)• IFV perfs vs final IP#2+PSL– Property checking : 30 constraints / 320 pass (EDmax=60) / 80 sanity / 80 unreacheable• IFV computer-farm session: up to 1 week• IFV ef<strong>for</strong>t <strong>for</strong> IP#2: 4 person/weeksCDNLive06 – 26 June12


<strong>Formal</strong> Property Checking with IFVSVA Conclusions• Identify suitable design hots spots vs <strong>for</strong>mal proof• IFV can then definitively debug RTL• Complexity manageable by reuse methodology• Useable by designers• Complementary to simulation but not self-sufficient• Significant acceleration <strong>for</strong> functional verification• Under controlled deploymentCDNLive06 – 26 June13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!