Two- -Level Boolean Minimizer Level Boolean Minimizer Two BOOM- - - PowerPoint PPT Presentation

two level boolean minimizer level boolean minimizer two
SMART_READER_LITE
LIVE PREVIEW

Two- -Level Boolean Minimizer Level Boolean Minimizer Two BOOM- - - PowerPoint PPT Presentation

Two- -Level Boolean Minimizer Level Boolean Minimizer Two BOOM- -II II BOOM Petr Fi Fi er, Hana er, Hana Kub Kubtov tov Petr Department of Computer Science and Department of Computer Science and Engineering Engineering


slide-1
SLIDE 1

Two Two-

  • Level Boolean Minimizer

Level Boolean Minimizer BOOM BOOM-

  • II

II

Petr Petr Fi Fiš šer, Hana er, Hana Kub Kubátová átová Department of Computer Science and Department of Computer Science and Engineering Engineering Czech Technical University Czech Technical University Karlovo Karlovo nam

  • nam. 13, 121 35 Prague 2

. 13, 121 35 Prague 2 e e-

  • mail: fiserp@fel.cvut.cz, kubatova@fel.cvut.cz

mail: fiserp@fel.cvut.cz, kubatova@fel.cvut.cz

slide-2
SLIDE 2

Outline Outline

  • Introduction

Introduction

  • Problem Statement

Problem Statement

  • Description of BOOM

Description of BOOM-

  • II

II

  • The Individual Phases

The Individual Phases

  • Experimental Results

Experimental Results

  • Conclusions

Conclusions

slide-3
SLIDE 3

Introduction Introduction

  • BOOM

BOOM-

  • II is a heuristic multiple

II is a heuristic multiple-

  • output
  • utput

two two-

  • level Boolean minimizer

level Boolean minimizer

  • Composition of two minimizers

Composition of two minimizers – – a general a general purpose minimizer purpose minimizer

slide-4
SLIDE 4

Problem Statement Problem Statement

Given Given: : n n-

  • input,

input, m m-

  • output function given by a truth
  • utput function given by a truth

table (PLA) table (PLA)

F F1

1(x

(x1

1, x

, x2

2, …

, … x xn

n)

), , F F2

2(x

(x1

1, x

, x2

2, …

, … x xn

n)

), … , … F Fm

m(x

(x1

1, x

, x2

2, …

, … x xn

n)

)

The function is specified by on The function is specified by on-

  • set and

set and

  • ff
  • ff-
  • set

set Our Aim: Our Aim: to minimize it, the result is a set of SOP forms to minimize it, the result is a set of SOP forms

slide-5
SLIDE 5

BOOM BOOM-

  • II

II

Composition of BOOM and FC Composition of BOOM and FC-

  • Min

Min

  • BOOM is good for functions with many

BOOM is good for functions with many inputs inputs

  • FC

FC-

  • Min is good for functions with many

Min is good for functions with many

  • utputs
  • utputs
  • Iterative minimization

Iterative minimization – – both the both the minimizers are being alternated minimizers are being alternated

slide-6
SLIDE 6

BOOM BOOM-

  • II

II

START FC:BOOM BOOM (CD-S, IE, IR) FC-Min (FC, FI, IE) STOP? CP Solution END YES NO BOOM FC-Min

slide-7
SLIDE 7

BOOM BOOM

  • CD

CD-

  • Search

Search

  • Implicant Expansion (IE)

Implicant Expansion (IE)

  • Implicant Reduction (IR)

Implicant Reduction (IR)

  • CP Solution (CP)

CP Solution (CP)

slide-8
SLIDE 8

BOOM BOOM – – CD CD-

  • Search

Search

  • Just for single

Just for single-

  • output functions
  • utput functions –

– the the multiple multiple-

  • output function has to be divided
  • utput function has to be divided
  • Implicants are generated top

Implicants are generated top-

  • down

down – – by by reducing the universal hypercube reducing the universal hypercube

  • We add literals to a term, until it becomes

We add literals to a term, until it becomes an implicant an implicant

  • Based on a frequency of occurrence in

Based on a frequency of occurrence in

  • n
  • n-
  • set

set

slide-9
SLIDE 9

BOOM BOOM -

  • IE

IE

Implicant Expansion Implicant Expansion The implicants from CD The implicants from CD-

  • search are

search are expanded into PIs expanded into PIs

slide-10
SLIDE 10

BOOM BOOM -

  • IR

IR

Implicant Reduction Implicant Reduction Reduces PIs into group implicants Reduces PIs into group implicants Very time Very time-

  • consuming for functions with

consuming for functions with many outputs many outputs

slide-11
SLIDE 11

BOOM BOOM -

  • CP

CP

Covering problem solution Covering problem solution Selects an irredundant set of implicants Selects an irredundant set of implicants covering the on covering the on-

  • set

set greedy heuristic is used greedy heuristic is used

slide-12
SLIDE 12

FC FC-

  • Min

Min

  • Completely different approach to minimization

Completely different approach to minimization

  • First, the cover of the on

First, the cover of the on-

  • set is found, then the

set is found, then the implicants are generated for this cover implicants are generated for this cover

  • No PIs are produced, just the group implicants

No PIs are produced, just the group implicants

  • Generates

Generates only

  • nly the necessary set of group

the necessary set of group implicants implicants – – fast, low memory demands fast, low memory demands

  • Find

Find-

  • Coverage

Coverage

  • Generate Implicants

