Functional testing, as opposed to parametric testing, plays an important role in testing VLSI integrated circuits. However, it appears that designs are not always carefully analysed in advance to determine precisely which faults are clean, i.e. testable by logic means alone. The programmable logic array (PLA) is a popular circuit form used to implement a system of Boolean functions over a set of input variables. This paper considers the testability of the dynamic CMOS PLA with respect to an extended switch-level fault model that includes node faults, transistor stuck-opens and stuck-ons, interconnect breaks, ohmic shorts, and crosspoint faults. Single occurrences of each fault in the fault model are classified as either clean, unclean, or clean subject to conditions on the products and output functions computed by the PLA. Finally, a modified dynamic CMOS PLA design is described and its improved switch-level testability properties are given. © 1990.