Simple Programmable Logic Devices (SPLD) Information
Last revised: October-21, 2024
Reviewed by: Scott Orlosky, consulting engineer
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 7400-series TTL components (AND, OR, and NOT gates).
Simple programmable logic devices typically comprise 4 to 22 fully connected macrocells. These macrocells are typically comprised of some combinatorial logic (such as AND or 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.
NOTE: The above text is used under the Creative Commons Copyright as noted on Wikipedia and is attributed to Ferdjallah, Mohammed (2011). "1.7 Simple Programmable Logic Devices." Introduction to Digital Systems: Modeling, Synthesis, and Simulation Using VHDL. John Wiley & Sons. ISBN 9780470900550 last edited on 26 December 2022, at 18:20 (UTC)
Functions
Programmable Logic Devices (PLDs) are digital devices with configurable logic and flip-flops linked together with a programmable interconnection. 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 logic devices.
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 the exact 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 (Non Recurring Engineering) 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 Logic Devices (FPGAs)
Architecture
There are several manufacturers with many different families of PLDs, 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 PLDs 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 PLDs. 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 voice controlled digital “assistants.”
Simple Programmable Logic Devices (SPLD) FAQs
How do FPGAs support high-speed operation?
Field Programmable Gate Arrays (FPGAs) support high-speed operation through several key features and technologies. Here are the main factors that contribute to their high-speed performance:
High Logic Density
Gate Count: FPGAs offer the highest logic density among programmable logic devices, with hundreds of thousands of gates available. This high logic density allows for the implementation of complex and high-speed circuits.
Advanced I/O Standards
Wide Range of I/O Standards: FPGAs support a wide range of input/output (I/O) standards, which allows them to interface with various high-speed communication protocols and devices. This flexibility is crucial for maintaining high-speed data transfer rates.
Large Number of I/O Pins
I/O Pin Count: FPGAs have a large number of I/O pins, which enables them to handle multiple high-speed signals simultaneously. This capability is essential for applications that require extensive data processing and high-speed communication.
High-Speed Operation
Clock Speeds: FPGAs are designed to operate at high clock speeds, which allows them to process data quickly and efficiently. The high-speed operation is supported by the internal architecture and the use of high-performance transistors and interconnects.
In-System Programming (ISP)
Easy Updates and Modifications: FPGAs support in-system programming, which allows for easy updates and modifications of existing circuits. This feature ensures that the FPGA can be optimized for high-speed performance even after deployment.
Advanced Features
High-Performance Transistors and Interconnects: The internal architecture of FPGAs includes high-performance transistors and interconnects that are optimized for high-speed operation. These components ensure that the FPGA can handle high-frequency signals and complex processing tasks efficiently.
In summary, FPGAs support high-speed operation through their high logic density, advanced I/O standards, large number of I/O pins, high clock speeds, in-system programming capabilities, and the use of high-performance transistors and interconnects. These features make FPGAs suitable for highly complex and demanding applications that require high-speed data processing and communication.
How do CPLDs compare to FPGAs in terms of performance?
Logic Density and Complexity
CPLDs contain thousands of gates, making them suitable for moderately complex applications. They offer a balance between simplicity and complexity, providing sufficient logic resources for a wide range of applications without the extensive capabilities of FPGAs.
FPGAs offer the highest logic density among programmable logic devices, with hundreds of thousands of gates available. This high logic density allows for the implementation of highly complex and high-speed circuits.
Performance and Speed
While CPLDs provide good performance for many applications, they do not match the high-speed capabilities of FPGAs. CPLDs are designed for applications that require moderate performance and do not need the advanced features and high-speed operation of FPGAs.
FPGAs are designed to operate at high clock speeds, which allows them to process data quickly and efficiently. The high-speed operation is supported by the internal architecture and the use of high-performance transistors and interconnects
Standards and Pin Count
CPLDs support a range of I/O standards and have a moderate number of I/O pins, making them suitable for applications that require interfacing with various devices but do not need the extensive I/O capabilities of FPGAs.
FPGAs support a wide range of I/O standards and have a large number of I/O pins, enabling them to handle multiple high-speed signals simultaneously. This capability is essential for applications that require extensive data processing and high-speed communication.
Advanced Features
CPLDs offer features such as in-system programming (ISP), which allows for easy updates and modifications of existing circuits. This feature is beneficial for applications that may require changes after deployment but do not need the advanced capabilities of FPGAs.
FPGAs include advanced features such as high-performance transistors, high-speed interconnects, and support for a wide range of I/O standards. These features make FPGAs suitable for highly complex and demanding applications that require high performance and flexibility.
CPLDs are suitable for moderately complex applications, offering a balance between simplicity and complexity with moderate performance and I/O capabilities.
FPGAs are ideal for highly complex and demanding applications, offering high logic density, advanced features, high-speed operation, and extensive I/O capabilities.
How does in-system programming (ISP) benefit CPLDs?
In-system programming offers several benefits for Complex Programmable Logic Devices (CPLDs). Here are the key advantages:
Easy Updates and Modifications
ISP allows for easy updates and modifications of existing circuits without the need to remove the device from the system. This flexibility is particularly beneficial for applications that may require changes after deployment.
Reduced Development Time
Designers can quickly develop, simulate, and test their designs using inexpensive software tools. The same CPLD used for prototyping can be used in the final production, ensuring a seamless transition from design to manufacturing.
There are no non-recurring engineering costs associated with creating custom hardware for each design iteration. This reduces overall development costs and speeds up the design process.
Enhanced Performance
ISP allows for the optimization of the CPLD for high-speed performance even after deployment. This ensures that the device can be fine-tuned to meet specific performance requirements.
Convenience
Changes can be made to the CPLD while it is still in the system, which is convenient for making adjustments and improvements without interrupting the operation of the entire system.
In summary, in-system programming benefits CPLDs by providing easy updates and modifications, reducing development time, enhancing performance, and offering convenience for in-system adjustments. These advantages make CPLDs a flexible and efficient choice for a wide range of applications.
Simple Programmable Logic Devices (SPLD) Media Gallery
References
GlobalSpec—Programmable Logic Devices (PLD)
GlobalSpec—Digital Electronics and Design with VHDL
Image credits:
Newark / element14 | Digi-Key Electronics