Generate Implicants

  • Expand Implicants

Expand Implicants

slide-13
SLIDE 13

FC FC-

  • Min

Min – – Find Coverage Find Coverage

  • Generates rectangle

Generates rectangle cover of the on cover of the on-

  • set

set

  • Determines the number

Determines the number

  • f product terms in the
  • f product terms in the

solution, not their solution, not their structure structure

  • Independent on literals

Independent on literals

{

y -y

4

slide-14
SLIDE 14

FC FC-

  • Min

Min – – Find Implicants Phase Find Implicants Phase

Main Idea: When a term (cube) should cover a particular output vector, the corresponding input vector must be contained in this cube ⇒ Thus the minimum term for ti must be constructed as a minimum supercube

  • f all the input vectors corresponding to

rows of ti

slide-15
SLIDE 15

FC FC-

  • Min

Min – – Find Implicants Phase Find Implicants Phase

PLA:

0 11010 10000 1 10000 11100 2 01001 01100 3 01111 01010 4 00110 00111 5 01110 00000 6 10110 00011 7 00001 01101 8 10101 10111 9 11100 10100

t1 covers 4, 6 and 8 00110 10110 10101

  • 01--
slide-16
SLIDE 16

FC FC-

  • Min

Min – – Find Implicants Phase Find Implicants Phase

t1: -01-- 00011 t2: --00- 01100 t3: 1-10- 10100 t4: 01111 01010 t5: 1-0-0 10000 t6: 00--- 00101

All the implicants:

SOP Forms: y0 = t3 + t5 = x0 x2 x3' + x0 x2' x4’ y1 = t2 + t4 = x2'x3' + x0' x1 x2 x3 x4 y2 = t2 + t3 + t6 = x2'x3' + x0 x2 x3' + x0' x1' y3 = t1 + t4 = x1'x2 + x0' x1 x2 x3 x4 y4 = t1 + t6 = x1'x2 + x0' x1'

slide-17
SLIDE 17

FC FC-

  • Min

Min – – Expand Implicants Expand Implicants

  • The

The minimum implicants minimum implicants can be further can be further expanded expanded

  • Literals are removed from the obtained

Literals are removed from the obtained PLA matrix, until some term intersects PLA matrix, until some term intersects

  • ff
  • ff-
  • set

set

slide-18
SLIDE 18

BOOM BOOM-

  • II

II

  • Most of the phases are randomized heuristics

Most of the phases are randomized heuristics

  • Thus, repeated runs of the minimization process

Thus, repeated runs of the minimization process could yield different solutions could yield different solutions

  • We repetitively run the minimizers, while

We repetitively run the minimizers, while alternating them and put all the implicants into a alternating them and put all the implicants into a common pool common pool

  • Then we solve CP

Then we solve CP

  • The ratio of FC

The ratio of FC-

  • Min & BOOM runs can be

Min & BOOM runs can be adjusted adjusted – – according to the nature of the problem according to the nature of the problem

slide-19
SLIDE 19

Experimental Results Experimental Results

Random problem: Random problem: 100 inputs 100 inputs 15 outputs 15 outputs 125 care terms 125 care terms 137 137 99 99 374 374 650 650 FC FC-

  • Min

Min 69 69 102 102 377 377 674 674 BOOM BOOM-

  • II (1:1)

II (1:1) 52 52 122 122 359 359 765 765 BOOM BOOM 1 1 110 110 700 700 657 657 ESPRESSO ESPRESSO Speedup Speedup Terms Terms Oc Oc Literals Literals

slide-20
SLIDE 20

Experimental Results Experimental Results

Random problem: Random problem: 25 inputs 25 inputs 1 output 1 output 500 care terms 500 care terms 15 15 124 124 124 124 981 981 FC FC-

  • Min

Min 19 19 106 106 106 106 852 852 BOOM BOOM-

  • II (1:1)

II (1:1) 33 33 98 98 98 98 793 793 BOOM BOOM 1 1 111 111 111 111 881 881 ESPRESSO ESPRESSO Speedup Speedup Terms Terms Oc Oc Literals Literals

slide-21
SLIDE 21

Structure of the Solution Structure of the Solution

slide-22
SLIDE 22

Structure of the Solution Structure of the Solution

1 - BOOM PIs 2 - Common PIs 3 - FC-Min PIs 4 - BOOM non-PIs 5 - Common non-PIs 6 - FC-Min non-PIs 0.41% 0.21% 1.6% 1.6% 3% 93% 1 - BOOM PIs 2 - Common PIs 3 - FC-Min PIs 4 - BOOM non-PIs 5 - Common non-PIs 6 - FC-Min non-PIs 4.5% 3.3% 9.1% 6.4% 19% 58%

  • BOOM is better for PIs
  • FC-Min is better for group implicants
  • BOOM IR phase can be omitted

All implicants Solution implicants

slide-23
SLIDE 23

Conclusions Conclusions

  • BOOM

BOOM-

  • II has been presented

II has been presented

  • Combination of two different approaches to

Combination of two different approaches to implicant generation implicant generation

  • Universal Boolean minimizer

Universal Boolean minimizer

  • Very scalable (tradeoff between solution quality

Very scalable (tradeoff between solution quality & runtime) & runtime)

  • Useful for extremely large problems, very fast

Useful for extremely large problems, very fast

  • Can be downloaded from

Can be downloaded from http://service.felk.cvut.cz/vlsi/prj/BOOM