A method that includes steps for determining an optimum splitting variable
and dividing a programmable logic array (PLA) into a first sub-PLA and a
second sub-PLA based on the splitting variable is presented. The method
also provides for gating logic to be applied to the first sub-PLA and the
second sub-PLA. Power consumption is then controlled in the first sub-PLA
and the second sub-PLA so only one of the first sub-PLA and the second
sub-PLA contributes to power consumption. In another embodiment, a PLA be
recursively divided into a plurality of sub-PLAs.