The document discusses different types of application specific integrated circuits (ASICs). It describes ASICs as integrated circuits customized for a particular application, as opposed to standard integrated circuits. The document outlines two main types of ASICs: full-custom ASICs which have all logic cells and mask layers customized, and semi-custom ASICs which use pre-designed logic cells but have customized mask layers. Within semi-custom ASICs it distinguishes between standard cell-based and gate array-based designs. The document also covers programmable ASICs including PLDs, CPLDs and FPGAs.