FUNCTION OPTIMIZATION - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

FUNCTION OPTIMIZATION

Description:

22n Possible Switching Functions of n Variables (actually much fewer types ... Reduces to the 'Minimum Cost Assignment' Problem for Binate Functions (ex. EXOR) ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 25
Provided by: mitchth
Category:

less

Transcript and Presenter's Notes

Title: FUNCTION OPTIMIZATION


1
FUNCTION OPTIMIZATION
  • Switching Function Representations can be
    Classified in Terms of Levels
  • Number of Levels, k, is Number of Unique Boolean
    (binary) Operators

EXAMPLES
1-Level
2-Level
multi-level
2
k-Level functions
  • 22n Possible Switching Functions of n Variables
    (actually much fewer types obtained by permuting
    and/or complementing input variables)
  • 1-Level Forms
  • Cannot Represent all Possible Functions
  • 2-Level Forms
  • Can Represent all Possible Functions
  • With Additional Restrictions CANONICAL
  • k-Level Forms (k?2)
  • Many Different Ways to Represent a Given
    Functions
  • If a multi-input Gate Represents a (binary or
    greater) Boolean Operator
  • Expression can Represent a Netlist
  • k Indicates depth of Netlist

EXAMPLES
2-Level
Multi-Level
a
1-Level
a
b
f
a
f
c
b
f
c
d
b
e
c
3
k-Level function properties
  • 1-Level Forms
  • Due to Restriction of Representable Functions,
    Not as Useful
  • 2-Level Forms
  • Can be Canonical
  • Longest PI to PO Path is Always 2 Related to
    Delay
  • Minimization Usually Means
  • Minimum Number of Terms
  • Minimum Number of Literals in Expression
  • k-Level Forms (k?2)
  • Many More Possible Representations
  • Can be Optimized for Area
  • Delay is More Complicated
  • False Path Problem
  • Spatio-temporal Correlations
  • Typically an Area versus Delay Tradeoff (e.g.,
    Ripple versus CL Adder)

4
Common Terms for 2-Level Minimization
  • Literal A variable in complemented or
    uncomplemented form
  • Product The disjunction (AND) of a set of
    literals also represents a cube
  • Support Set Set of all variables that define
    the domain of a switching function
  • Minterm A disjunction (AND) containing an
    instance of each literal corresponding to a
    variable in the support set that is in the
    on-set, fon,of a function
  • Dont Care The absence of a supporting variable
    in a product term
  • Implicant A product term that covers one or
    more minterms in the on-set, fon, of a function
  • Prime Implicant An implicant in the on-set,
    fon, of a function such that it is not a
    subproduct of any other possible implicant in the
    set.
  • Essential Prime Implicant A prime implicant
    that covers at least one minterm NOT covered by
    any other implicant in the on-set, fon.

5
SOP Minimization Terms Example
  • Consider
  • Each Element of fon is an Implicant
  • Prime Implicants are
  • abc is a Prime Implicant but NOT an Essential
    Prime Implicant
  • bcd is an Implicant but NOT a Prime Implicant
  • bd is an Essential Prime Implicant
  • Product abc
  • covers minterms m4abcd and m5abcd
  • disjunction of literals a, b, c
  • variable d is a Dont Care
  • f Represented by fon has Support Set a, b, c,
    d

6
Karnaugh Map
  • Simplification Using Karnaugh Map
  • Use as few loops as possible
  • Use as large loop as possible
  • Prime Implicant Corresponds to as large loop as
    Possible
  • Karnaugh Map Simplification is Finding fon such
    that
  • fon contains as few prime implicants as possible
  • fon must contain all essential prime implicants
  • fon contains NO implicants that are NOT prime

7
Tabulation Method - Notation
  • Consider Support Set of f Sx1, x2, , xn
  • xici denotes xi if ci 1 xi if ci
    0 1 if ci -
  • If NO ci -, then we have a minterm
  • Can be Represented by Decimal Equivalent of ci
  • EXAMPLE (Sx1, x2, x3, x4)
  • x11x02x03x14 m9, a minterm ? c1 c2 c3 c4
    1001 9 x01x-2x-3x04 a 4-cube ? 0--0

8
Cube Merging
  • Basic Operation in Tabulation Method
  • 2 Cubes that Differ in a SINGLE ci can be Merged
    into a Single Cube
  • EXAMPLE
  • ? 1-01? 0-01
  • Merge ? and ? into ?
  • ? --01

9
Tabulation Method
  • Input f on as a set of minterms
  • Output f on as a set of
  • All Essential Prime Implicants
  • As Few Prime Implicants as Possible
  • Finding as few Prime Implicants as Possible is an
    NP-Hard Problem!!!!!
  • Reduces to the Set Covering Problem for Unate
    Functions
  • Unate function a constant or is represented by
    a SOP using either uncomplemented or complemented
    literals for each variable
  • Reduces to the Minimum Cost Assignment Problem
    for Binate Functions (ex. EXOR)
  • This is 2-Level (SOP) Optimization (Minimization)

10
Tabulation Method
  • STEP 1
  • Convert Minterm List (specifying f on) to Prime
    Implicant List
  • STEP 2
  • Choose All Essential Prime Implicants
  • If all minterms are covered HALTElse GO To
    STEP 3
  • STEP 3
  • Formulate the Reduced Cover Table Omitting the
    rows/cols of EPI
  • If Cover Table can be Reduced using Dominance
    Properties, Go To Step 2
  • Else Must Solve the Cyclic Cover Problem 1)
    Use Exact Method (exponentially complex) 2) Use
    Heuristic Method (possibly non-optimal result)
  • NOTE Quine-McCluskey Refers to Using a Branch
    and Bound Heuristic
  • NOTE Petricks Method is Exact Technique
    Generates all Solutions Allowing the Best to be
    Used

