Skip to Main Content
A more restricted definition of a PLA folding is introduced, which is called bipartite folding. The additional constraints of a bipartite folding force the resulting PLA to have a more uniform structure. This structure of a column bipartite folding is then exploited when subsequently folding the rows of the PLA. A column bipartite folding creates fewer constraints upon the ability to fold the rows of the resulting PLA; thus there is a greater probability of folding the rows. Obviously, the more columns and rows of the PLA that are folded, the less area that is needed to implement the PLA. An efficient branch and bound algorithm is presented which finds an optimal bipartite folding of a PLA. Our experimental results shows that the size of an optimal bipartite folding compares favorably to the size of a folding discovered by a heuristic algorithm. This algorithm can also be used to partition a large PLA into smaller PLA's.