Technology Mapping - PowerPoint PPT Presentation

About This Presentation
Title:

Technology Mapping

Description:

Title: Boolean Functions I Author: Andreas Kuehlmann Last modified by: Robert Barr Created Date: 12/15/1998 12:24:32 AM Document presentation format – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 15
Provided by: Andrea352
Learn more at: http://www.ecs.umass.edu
Category:

less

Transcript and Presenter's Notes

Title: Technology Mapping


1
  • Technology Mapping
  • as a Binate Covering Problem

Slides adapted from A. Kuehlmann, UC Berkeley 2003
2
Circuit as DAG (Subject Graph)
  • A Directed Acyclic Graph, also called a DAG, is a
    directed graph with
  • no directed cycles that is, for any vertex v,
    there is no nonempty
  • directed path starting and ending on v.

3
Pattern Graphs used for the cover
4
Binate Covering Problem Example
Gate Cost Input Produces Covers
m1 inv 1 a g1 g1
m2 inv 1 b g2 g2
m3 nand2 2 g1, g2 g3 g3
m4 nand2 2 a, b g4 g4
m5 nand2 2 g3, g4 g5 g5
m6 inv 1 g4 g6 g6
m7 nand2 2 g6, c g7 g7
m8 nand3 3 a, b g7 g4, g6, g7
m9 xnor2 5 a, b g5 g1, g2, g3, g4, g5
m10 oai21 3 a, b, g4 g5 g1, g2, g3, g5
5
Binate Covering Problem
  • Compute all possible matches mk for each node.
  • Using a variable mi for each match of a pattern
    graph in the subject graph, (mi 1 if match is
    chosen mi 0 otherwise)
  • Write a clause for each node of the subject graph
    indicating which matches cover this node. Each
    node has to be covered.
  • e.g., if a subject node is covered by matches
    m2, m5, m10 , then the clause would be (m2 m5
    m10).
  • Repeat for each subject node and take the
    product over all subject nodes (CNF).

m1 m2 . . . mk
n1 n2 . . . nl
nodes
6
Binate Covering Problem Example
m1 m2 m3 m4 m5 m6 m7 m8 m9 m10
n1 1 0 0 0 0 0 0 0 1 1
n2 0 1 0 0 0 0 0 0 1 1
n3 0 0 1 0 0 0 0 0 1 1
n4 0 0 0 1 0 0 0 1 1 0
n5 0 0 0 0 1 0 0 0 1 1
n6 0 0 0 0 0 1 0 1 0 0
n7 0 0 0 0 0 0 1 1 0 0
  • Generate constraints that each node ni be covered
    by some match.(m1 m9 m10)(m2 m9 m10)(m3
    m9 m10)(m4 m8 m9)
  • (m5 m9 m10)(m6 m8) (m7 m9)

7
Binate Covering
  • A Unate Covering Problem is a product-of-sums
    expression, containing Boolean propositions (i.e.
    variables which can have value 0 or 1).The
    propositions are all uncomplemented.
  • For example
  • P (P1 P3)(P1 P4 P5)(P6 P8)
  • A BINATE COVERING PROBLEM is similar, but now the
    propositions can be both uncomplemented and
    complemented. For example
  • P (P1' P3)(P1 P4' P5)(P2 P5)(P2'
    P3')

8
Create Outputs for a Legal Cover
  • Any satisfying assignment guarantees that all
    subject nodes are covered, but
  • It does not guarantee that other matches create
    outputs needed as inputs for a given match (legal
    covering).
  • Rectify this by adding additional clauses.

9
Binate Covering Problem
  • Let match mi have subject nodes si1,,sin as
    inputs. If mi is chosen, one of the matches that
    realizes sij must also be chosen for each
    intermediate input j
  • Let Sij be the disjunctive expression in the
    variables mk giving the possible matches which
    realize sij as an output node. Selecting match mi
    implies satisfying each of the expressions Sij
    for j 1 n.This can be written as
  • (mi ? (Si1 Sin ) )? (?mi (Si1 Sin ) ) ?
    ((?mi Si1) (?mi Sin ) )

10
Binate Covering Problem Example
  • For example, selecting m3 requires that
  • a match be chosen which produces g2 as an output,
    and a match be chosen which produces g1 as an
    output.
  • The only match which produces g1 is m1 same for
    g2 and m2, etc.
  • So, two extra clauses are required

11
Binate Covering Example
  • Finally, we get
  • seven additional clauses.
  • Note
  • A match which requires a primary input as an
    input is satisfied trivially.
  • Matches m1,m2,m4,m8,m9 are driven only by
    primary inputs and do not require additional
    clauses

12
Binate Covering Problem
  • An assignment of values to variables mi that
    satisfies P, the above covering expression, is a
    legal graph cover.
  • For area optimization, each match mi has a cost
    ci the area of the gate the match represents.
  • The goal is a satisfying assignment with the
    least total cost.
  • Find a least-cost prime
  • if a variable mi 0 its cost is 0, else its
    cost is ci
  • mi 1 means that match i is chosen
  • mi 0 means that match i is not chosen

13
Binate Covering Example
  • The least cost prime implicant is
  • This uses two gates for a cost of eight gate
    units, for matches
  • m8 (nand3) and m9 (xnor2).

Note that the node g4 is covered by both matches
14
Summary
  • Given a subject graph, the binate covering
    provides the exact solution to the
    technology-mapping problem.
  • Finding a feasible solution to a binate covering
    is NP-complete.
  • Problems that are NP-complete can be solved by
    algorithms that run in exponential time. No
    polynomial time algorithms are known to exist for
    any of the NP-complete problems and it is very
    unlikely that polynomial time algorithms should
    indeed exist although nobody has yet been able to
    prove their non-existence.
Write a Comment
User Comments (0)
About PowerShow.com