Top Banner
SWORD: A SAT like Prover U i W d L l I f ti Using Word Level Information Robert Wille , Görschwin Fey, Daniel Große, Stephan Eggersglüß Rolf Drechsler Stephan Eggersglüß, Rolf Drechsler University of Bremen, Germany {rwille,fey,grosse,segg,drechsle}@informatik.uni-bremen.de
21

SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Aug 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

SWORD: A SAT like Prover U i W d L l I f tiUsing Word Level Information

Robert Wille, Görschwin Fey, Daniel Große, Stephan Eggersglüß Rolf DrechslerStephan Eggersglüß, Rolf Drechsler

University of Bremen, Germany

{rwille,fey,grosse,segg,drechsle}@informatik.uni-bremen.de

Page 2: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Outline

• Motivation

• SWORD

– ArchitectureArchitecture– Using Word Level Information

• Experimental Results

Conclusion & Future Work• Conclusion & Future Work

2

Page 3: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Motivation #1

• Solving NP-hard problems– Circuit Verification, Property/Equivalence

Ch kiChecking– ATPG

Graphcoloring– Graphcoloring– …

• Common: Exploiting Boolean SatisfiabilityFor a given Boolean function f find an For a given Boolean function f find an assignment A, such that f(A)=1 or prove that no such assignment exist.

3

Page 4: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Motivation #2

SATSolver

Advanced Techniques• Efficient Implication

Loss of information• Properties of modules in circuits• Position of modules in circuits

pStrategies (BCP)

• Conflict based Learning• Non-chronological

4

o o o odu u• Neighbours of a node in a graph• …

gBacktracking

• …

Page 5: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Goal

• New Solver that– Uses state-of-the-art SAT techniques– Works on Word Level Works on Word Level – Utilizes Word Level information for

dedicated solve strategiesg

More compact representationp pMore efficient algorithms

5

Page 6: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Outline

• Motivation

• SWORD

– ArchitectureArchitecture– Using Word Level Information

• Experimental Results

Conclusion & Future Work• Conclusion & Future Work

6

Page 7: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Representation

• Modules defined over bitvectorsEach circuit element has to be supported

7

• Each circuit element has to be supported separately

Page 8: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Architectureglobal interface local

Solver Adder

g o a o

global dataassignments

decide()propagate()

implGraph…

Module

decide()

AndGate

decide()dopropagate()if (confl)

dopropagate()if (confl)

decide()propagate()

decide()propagate()

OrGateanalyzeAndBT()

elsedecide()

analyzeAndBT()elsedecide()

decide()propagate()

8

while (Undef)while (Undef)p p g ()

Page 9: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Flowglobal interface local

free var left?yes no

g o a o

SAT

yes no

choose module m

for all potentially

m->decide

nextfor all potentially affected modules n n->propagate

next

donedone

resolve conflict

doneconflict

ok

9

UNSATfailed

Page 10: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Outline

• Motivation

• SWORD

– ArchitectureArchitecture– Using Word Level Information

• Experimental Results

Conclusion & Future Work• Conclusion & Future Work

10

Page 11: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Global Decision-Heuristic

• Which module makes the best decision?– Multiplier often better than an MUX-gate

Classify modules into priority-classes

• Priority-class influences the probability that a module makes a decisionmodule makes a decision

11

Page 12: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Local Decision Heuristic

• ADDER:

a2 a1 a0

+ b2 b1 b0

c3 c2 c1

s3 s2 s1 s0

Deciding unassigned least significant bit first provides the most benefit

• realized as FSM

12

Page 13: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Local Implication

• ADDER:

a2 a1 a0

+ b2 b1 b0

c3 c2 c1

s3 s2 s1 s0

If ai and bi are assigned, then ci and si+1 are implied

13

Page 14: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Conflict Analysis and Learning

• Quite similar to the classical approachS t i li ti h– Separate implication graph

– Additional clause module

• Improved identification of reasons for conflicts

• Conflict clauses are not learned if they contain i bl i t d t l d l lik variables associated to complex modules like

multiplier

14

Page 15: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Outline

• Motivation

• SWORD

– ArchitectureArchitecture– Using Word Level Information

• Experimental Results

Conclusion & Future Work• Conclusion & Future Work

15

Page 16: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Experimental Setup

Benchmarks• Benchmarks– Equivalence Checks using multiplier

• Word Level vs Word Level (ec mul mul)• Word Level vs. Word Level (ec_mul_mul)• Word Level vs. Partial Products (ec_mul_pp)• Word Level vs. Gate Level (ec_mul_gt)• Failed Eqivalence Check (ec_mul_mul_li)

– Property Checks (pc_arith_mul)• Solver:• Solver:

– MiniSat v1.14– K*BMDsK BMDs– SMT (Yices)– SWORD

16

SWORD• AMD Athlon 3500+, 1 GB main memory

Page 17: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Experimental Results

17

Page 18: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Outline

• Motivation

• SWORD

– ArchitectureArchitecture– Using Word Level Information

• Experimental Results

Conclusion & Future Work• Conclusion & Future Work

18

Page 19: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Conclusion

• Compact problem representation

• Word Level information is utilized during search process

• Powerful reasoning

19

Page 20: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Future Work

• Better heuristics & implications-strategies• Better heuristics & implications strategies• Apply further SAT- techniques (restarts,

activities …)activities …)• New conflict analysis (better use of

information))• (Half-)Automatic creation and verification of

modules

20

Page 21: SWORD: A SAT like Prover Ui W d L Il f itUsing Word Level ... · Outline • Motivation •SWORD – Architecture ... – Additional clause module • Improved identification of reasons

Questions

• Motivation

• SWORD

– ArchitectureArchitecture– Using Word Level Information

• Experimental Results

Conclusion & Future Work• Conclusion & Future Work

21