Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer...

33
Output Grouping-Based Output Grouping-Based Decomposition of Logic Decomposition of Logic Functions Functions Petr Fišer, Hana Kubátová Petr Fišer, Hana Kubátová Department of Computer Science and Department of Computer Science and Engineering Engineering Czech Technical University Czech Technical University

description

Motivation Typical logic synthesis process: Perform Boolean minimization Perform Boolean minimization Multi-level synthesis, decomposition Multi-level synthesis, decomposition Technology mapping Technology mapping These phases are often independent on each other - ineffective

Transcript of Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer...

Page 1: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output Grouping-Based Output Grouping-Based Decomposition of Logic Decomposition of Logic

FunctionsFunctions

Petr Fišer, Hana KubátováPetr Fišer, Hana Kubátová

Department of Computer Science and Department of Computer Science and EngineeringEngineering

Czech Technical UniversityCzech Technical University

Page 2: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

OutlineOutlineMotivationMotivationSingle-Level PartitioningSingle-Level PartitioningProposed MethodProposed MethodBasic FC-Min PrinciplesBasic FC-Min PrinciplesOutput GroupingOutput GroupingExperimental ResultsExperimental ResultsConclusionsConclusions

Page 3: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

MotivationMotivation

Typical logic synthesis process:Typical logic synthesis process:

Perform Boolean minimizationPerform Boolean minimizationMulti-level synthesis, decompositionMulti-level synthesis, decompositionTechnology mappingTechnology mapping

These phases are often independent on These phases are often independent on each other - each other - ineffectiveineffective

Page 4: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

MotivationMotivation

Boolean minimization should be Boolean minimization should be driven towards the target driven towards the target

technologytechnology

Page 5: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Single-Level PartitioningSingle-Level Partitioning Two-level AND-OR

network

Limited number of inputs/outputs in real devices

Solution: divide the circuit into stand-alone blocks, while reducing the number of their inputs and complexity of the blocks

Page 6: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Single-Level PartitioningSingle-Level Partitioning The way how to minimize the number of inputs The way how to minimize the number of inputs

of the blocks proposed beforeof the blocks proposed beforeFišer, P. - Kubátová, H.: Single-Level Partitioning Support in BOOM-II, Fišer, P. - Kubátová, H.: Single-Level Partitioning Support in BOOM-II,

Proc. 2nd Descrete-Event System Design 2004 (DESDes'04), Proc. 2nd Descrete-Event System Design 2004 (DESDes'04), Dychów, Poland, 15.-17.9.04, pp. 149-154Dychów, Poland, 15.-17.9.04, pp. 149-154

Reducing the input set means an increase of the Reducing the input set means an increase of the size of the circuits (some of the group terms size of the circuits (some of the group terms cannot be shared)cannot be shared)

The issue: how to group the outputs to The issue: how to group the outputs to minimize the complexity of the blocksminimize the complexity of the blocks

Page 7: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Proposed MethodProposed MethodMethod to determine the “Method to determine the “output grouping”output grouping”Based on FC-Min, even when no Based on FC-Min, even when no

minimization is involvedminimization is involvedSignificant reduction in area overhead, for Significant reduction in area overhead, for

both the two-level and multi-level both the two-level and multi-level implementationsimplementations

Input set is reduced as wellInput set is reduced as well

Page 8: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

FC-MinFC-MinTwo-level Boolean minimizerTwo-level Boolean minimizerPrimarily designed for Primarily designed for group minimizationgroup minimizationProduces Produces only the necessary group only the necessary group

implicantsimplicants – no excessive implicants are – no excessive implicants are generatedgenerated

First, the on-set cover is found (First, the on-set cover is found (Find Cover)Find Cover)Then implicants are computedThen implicants are computed

Page 9: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Find CoverFind CoverGenerates rectangle cover of the on-setGenerates rectangle cover of the on-setDetermines the number of product terms Determines the number of product terms

in the solution, not their structurein the solution, not their structure Independent on literalsIndependent on literals

Directly determines group implicantsDirectly determines group implicants

