Output Grouping-Based Decomposition of Logic Functions Petr Fier, Hana Kubtov Department of Computer...
-
Upload
milo-cooper -
Category
Documents
-
view
216 -
download
0
description
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/8.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/15.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/22.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/25.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/26.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/27.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/28.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/29.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/30.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/31.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/32.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022062600/5a4d1b767f8b9ab0599b76e0/html5/thumbnails/33.jpg)
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