This document discusses different types of programmable logic devices including PLA, PAL, and ROM. PLAs are programmable logic arrays that contain a matrix of AND gates and OR gates that can be programmed to implement different logic functions. PALs are similar but have a fixed OR array. ROMs can also implement logic functions and act as a memory device where the address inputs select the output values. Examples are given of implementing logic functions using PLA, PAL, and ROM structures.