PAL (Programmable Array Logic) has a programmable AND array followed by a fixed OR array. Users can program the AND gates to generate desired product terms, but the OR array connections are fixed at manufacturing time. This gives PAL its flexibility while keeping cost lower than fully programmable PLA.