Logic Synthesis - PowerPoint PPT Presentation

About This Presentation
Title:

Logic Synthesis

Description:

CNF Formula's. Product of Sum (POS) representation ... (or DNF) formula has 2n-1 terms (exponential in the # vars) Better approach: introduce one variable per ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 13
Provided by: andreasku
Category:
Tags: formula | logic | one | synthesis

less

Transcript and Presenter's Notes

Title: Logic Synthesis


1
Logic Synthesis
  • CNF Satisfiability

2
CNF Formulas
  • Product of Sum (POS) representation of Boolean
    function
  • Describes solution using a set of constraints
  • very handy in many applications because new
    constraints can just be added to the list of
    existing constraints
  • very common in AI community
  • Example
  • j
  • ( ab c)
  • (a b c)
  • ( abc)
  • ( a b c)
  • SAT on CNF (POS) Û Tautology on DNF (SOP)

3
Circuit versus CNF
  • Naive conversion of circuit to CNF
  • multiply out expressions of circuit until two
    level structure
  • Example y x1Ã… x2 Ã… x2 Ã… ... Ã… xn (Parity
    function)
  • circuit size is linear in the number of variables
  • Ã…
  • generated chess-board Karnaugh map
  • CNF (or DNF) formula has 2n-1 terms (exponential
    in the vars)
  • Better approach
  • introduce one variable per circuit vertex
  • formulate the circuit as a conjunction of
    constraints imposed on the vertex values by the
    gates
  • uses more variables but size of formula is linear
    in the size of the circuit

4
Example
Single gate
a
(ab c)(ac)(bc)
c
b
Circuit of connected gates
(124)(14)(24) (235)(25)(35) (23
6)(26)(36) (457)(47)(57) (568)(5
8)(68) (789)(79)(89) (9)
Justify to 0
5
Basic Case Splitting Algorithm
a
b
b
c
c
c
d
d
d
d
d
Source Karem A. Sakallah, Univ. of Michigan
6
Implications in CNF
  • Implications in a CNF formula are caused by unit
    clauses
  • unit clause is a CNF term for which all variables
    except one are assigned
  • the value of that clause can be implied
    immediately
  • Example (abc) (a0)(b1)Þ(c1)
  • No implications in circuit
  • All clauses satisfied
  • Not all satisfies (How do we avoid exploring that
    part of the circuit?)

(abc)(ac)(bc)
7
Example
a
(ab c) (ac) (bc)
c
b
Implications
8
Case Splitting with Implications
a
b
b
c
c
Source Karem A. Sakallah, Univ. of Michigan
9
Implementation
  • Clauses are stores in array
  • Track sensitivity of clauses for changes
  • all literals but one assigned -gt implication
  • all literals but two assigned -gt clause is
    sensitive to a change of either literal
  • all other clauses are insensitive and do not need
    to be observed
  • Learning
  • learned implications are added to the CNF formula
    as additional clauses
  • limit the size of the clause
  • limit the lifetime of a clause, will be removed
    after some time
  • Non-chronological back-tracking
  • similar to circuit case

10
Conflict-based Learning
a
ab j ß j (a b)
a j ß j (a)
bc j ß j (b c)
b
b
c
Source Karem A. Sakallah, Univ. of Michigan
11
Conflict-based Learning
  • Important detail for cut selection
  • During implication processing, record decision
    level for each implication
  • At conflict, select earliest cut such that
    exactly one node of the implication graph lies on
    current decision level
  • Either decision variable itself
  • Or UIP (unique implication point) that
    represents a dominator node in conflict graph
  • By selecting such cut, implication processing
    will automatically flip decision variable (or UIP
    variable) to its complementary value

12
Further Improvements
  • Random restarts
  • stop after a given number of backtracks
  • start search again with modified ordering
    heuristic
  • keep learned structures !!!
  • very effective for satisfiable formulas but often
    also effective for unsat formulas
  • Learning of equivalence relations
  • (a Þ b) Ù (b Þ a) Þ (a b)
  • very powerful for formal equivalence checking
Write a Comment
User Comments (0)
About PowerShow.com