Page 10: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Find CoverFind Cover{y -y0 4

Page 11: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput GroupingMain idea: outputs that share many group Main idea: outputs that share many group

implicants should be grouped togetherimplicants should be grouped togetherThe effects are obvious for two-level The effects are obvious for two-level

minimization, however the same can be minimization, however the same can be observed for multi-level implementationobserved for multi-level implementation

Page 12: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

Grouping matrix (G-Matrix)Grouping matrix (G-Matrix)

Combines influences of various group Combines influences of various group implicants implicants

Symmetric matrix of dimensionsSymmetric matrix of dimensions [ [mm, , mm]]The value of G[The value of G[i, ji, j] defines the ] defines the strength strength

binding the two output variablesbinding the two output variables i i andand j j togethertogether

Page 13: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

123451 000002 000003 000004 000005 00000

Initial State

Page 14: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 000001 000002 000003 000014 00010

T1 added

Page 15: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 000001 001002 010003 000014 00010

T2 added

Page 16: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 001002 110003 000014 00010

T3 added

Page 17: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 001102 110003 010014 00010

T4 added

Page 18: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 001102 110013 010014 00110

T6 added

Page 19: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 000001 000002 000113 001014 00110

T1 addedAnother cover, 2nd G-Matrix

Page 20: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 000001 001012 010123 001014 01210

T2 addedAnother cover, 2nd G-Matrix

Page 21: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 000001 001112 010123 011014 01210

T3 addedAnother cover, 2nd G-Matrix

Page 22: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 001112 110123 011014 01210

T4 addedAnother cover, 2nd G-Matrix

Page 23: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 002112 120123 011014 01210

T5 addedAnother cover, 2nd G-Matrix

Page 24: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 002112 120123 011024 01220

T6 addedAnother cover, 2nd G-Matrix

Page 25: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

012340 001001 002112 120123 011024 01220

Normalization – transform into <0, 1>

0 1 2 3 4 0 0 0 0.5 0 01 0 0 1 0.5 0.52 0.5 1 0 0.5 13 0 0.5 0.5 0 14 0 0.5 1 1 0

:2

Page 26: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

Summing the two matrices:

0 1 2 3 4 0 0 0 0.5 0 01 0 0 1 0.5 0.52 0.5 1 0 0.5 13 0 0.5 0.5 0 14 0 0.5 1 1 0

012340 001001 001102 110013 010014 00110

0 1 2 3 4 0 0 0 1.5 0 01 0 0 2 1.5 0.52 1.5 2 0 0.5 23 0 1.5 0.5 0 24 0 0.5 2 2 0

+ =

Page 27: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

Final output grouping

Task:

• Divide the 5-output circuit into max.3-output blocks

Page 28: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

Final output grouping

0 1 2 3 4 0 0 0 1.5 0 01 0 0 2 1.5 0.52 1.5 2 0 0.5 23 0 1.5 0.5 0 24 0 0.5 2 2 0

Find maximum

6 possibilities – one at random

G[1, 2]

B1 = {1, 2}

Page 29: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

Final output grouping

0 1 2 3 4 0 0 0 1.5 0 01 0 0 2 1.5 0.52 1.5 2 0 0.5 23 0 1.5 0.5 0 24 0 0.5 2 2 0

Find maximum in row 1 and column 2

B1 = {1, 2, 4}

Select 4

Page 30: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Output GroupingOutput Grouping

G-Matrix ExampleG-Matrix Example

Final output grouping

B1 = {1, 2, 4}

B2 = {0, 3}

Page 31: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Experimental ResultsExperimental Results

Hard MCNC benchmarksHard MCNC benchmarks3 experiments for each:3 experiments for each:

1.1. Minimize by Boom and decompose intoMinimize by Boom and decompose into2-input gate network using SIS2-input gate network using SIS

2.2. Randomly divide the circuit into several Randomly divide the circuit into several blocks, then 1.blocks, then 1.

3.3. Divide the circuit using the proposed Divide the circuit using the proposed method, the 1.method, the 1.

Page 32: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

Experimental ResultsExperimental Results

Page 33: Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer Science and Engineering Czech Technical University.

ConclusionsConclusionsA new output-grouping methodA new output-grouping methodBased on FC-MinBased on FC-MinSignificant area reduction observed, with Significant area reduction observed, with

respect to the random techniquerespect to the random technique Input support reduced tooInput support reduced tooVery fastVery fast