Title: Output GroupingBased Decomposition of Logic Functions
1Output Grouping-Based Decomposition of Logic
Functions
- Petr Fier, Hana Kubátová
- Department of Computer Science and Engineering
- Czech Technical University
2Outline
- Motivation
- Single-Level Partitioning
- Proposed Method
- Basic FC-Min Principles
- Output Grouping
- Experimental Results
- Conclusions
3Motivation
- Typical logic synthesis process
- Perform Boolean minimization
- Multi-level synthesis, decomposition
- Technology mapping
- These phases are often independent on each other
- ineffective
4Motivation
- Boolean minimization should be driven towards the
target technology
5Single-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
6Single-Level Partitioning
- The way how to minimize the number of inputs of
the blocks proposed before - Fier, 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) - The issue how to group the outputs to minimize
the complexity of the blocks
7Proposed Method
- Method to determine the output grouping
- Based on FC-Min, even when no minimization is
involved - Significant reduction in area overhead, for both
the two-level and multi-level implementations - Input set is reduced as well
8FC-Min
- Two-level Boolean minimizer
- Primarily designed for group minimization
- Produces only the necessary group implicants no
excessive implicants are generated - First, the on-set cover is found (Find Cover)
- Then implicants are computed
9Find Cover
- Generates rectangle cover of the on-set
- Determines the number of product terms in the
solution, not their structure - Independent on literals
- Directly determines group implicants
10Find Cover
11Output Grouping
- 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
12Output Grouping
- Grouping matrix (G-Matrix)
- Combines influences of various group implicants
- Symmetric matrix of dimensions m, m
- The value of Gi, j defines the strength binding
the two output variables i and j together
13Output Grouping
Initial State
12345 1 00000 2 00000 3 00000 4 00000 5 00000
14Output Grouping
T1 added
01234 0 00000 1 00000 2 00000 3 00001 4 00010
15Output Grouping
T2 added
01234 0 00000 1 00100 2 01000 3 00001 4 00010
16Output Grouping
T3 added
01234 0 00100 1 00100 2 11000 3 00001 4 00010
17Output Grouping
T4 added
01234 0 00100 1 00110 2 11000 3 01001 4 00010
18Output Grouping
T6 added
01234 0 00100 1 00110 2 11001 3 01001 4 00110
19Output Grouping
T1 added
Another cover, 2nd G-Matrix
01234 0 00000 1 00000 2 00011 3 00101 4 00110
20Output Grouping
T2 added
Another cover, 2nd G-Matrix
01234 0 00000 1 00101 2 01012 3 00101 4 01210
21Output Grouping
T3 added
Another cover, 2nd G-Matrix
01234 0 00000 1 00111 2 01012 3 01101 4 01210
22Output Grouping
T4 added
Another cover, 2nd G-Matrix
01234 0 00100 1 00111 2 11012 3 01101 4 01210
23Output Grouping
T5 added
Another cover, 2nd G-Matrix
01234 0 00100 1 00211 2 12012 3 01101 4 01210
24Output Grouping
T6 added
Another cover, 2nd G-Matrix
01234 0 00100 1 00211 2 12012 3 01102 4 01220
25Output Grouping
Normalization transform into lt0, 1gt
01234 0 00100 1 00211 2 12012 3 01102 4 01220
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
26Output Grouping
Summing the two matrices
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
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
27Output Grouping
- Final output grouping
- Task
- Divide the 5-output circuit into max. 3-output
blocks
28Output Grouping
Final output grouping
Find maximum
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
B1 1, 2
29Output Grouping
Final output grouping
Find maximum in row 1 and column 2
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
Select 4
B1 1, 2, 4
30Output Grouping
Final output grouping
B1 1, 2, 4 B2 0, 3
31Experimental Results
- Hard MCNC benchmarks
- 3 experiments for each
- Minimize by Boom and decompose into2-input gate
network using SIS - Randomly divide the circuit into several blocks,
then 1. - Divide the circuit using the proposed method, the
1.
32Experimental Results
33Conclusions
- A new output-grouping method
- Based on FC-Min
- Significant area reduction observed, with respect
to the random technique - Input support reduced too
- Very fast