Graph folding and programmable logic array

The problem of compacting a programmable logic array is formulated as the following graph problem. Given a red-edge bipartite graph, how to add maximum number of independent green edges such that there are no cycles formed by alternating red and green edges. For this NP-complete problem, we present a polynomial heuristic algorithm which gives an optimum solution when the red bipartite graph satisfies certain conditions, e.g., a tree. When the bipartite graph does not satisfy these conditions, the heuristic algorithm gives a solution with worst-case error bound. For a red bipartite graph with given cardinality, we give a tight upper bound on the number of green edges.

[1]  Alberto L. Sangiovanni-Vincentelli,et al.  Techniques for Programmable Logic Array Folding , 1982, 19th Design Automation Conference.

[2]  Alberto L. Sangiovanni-Vincentelli,et al.  An Algorithm for Optimal PLA Folding , 1982, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Saburo Muroga,et al.  VLSI system design , 1982 .

[4]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .