SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University
Outline Motivation Single-Level Partitioning Constraint-Driven Minimization BOOM-II & Its Modifications Experimental Results Conclusions
Motivation Typical logic synthesis process: Perform two-level minimization Then do the decomposition, independently on the previous phase Then apply other criteria (low power, DFT) Two-level minimization is performed independently on the following phases – can misguide the solution
Single-Level Partitioning Two-level AND-OR network The issue: limited number of inputs/outputs in real devices Solution: divide the circuit into stand-alone blocks, while reducing number of their inputs In praxis, not all the inputs are needed to generate values of particular outputs it is possible
Constraint-Driven Minimization Two-level Partitioning - divide circuit into blocks - keep the number of inputs minimal Design for Testability - reduce the cone size Load Balancing - divide circuit into blocks - reduce the number of branchings ???
BOOM-II Heuristic two-level Boolean minimizer Composition of two minimizers - BOOM - FC-Min BOOM is suitable for functions with a large number of inputs FC-Min is suitable for functions with a large number of outputs Iterative minimization – both the minimizers are being alternated
BOOM-II
BOOM: CD-Search Generates an irredundant set of implicants covering the on-set of a single-output function Implicants are being constructed top-down, i.e., by reducing a universal hypercube until it becomes an implicant - by adding literals to a term Greedy heuristic
BOOM: CD-Search Literals to be added to a term are being selected using a scoring function - frequency of occurrence For partitioning: the frequency of the literal that is already included in the processed block is multiplied by the CD-Search partitioning force
BOOM: IE, IR Implicant Expansion - expands implicants to PIs - no modification Implicant Reduction - reduces PIs to group implicants - no modification
FC-Min: Find Cover Generates a cover of the on-set Determines the number of product terms in the solution, not their structure It is not dependent on input literals – cannot be modified However - it strictly defines what terms would be shared among what output variables - it determines what outputs would be grouped together
FC-Min: Implicant Generation Generates implicants from the cover Purely deterministic – cannot be modified
FC-Min: Implicant Expansion Expands implicants to reduce no. of literals Can be influenced - literals of variables included in other blocks are removed first
CP Solution The essential phase Finds an irredundant set of implicants Constructs the final solution A greedy incremental heuristic, based on a scoring function To apply partitioning, additional weights are assigned to the implicants, the weights modify the scoring function
Experimental Results Boolean function: 50 inputs, 40 outputs, into 4 blocks no partitioning with partitioning Sum of # of inputs 200 114 Branchings 150 67 Maximum load 4 Average load 2.34 GEs 2375.5 2874.5 Block 0 inputs 50 30 Block 1 inputs Block 2 inputs 26 Block 3 inputs 28
Conclusions Constraint-Driven two-level minimization support in BOOM-II was presented Partitioning Design for testability Low power design …