Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University."— Presentation transcript:

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


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

Similar presentations


Ads by Google