10.07.2015 Views

Assertion Based Verification using PSL

Assertion Based Verification using PSL

Assertion Based Verification using PSL

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>Verification</strong> <strong>using</strong> <strong>PSL</strong>Sylvain BoucherPhilips SemiconductorsCDN Live!26-06-2006


What is an assertion?AN4• <strong>Assertion</strong>s (Properties) state behavior yourdesign should always obey–e.g. The highest priority request shouldalways be granted first• <strong>Assertion</strong>s can also state forbidden behavior–e.g. Never assert grant without Request• <strong>Assertion</strong>s may also be used for coverage:–e.g. All the states of my FSM have beentested or are reachablePhilips Semiconductors Sylvain Boucher 26-06-20062


Slide 2AN4Add one bullet:Ensure that forbidden behaviour do not occur (safety properties) for example: Never assert grant without a requestAnders Nordstrom, 10/28/2005


Where does <strong>Assertion</strong> <strong>Based</strong> <strong>Verification</strong> fit inthe flow?Design Phase:Formal to verifyimplementation versus<strong>Assertion</strong>sIP Level <strong>Verification</strong>:Possibly FormalNon-formally verified<strong>Assertion</strong>s checked in SimulationPhilips Semiconductors Sylvain Boucher 26-06-2006System <strong>Verification</strong>:Possible reuse of assertions in:•Simulation•Emulation•FPGA3


AN5Property Specification Language (<strong>PSL</strong>)• <strong>PSL</strong> is IEEE 1850, it’s supported by EDA community• Supports Verilog, VHDL but also SystemVerilog andSystemC• Powerful in describing <strong>Assertion</strong>s e.g:Request and fifo empty are never high at same timeassert never { req AND fifo_empty };Request is always acknowledged 1 to 3 cycles after assertedassert always { rose (req) } |-> { [*1:3]; ack};Request is acknowledged eventuallyassert always req -> eventually! ack;Philips Semiconductors Sylvain Boucher 26-06-20064


How to use <strong>Assertion</strong>s?1) At module level:– White-box assertions to check implementationchoices– Black-box to check implementation againstspecification:• <strong>Assertion</strong>s describe output behaviors• Constraintsdescribe validity domain for inputs2) For interfaces:– Library of assertions can be used & reused to verifydifferent IP protocol interfaces3) Automatically generated assertionsPhilips Semiconductors Sylvain Boucher 26-06-20065


<strong>Assertion</strong>s for Enhancing Debug processPhilips Semiconductors Sylvain Boucher 26-06-20066


Slide 7AN6Formal improve controlabiltyAnders Nordstrom, 10/28/2005


Advantages of <strong>Assertion</strong>s<strong>Assertion</strong>s:• Enhance observability, reducing debug time• Remove ambiguity from Specification natural language• Provide additional coverage• Travel with the IP RTL sourcesPhilips Semiconductors Sylvain Boucher 26-06-20068


Formal <strong>Verification</strong>ReachableState SpacexxxInitialStatexxSimulation Disadvantages• Depends on the quality of thetest bench• Limited controllabilityxBugs triggeredby SimulationPhilips Semiconductors Sylvain Boucher 26-06-2006xxxxxxxxxxFormal Analysis Advantages• No test bench required• Explores in all directions:unlimited controllability• Can reach full coverage ondesign state space9


Simulation-<strong>Based</strong> <strong>Verification</strong>• Use of <strong>Assertion</strong>s in Simulation:–Allows implementation of additional checks⇒enhances observability–Gives control-oriented functional coverageinformation⇒enhances coverage measurement for Coverage-Driven <strong>Verification</strong>Philips Semiconductors Sylvain Boucher 26-06-200610


Example: Formal <strong>Verification</strong> of Memory CtrlLogical⇒Physical Address Translator13 <strong>PSL</strong> ConstraintsBlock SpecificationPhilips Semiconductors Sylvain Boucher 26-06-200611


Example: Formal <strong>Verification</strong> of Memory CtrlLogical⇒Physical Address Translator15 <strong>PSL</strong> <strong>Assertion</strong>sBlock SpecificationPhilips Semiconductors Sylvain Boucher 26-06-200612


Example: Formal <strong>Verification</strong> of Memory CtrlLogical⇒Physical Address Translator<strong>PSL</strong>Constraints13IncisiveFormalVerifier(IFV)•2 days of work•Full IFV runtakes ~20 minutes(CPU time)<strong>PSL</strong><strong>Assertion</strong>s15Philips Semiconductors Sylvain Boucher 26-06-200613


Example: Protocol CheckingRTL Monitor+<strong>PSL</strong> <strong>Assertion</strong>sBus (e.g. AHB, AXI, etc…)Philips Semiconductors Sylvain Boucher 26-06-200614


Example: Protocol Checking (2)RTL Monitor+<strong>PSL</strong> <strong>Assertion</strong>sAPBInterfaceRTLBlock<strong>PSL</strong> Bus Monitor used to set constraints & assertions for Formal <strong>Verification</strong>Philips Semiconductors Sylvain Boucher 26-06-200615


Example: Protocol Checking (3)RTL Monitor+<strong>PSL</strong> <strong>Assertion</strong>sAPB eVCor BFMAPB based IP(e.g. UART)UART eVCor BFMEnhances Error Checking/Debug & Functional Coverage of Test BenchPhilips Semiconductors Sylvain Boucher 26-06-200616


Example: Protocol Checking (4)……AHB2APBBridgeMonitor@ System Level, <strong>PSL</strong> Bus Monitor checks for Protocol violationsPhilips Semiconductors Sylvain Boucher 26-06-200617


Example: Protocol Checking (5)FPGA orEmulator orSiliconSynthesizedRTL Monitor+ <strong>PSL</strong> <strong>Assertion</strong>sHWStatic BreakpointsDebug EnvironmentPhilips Semiconductors Sylvain Boucher 26-06-200618


Conclusions• <strong>Assertion</strong> <strong>Based</strong> <strong>Verification</strong> helps closing theverification gap:Shorten Time-to-MarketReduce Cost of Non QualityPhilips Semiconductors Sylvain Boucher 26-06-200619

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

Saved successfully!

Ooh no, something went wrong!