Designing with FPGAs and CPLDs

Complex Programmable Logic Devices are exactly what they claim to be: logic devices that are complex and programmable. There are two main engineering features to understand about CPLDs that separate them from their cousins, FPGAs. One feature is the internal architecture of the device and how this architecture implements various logic functions. The second feature is the semiconductor technology that allows the devices to be programmed and allows various structures in the device to be connected.
This chapter focuses on the architecture and technologies of CPLDs. This chapter should help you:
Understand the internal architecture of CPLDs
Gain knowledge of the technologies used for programming and connecting internal blocks of CPLDs
Learn the advantages and tradeoffs of different architectures and technologies
Essentially, CPLDs are designed to appear just like a large number of PALs in a single chip, connected to each other through a crosspoint switch. This architecture made them familiar to their target market PC board designers who were already designing PALs in their boards. Many CPLDs were used to simply combine multiple PALs in order to save real estate on a PC board. CPLDs use the same development tools and programmers as PALs, and are based on the same technologies as PALs, but they can handle much more complex logic and more of it.
The diagram in Figure 2.1 shows the internal architecture of a typical CPLD. Although each manufacturer has a different variation, in general they are all similar in that they...