Download presentation
Presentation is loading. Please wait.
Published byMilo Cooper Modified over 8 years ago
1
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University
2
Outline Motivation Motivation Single-Level Partitioning Single-Level Partitioning Proposed Method Proposed Method Basic FC-Min Principles Basic FC-Min Principles Output Grouping Output Grouping Experimental Results Experimental Results Conclusions Conclusions
3
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
4
Motivation Boolean minimization should be driven towards the target technology
5
Single-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
6
Single-Level Partitioning The way how to minimize the number of inputs of the blocks proposed before The way how to minimize the number of inputs of the blocks proposed before Fišer, P. - Kubátová, H.: Single-Level Partitioning Support in BOOM-II, Proc. 2nd Descrete-Event System Design 2004 (DESDes'04), Dychów, Poland, 15.-17.9.04, pp. 149-154 Reducing the input set means an increase of the size of the circuits (some of the group terms cannot be shared) Reducing the input set means an increase of the size of the circuits (some of the group terms cannot be shared) The issue: how to group the outputs to minimize the complexity of the blocks
7
Proposed Method Method to determine the “output grouping” Method to determine the “output grouping” Based on FC-Min, even when no minimization is involved Based on FC-Min, even when no minimization is involved Significant reduction in area overhead, for both the two-level and multi-level implementations Significant reduction in area overhead, for both the two-level and multi-level implementations Input set is reduced as well Input set is reduced as well
8
FC-Min Two-level Boolean minimizer Two-level Boolean minimizer Primarily designed for group minimization Primarily designed for group minimization Produces only the necessary group implicants – no excessive implicants are generated Produces only the necessary group implicants – no excessive implicants are generated First, the on-set cover is found (Find Cover) First, the on-set cover is found (Find Cover) Then implicants are computed Then implicants are computed
9
Find Cover Generates rectangle cover of the on-set Generates rectangle cover of the on-set Determines the number of product terms in the solution, not their structure Determines the number of product terms in the solution, not their structure Independent on literals Independent on literals Directly determines group implicants
10
Find Cover
11
Output Grouping Main idea: outputs that share many group implicants should be grouped together Main idea: outputs that share many group implicants should be grouped together The effects are obvious for two-level minimization, however the same can be observed for multi-level implementation The effects are obvious for two-level minimization, however the same can be observed for multi-level implementation
12
Output Grouping Grouping matrix (G-Matrix) Combines influences of various group implicants Combines influences of various group implicants Symmetric matrix of dimensions [m, m] Symmetric matrix of dimensions [m, m] The value of G[i, j] defines the strength binding the two output variables i and j together The value of G[i, j] defines the strength binding the two output variables i and j together
13
Output Grouping G-Matrix Example 12345 1 00000 2 00000 3 00000 4 00000 5 00000 Initial State
14
Output Grouping G-Matrix Example 01234 0 00000 1 00000 2 00000 3 00001 4 00010 T 1 added
15
Output Grouping G-Matrix Example 01234 0 00000 1 00100 2 01000 3 00001 4 00010 T 2 added
16
Output Grouping G-Matrix Example 01234 0 00100 1 00100 2 11000 3 00001 4 00010 T 3 added
17
Output Grouping G-Matrix Example 01234 0 00100 1 00110 2 11000 3 01001 4 00010 T 4 added
18
Output Grouping G-Matrix Example 01234 0 00100 1 00110 2 11001 3 01001 4 00110 T 6 added
19
Output Grouping G-Matrix Example 01234 0 00000 1 00000 2 00011 3 00101 4 00110 T 1 added Another cover, 2 nd G-Matrix
20
Output Grouping G-Matrix Example 01234 0 00000 1 00101 2 01012 3 00101 4 01210 T 2 added Another cover, 2 nd G-Matrix
21
Output Grouping G-Matrix Example 01234 0 00000 1 00111 2 01012 3 01101 4 01210 T 3 added Another cover, 2 nd G-Matrix
22
Output Grouping G-Matrix Example 01234 0 00100 1 00111 2 11012 3 01101 4 01210 T 4 added Another cover, 2 nd G-Matrix
23
Output Grouping G-Matrix Example 01234 0 00100 1 00211 2 12012 3 01101 4 01210 T 5 added Another cover, 2 nd G-Matrix
24
Output Grouping G-Matrix Example 01234 0 00100 1 00211 2 12012 3 01102 4 01220 T 6 added Another cover, 2 nd G-Matrix
25
Output Grouping G-Matrix Example 01234 0 00100 1 00211 2 12012 3 01102 4 01220 Normalization – transform into 0 1 2 3 4 0 0 0 0.5 0 0 1 0 0 1 0.5 0.5 2 0.5 1 0 0.5 1 3 0 0.5 0.5 0 1 4 0 0.5 1 1 0 :2
26
Output Grouping G-Matrix Example Summing the two matrices: 0 1 2 3 4 0 0 0 0.5 0 0 1 0 0 1 0.5 0.5 2 0.5 1 0 0.5 1 3 0 0.5 0.5 0 1 4 0 0.5 1 1 0 01234 0 00100 1 00110 2 11001 3 01001 4 00110 0 1 2 3 4 0 0 0 1.5 0 0 1 0 0 2 1.5 0.5 2 1.5 2 0 0.5 2 3 0 1.5 0.5 0 2 4 0 0.5 2 2 0 + =
27
Output Grouping G-Matrix Example Final output grouping Task: Divide the 5-output circuit into max. 3-output blocks
28
Output Grouping G-Matrix Example Final output grouping 0 1 2 3 4 0 0 0 1.5 0 0 1 0 0 2 1.5 0.5 2 1.5 2 0 0.5 2 3 0 1.5 0.5 0 2 4 0 0.5 2 2 0 Find maximum 6 possibilities – one at random G[1, 2] B 1 = {1, 2}
29
Output Grouping G-Matrix Example Final output grouping 0 1 2 3 4 0 0 0 1.5 0 0 1 0 0 2 1.5 0.5 2 1.5 2 0 0.5 2 3 0 1.5 0.5 0 2 4 0 0.5 2 2 0 Find maximum in row 1 and column 2 B 1 = {1, 2, 4} Select 4
30
Output Grouping G-Matrix Example Final output grouping B 1 = {1, 2, 4} B 2 = {0, 3}
31
Experimental Results Hard MCNC benchmarks 3 experiments for each: 1. Minimize by Boom and decompose into 2-input gate network using SIS 2. Randomly divide the circuit into several blocks, then 1. 3. Divide the circuit using the proposed method, the 1.
32
Experimental Results
33
Conclusions A new output-grouping method A new output-grouping method Based on FC-Min Based on FC-Min Significant area reduction observed, with respect to the random technique Significant area reduction observed, with respect to the random technique Input support reduced too Input support reduced too Very fast Very fast
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.