Structural Search for RTL with Predicate Learning - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Structural Search for RTL with Predicate Learning

Description:

et. al.(DAC'98) Combination of theories of Bit-vector, Boolean and Arrays ... Unjustified if output value not implied by inputs. Justified otherwise ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 27
Provided by: carl290
Category:

less

Transcript and Presenter's Notes

Title: Structural Search for RTL with Predicate Learning


1
Structural Search for RTL with Predicate Learning
  • G. Parthasarathy
  • M.K. Iyer
  • K.-T. Cheng
  • F. Brewer
  • Department of ECE
  • University of California Santa Barbara
  • Santa Barbara, CA

2
SAT on RTL Some History
  • Satisfiability Checking (SAT) on RTL attractive
  • RTL abstracts data operations
  • Leverage abstraction for speed and ease of use
  • SAT has problems on large data-path circuits
  • Brinkmann 02, Strichmann,03

3
HDPLL Fundamentals
  • HDPLL combines Boolean and Arithmetic theories
  • Branch and Bound decision procedure
  • Decision-Making on Boolean Variables
  • Omega-Test for arithmetic feasibility checking
  • Combined Interval-Boolean constraint propagation
  • Parthasarathy et. al., DAC04
  • Modeling
  • Data Path Finite-domain Linear Arith.
    constraints
  • Parthasarathy et. al., DAC04
  • Boolean control AND-INV graph (AIG)
  • Kuehlmann et. al., DAC01
  • Conflict-based learning on combined theories
  • Iyer et. al., DATE05

4
Interval Constraints
  • All RTL variables have finite domains
  • Finite upper/lower-bounds e.g., reg A70
  • Boolean variables have finite domains 0,1
  • Max Range L 2n 1, where n is bit-width
  • An interval constraint is defined as
  • å ai . xi ? r , where, xi , r ? I
  • RTL modeled as Boolean functions over conjuncts
    of interval constraints

5
Hybrid DPLL - Algorithm
  • Input
  • Query ? on model ?
  • Returns
  • SAT or UNSAT

6
Interval Constraint Propagation (ICP)
  • deduce () uses ICP and BCP
  • Interval Constraint is defined as
  • å ai . xi ? r , where, xi , r ? I
  • ai integer coefficients
  • xi integer interval variables
  • å is interval summation
  • x1lb , x1ub x2lb , x2ub x1lb x2lb ,
    x1ub x2ub
  • x1lb , x1ub - x2lb , x2ub x1lb - x2ub ,
    x1ub - x2lb
  • Projection Operation proj on variable xi
  • xi ? integer (1/ai (r - å aj . xj ) j ? i) for
    all constraints
  • proj(xi) xilb, xiub must satisfy the
    inequality

7
An example of ICP by projection
  • 3y 4x ? 7
  • x, y are 3 bit variables with range 0,..,7
  • Assume change on y 0,..,7?0,..,4
  • Implied change on x by proj(x)
  • -x ? (¼ (7 30,..,4 ))
  • x ? integer( -1.25,..,1.75 )
  • Real Intervals inwardly rounded to integer
    interval.
  • x ? -1,..,1
  • Result xub reduced to 1.
  • xlb does not change
  • -1 is already less than xlb 0

8
Recursive Learning on Boolean Circuits
  • Proposed by Kunz and Pradhan, ITC02
  • Based on case and Boolean implication analysis
  • Basic Idea
  • If all ways to satisfy (vi vali) implies (vj
    valj)
  • Then (vi vali ) always implies (vj valj )
  • Very effective in learning surprise relations
  • Recursion depth can be unbounded
  • Is then complete, but typically very costly
  • Typically, recursion depth bounded for efficiency

9
Recursive Learning Example
All ways to satisfy o21 implies o1 1. Hence,
o21 implies o1 1!
10
Recursive learning on RTL Basics
  • Key components of recursive learning
  • Case analysis Decisions
  • Boolean constraint propagation (BCP)
  • Key property BCP is bijective
  • Problems with RTL
  • Decisions on words exponential in word-size
  • ICP is neither onto nor not bijective
  • For example, assume (wi 0..3) ? (wk 0..3
    )
  • This doesnt mean that (wi 1) ? (wk 1)
  • Solution
  • Make decisions on Boolean Predicates
  • Use ICP for implications across predicates

11
Recursive learning on RTL Details
  • Pick predicate functions as RL points
  • Perform RL on RL points in topological order
  • Use combined BCP-ICP for finding implications
  • Use conflict-based learning for conflict analysis
  • All RL relations and conflict-clauses stored for
    use in future RL steps
  • Stop after cut-off

12
RTL Recursive learning Example
  • b5 0
  • b1 0 ? w1 0, b2 0,b6 0
  • b0 0 ? b6 0
  • Therefore, b5 ? b6
  • Learn (b5 ?b6)
  • b6 0
  • b2 0 ? w1 0, b1 0,b5 0
  • b0 0 ? b5 0
  • Therefore, b6 ? b5
  • Learn (b6 ?b5)
  • Bi-implication
  • b5 ? b6 and b6 ? b5
  • b6 b5
  • Similarly b8 b9

0
0
0
0
0
13
Experimental Analysis
  • Compare effect of predicate learning with
    base-line
  • BMC of safety properties in ITC99 benchmarks
  • b01, b02, b04, b11, b13
  • Cut off of 2500 relations for predicate learning
  • Cut off of 1200 cpu seconds for overall solving

14
Effect of Predicate Learning
15
Analysis of approach
  • Complete RL on RTL by this method is infeasible
  • Limited RL can yield high performance gains
  • Key result
  • Leveraging Predicate correlation is important
  • Question
  • How do we do this efficiently ?
  • Answer
  • Look back to ATPG on Boolean circuits
  • Structure of RTL can guide search process

16
Structural Search on Circuits
  • Key Concepts
  • All operators in circuit obey rules of
    justification
  • Unjustified if output value not implied by inputs
  • Justified otherwise
  • Data-structure called J-frontier guides search
  • Similar to ATPG techniques
  • Key property of J-frontier
  • Query is SAT if and only if all operators in
    support of query are justified

17
Justification on RTL Circuits
  • Justification status of RTL operators
  • Atomic Boolean ops
  • Same as for Boolean gates
  • If the output value cannot be uniquely determined
    by current values on inputs
  • Non-Arithmetic RTL ops eg. ITE, CONCAT
  • Operator has Boolean input(s)
  • Output interval cant be implied from current
    values
  • Pure Arithmetic ops Not justifiable

18
Justification in RTL an Example
  • 3-bit word variables
  • Values 0..7
  • Proposition b7 1
  • Implications
  • w2 6,7
  • b40, b50, b61, w4 5
  • J-Frontier w4
  • w4 ? w3
  • Decide b1 0
  • Implications
  • w3 5
  • J-Frontier w3
  • w3 ? w1
  • Decide b2 0
  • Implications
  • w1 5
  • J-Frontier ?

19
Conflicts during justification
b3
b1
7
6
7
b21
w1
6
5
6
  • Proposition b7 1
  • Assume b2 1
  • w3 6 w2 6,7
  • No J-Path for w4 5
  • J-conflict !
  • Analyze implication graph to learn causes for
    conflict
  • Causes for conflict
  • b6 1 and b2 1.
  • Learned clause
  • (? b6 ? b2)

w2
w3
w4 5
b50
b61
b40
b7 1
20
Additional Issues
  • Currently decision variables are only Boolean
  • This is why pure arithmetic ops are unjustifiable
  • If word variables are also decision candidates
    then justification applies to all operators
  • Key Problem No efficient decision strategy on
    word-variables (yet..)

21
Experimental Analysis
  • Compare effect of new methods with base-case
  • BMC of safety properties in ITC99 benchmarks
  • b01, b02, b04, b11, b13
  • Cut off of 2500 relations for predicate learning
  • Cases
  • No predicate learning or structural search
  • Structural search only
  • Predicate learning is used to weight structural
    search decision points for breaking ties.
  • Cut off of 1200 cpu seconds for overall solving

22
Effects of Learning and Structural search
23
Comparison with other solvers
24
Conclusions
  • Structural analysis possible on RTL circuits
  • Can give good performance advantages
  • Demonstrated recursive learning and justification
  • Leverage existing work done on gate-level
  • Structural analysis has additional applications
  • Equivalence checking
  • Predicate learning can aid abstraction
  • Future work will explore these issues

25
  • The End

26
Hybrid DPLL - Algorithm
  • Input Boolean query ? on model ?
  • Output Boolean, Satisfiable or Unsatisfiable.
  • Set blevel ? 0
  • Find unique Implications of ? on ?
  • while ( True ) do
  • while ( decide () ? Done) do
  • Set deduction ? Null
  • while ((deduction ? deduce ()) ? Conflict) do
  • blevel ? analyze_conflicts()
  • if (blevel ? 0) then
  • return Unsatisfiable
  • else backtrack (blevel)
  • if (deduction ? SAT) then
  • return Satisfiable
Write a Comment
User Comments (0)
About PowerShow.com