260 likes | 361 Views
Enhancing Bounded Sequential Equivalence Checking with Range-Equivalent Circuit Minimization. Speaker: Chih-Chung Wang Adviser: Chun-Yao Wang Yung-Chih Chen Date: 2012. 12. 10. Outline. Problem Formulation Introduction RECM NAR BSEC Enhancing BSEC with RECM
E N D
Enhancing Bounded Sequential Equivalence Checking with Range-Equivalent Circuit Minimization Speaker: Chih-Chung Wang Adviser: Chun-Yao Wang Yung-Chih Chen Date: 2012. 12. 10
Outline • Problem Formulation • Introduction • RECM • NAR • BSEC • Enhancing BSEC with RECM • Experimental Result • Future Work
Problem Formulation • Given: • Two boundedsequential circuits • A timeframe k • Goal: • Bounded sequential equivalence checking (BSEC) at timeframe koptimized by range-equivalent circuitminimization (RECM)
Introduction • Range-equivalent circuit • Range • Range Equivalent • Range-equivalent circuit minimization
Bounded Sequential Equivalence Checking (BSEC) • Bounded: timeframe k • Typical BSEC • Miter construction • SAT solver • Unroll • Sequential → Combinational …
Introduction • Circuit optimization • Node merging • Node addition and removal (NAR)
Enhancing BSEC • Using range-equivalent circuit minimization while building BSEC model • Range – every set of output • Equivalence checking – checking all possible input
Enhancing BSEC • Range-equivalent circuit creation • Taking too much time to run • Might have runtime error • Using a smaller timeframe to create range-equivalent circuit • Replacing the circuit 0 to n • Connecting to the next timeframe n+1 • Repeatedly running until n equals k
Enhancing BSEC n • Using a smaller timeframe n to create range-equivalent circuit • Replacing the circuit 0 to n • Connecting to the next timeframe n+1 • Repeatedly running until n equals k
Enhancing BSEC n+1 • Using a smaller timeframe n to create range-equivalent circuit • Replacing the circuit 0 to n • Connecting to the next timeframe n+1 • Repeatedly running until n equals k
Enhancing BSEC • Using a smaller timeframe n to create range-equivalent circuit • Replacing the circuit 0 to n • Connecting to the next timeframe n+1 • Repeatedly running until n equals k
Resyn2 Original Optimized Construct miter pMiter Resyn2 NAR Optimize pMiterOpt timeframe: 0 Resyn2 Add one timeframe pFrames Range-equivalent circuit replacement pFrames timeframe: n no n = k ? yes pFrames Resyn2 Optimize NAR pFramesOpt timeframe: k Resyn2 SAT solver
Enhancing BSEC • Loop from timeframe 0 to k • One timeframe addition • Range-equivalent circuit minimization • Equivalence checking • Preprocessing of range • Adding POs at all PPIs (pseudo primary inputs) • Removing no fanout nodes • Removing verified POs
Flow pMiter timeframe: 0 One timeframe addition Adding POs at all PPIs Removing all old POs and no fanout nodes timeframe: n Range-equivalent circuit replacement SAT solver verification no n = k ? yes timeframe: k pFrames
Experimental Result • ic5-8, ic14-19 • GNU/Linux • 8 core, 3.0GHz • x86_64 • Compare • Original: Typical BSEC • resyn2 • NAR + resyn2
Resyn2 Original Optimized Construct miter pMiter Resyn2 Optimize NAR pMiterOpt timeframe: 1 Resyn2 Unroll k times pFrame Resyn2 Optimize NAR pFrameOpt timeframe: k Resyn2 SAT solver
Resyn2 Original Optimized Construct miter pMiter Resyn2 NAR Optimize pMiterOpt timeframe: 0 Resyn2 Add one timeframe pFrames Range-equivalent circuit replacement pFrames timeframe: n no n = k ? yes pFrames Optimize NAR Resyn2 pFramesOpt timeframe: k Resyn2 SAT solver
Experimental Result • Experiment 1 • Setting timeframe k • Comparing time spent (second) • Range-equivalent circuit creation • SAT solver • Total • Time limit • 36000 seconds
Experimental Result • Experiment 2 • Time limit • 1000 seconds • Comparing how many timeframes can be checked (k) • Recording the total time until the last timeframe
Experimental Result • Some cases can run very fast while building BSEC model • Ex. b04, usb_phy • : Node number in timeframe i Range-equivalent circuit minimization Timeframe addition
Future Work • Fixing the bugs • systemcdes, i2c, des_area • Fixed-point
Fixed-point • : the set of all reachable states at the i-th iteration • The sets of the reachable states in two consecutive iterations are identical • i.e., = initial state fixed-point … reachable states