11
Tabulation Method STEP 1
  1. Partition Prime Implicants (or minterms)
    According to Number of 1s
  2. Check Adjacent Classes for Cube Merging Building
    a New List
  3. If Entry in New List Covers Entry in Current List
    Disregard Current List Entry
  4. If Current List New List HALTElse Current
    List ? New List New List ? NULL Go To Step 1

12
STEP 1 - EXAMPLE
  • f on m0, m1, m2, m3, m5, m8, m10, m11, m13,
    m15 ? (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

13
STEP 1 - EXAMPLE
  • f on m0, m1, m2, m3, m5, m8, m10, m11, m13,
    m15 ? (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)


14
STEP 1 - EXAMPLE
  • f on m0, m1, m2, m3, m5, m8, m10, m11, m13,
    m15 ? (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

15
STEP 1 - EXAMPLE
  • f on m0, m1, m2, m3, m5, m8, m10, m11, m13,
    m15 ? (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

f on A,B,C,D,E,F,G 00--, -01-, -0-0, 0-01,
-101, 1-11, 11-1
16
STEP 2 Construct Cover Table
  • PIs Along Vertical Axis (in order of of
    literals)
  • Minterms Along Horizontal Axis

NOTE Table 4.2 in book is incomplete
17
STEP 2 Finding the Minimum Cover
  • Extract All Essential Prime Implicants, EPI
  • EPIs are the PI for which a Single x Appears in a
    Column
  • C is an EPI so f onC, ...
  • Row C and Columns 0, 2, 8, and 10 can be
    Eliminated Giving Reduced Cover Table
  • Examine Reduced Table for New EPIs

18
STEP 2 Reduced Table
Distinguished Column
Essential row
  • The Row of an EPI is an Essential row
  • The Column of the Single x in the Essential Row
    is a Distinguished Column

19
Row and Column Dominance
  • If Row P has xs Everywhere Row Q Does Then Q
    Dominates P if P has fewer xs
  • If Column i has xs Everywhere j Does Then j
    Dominates i if i has fewer xs
  • If Row P is equal to Row Q and Row Q does not
    cost more than Row P, eliminate Row P, or if Row
    P is dominated by Row Q and Row Q Does not cost
    more than Row P, eliminate Row P
  • If Column i is equal to Column j, eliminate
    Column i or if Column i dominates Column j,
    eliminate Column i

20
STEP 3 The Reduced Cover Table
  • Initially, Columns 0, 2, 8 and 10 Removed
  • No EPIs are Present
  • No Row Dominance Exists
  • No Column Dominance Exists
  • This is Cyclic Cover Table
  • Must Solve Exactly OR Use a Heuristic

21
The Cyclic Cover Table
  • For now, we Arbitrarily Choose a PI
  • Later we will Study Exact and Heuristic Methods
  • Arbitrarily Choose F so fonC, F, ... This
    Choice May Lead to a Non-Optimal Result!!!!
  • Form Reduced Cover and Go To Step 2

22
STEP 3 Dominance
  • Initially, Reduced Table has Columns 11 and 15
    Removed
  • G is Dominated by E
  • B is Dominated by A
  • Form Reduced Cover Table and Go To Step 2

23
STEP 2 The Reduced Cover
  • Initially, Table has Rows G and B Removed
  • Secondary EPIs A and E
  • All Columns Covered
  • Eliminate D
  • fonC, F, A, E

24
Result Check
cd
cd
0
0
0
1
1
1
1
0
ab
0
0
0
1
1
1
1
0
ab
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
Final Result f onA, C, E, F
Initial Minterm List fon m0, m1, m2, m3, m5,
m8, m10, m11, m13, m15 ? (0, 1, 2, 3, 5, 8,
10, 11, 13, 15)
Write a Comment
User Comments (0)
About PowerShow.com