# Structural Search for RTL with Predicate Learning - PowerPoint PPT Presentation

PPT – Structural Search for RTL with Predicate Learning PowerPoint presentation | free to view - id: 15088f-NDBlZ

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
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:43
Avg rating:3.0/5.0
Slides: 27
Provided by: carl290
Category:
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 ?
• 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
• 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