Simple programmable logic device
A simple programmable logic device (SPLD) is a programmable logic device with complexity below that of a complex programmable logic device (CPLD).
The term commonly refers to devices such as ROMs, PALs, PLAs and GALs.
Basic description
Simple programmable logic devices (SPLD) are the simplest, smallest and least-expensive forms of programmable logic devices. SPLDs can be used in boards to replace standard logic components (AND, OR, and NOT gates), such as 7400-series TTL.
They typically comprise 4 to 22 fully connected macrocells. These macrocells typically consist of some combinatorial logic (such as AND OR gates) and a flip-flop. In other words, a small Boolean logic equation can be built within each macrocell. This equation will combine the state of some number of binary inputs into a binary output and, if necessary, store that output in the flip-flop until the next clock edge. Of course, the particulars of the available logic gates and flip-flops are specific to each manufacturer and product family. But the general idea is always the same.
Most SPLDs use either fuses or non-volatile memory cells (EPROM, EEPROM, FLASH, and others) to define the functionality.
These devices are also known as:
- Programmable array logic (PAL)
- Generic array logic (GAL)
- Programmable logic arrays (PLA)
- Field-programmable logic arrays (FPLA)
- Programmable logic devices (PLD)
Advantages
PLDs are often used for address decoding, where they have several clear advantages over the 7400-series TTL parts that they replaced: One chip requires less board area, power, and wiring than several do. The design inside the chip is flexible, so a change in the logic does not require any rewiring of the board. Rather, simply replacing one PLD with another part that has been programmed with the new design can alter the decoding logic.
Functions
Programmable Logic Devices (PLDs) are digital devices with configurable logic and flip-flops linked together with programmable interconnect. Logic devices provide specific functions, including:
- Device-to-device interfacing
- Data communication
- Signal processing
- Data display
- Timing
- Control operations
- Almost every other function a system must perform
Memory cells control and define the function that the logic performs and how the various logic functions are interconnected.
Fixed vs. programmable
Logic devices can be classified into two broad categories - fixed and programmable.
Fixed Logic Devices :
As the name suggests, the circuits in a fixed logic device are permanent, they perform one function or set of functions - once manufactured, they cannot be changed.
With fixed logic devices, the time required to go from design, to prototypes, to a final manufacturing run can take from several months to more than a year, depending on the complexity of the device. And, if the device does not work properly, or if the requirements change, a new design must be developed.
Programmable Logic Devices :
On the other hand, programmable logic devices (PLDs) are standard, off-the-shelf parts that offer customers a wide range of logic capacity, features, speed, and voltage characteristics - and these devices can be changed at any time to perform any number of functions.
With programmable logic devices, designers use inexpensive software tools to quickly develop, simulate, and test their designs. Then, a design can be quickly programmed into a device, and immediately tested in a live circuit. The PLD that is used for this prototyping is exactly the same PLD that will be used in the final production of a piece of end equipment, such as a network router, a DSL modem, a DVD player, or an automotive navigation system. There are no NRE costs and the final design is completed much faster than that of a custom, fixed logic device.
Another key benefit of using PLDs is that during the design phase customers can change the circuitry as often as they want until the design operates to their satisfaction. That's because PLDs are based on re-writeable memory technology - to change the design, simply reprogram the device. Once the design is final, customers can go into immediate production by simply programming as many PLDs as they need with the final software design file.
Generally, PLDs can be described as being one of three different types:
- Simple Programmable Logic Devices (SPLDs)
- Complex Programmable Logic Devices (CPLDs)
- Field Programmable Gate Arrays (FPGAs)
Architecture
There are several manufacturers with many different families of PLD devices, so there are many variations in architecture. The two major types of programmable logic devices are field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs). The distinction between the two is often a little fuzzy, with manufacturers designing new, improved architectures, and frequently muddying the waters for marketing purposes. Together, CPLDs and FPGAs are often referred to as High-Capacity Programmable Logic Devices (HCPLDs).
The programming technologies for PLD devices are actually based on the various types of semiconductor memory. As new types of memories have been developed, the same technology has been applied to the creation of new types of PLD devices. The amount of logic resources available is the major distinguishing feature between SPLDs and HCPLDs.
Today, SPLDs are devices that typically contain the equivalent of 600 or fewer gates, while HCPLDs have thousands and hundreds of thousands of gates available. Of the two types of HCPLD devices, FPGAs offer the highest amount of logic density, the most features, and the highest performance.
FPGAs are used in a wide variety of applications ranging from data processing and storage, to instrumentation, telecommunications, and digital signal processing.
CPLDs, by contrast, offer much smaller amounts of logic - up to about 10,000 gates. But CPLDs offer very predictable timing characteristics and are therefore ideal for critical control applications. Some CPLDs require extremely low amounts of power and are very inexpensive, making them ideal for cost-sensitive, battery-operated, portable applications such as mobile phones and digital handheld assistants.
References
Ferdjallah, Mohammed (2011). "1.7 Simple Programmable Logic Devices". Introduction to Digital Systems: Modeling, Synthesis, and Simulation Using VHDL. Safari Books online. John Wiley & Sons. ISBN 9780470900550.