The late 1970s and early 1980s saw the rise of both 8-bit home computers and Programmable Logic Devices (PLD). This convergence led to interesting applications of early PLD technology in 8-bit computer design. This article explores the various subtypes of PLDs that were relevant during the 8-bit computer era, comparing their characteristics and their use in these pioneering machines.
Simple Programmable Logic Device (SPLD)
SPLDs were the first type of PLDs to be widely used and played a significant role in 8-bit computer design.
Programmable Array Logic (PAL)
Introduced by Monolithic Memories in 1978, PALs quickly found applications in 8-bit computer systems.
Key characteristics:
- Featured a programmable AND array followed by a fixed OR array
- One-time programmable (OTP) or UV-erasable versions available
- Relatively fast and suitable for simple logic functions
Applications:
- Address decoding: PALs were often used to decode memory addresses, allowing for memory bank switching, a common technique in 8-bit computers to expand beyond their native address space.
- I/O interface logic: They simplified the interface between the CPU and various peripherals.
- Example: The CPC 6128 used a PAL for part of its memory management and bank switching logic.
Generic Array Logic (GAL)
GALs, introduced in the mid-1980s, came towards the end of the 8-bit computer era but still found applications in later designs and modifications.
Key differences from PALs:
- Electrically erasable, allowing for reprogramming
- Often pin-compatible with PALs, making them popular for prototyping and upgrades
Applications:
- GALs were often used in aftermarket upgrades or modifications to existing 8-bit computer designs.
- They allowed hobbyists and small companies to create custom expansions more easily.
Programmable Logic Array (PLA)
PLAs offered more flexibility than PALs but were less common in 8-bit computer designs due to higher cost and power consumption.
Distinguishing features:
- Both AND and OR arrays were programmable
- Could implement more complex logic functions in a single device
Applications:
- While less common, PLAs were sometimes used in more complex 8-bit computer designs for tasks like instruction decoding.
- Example: The Commodore 64 used a PLA for part of its chip select and memory mapping logic, demonstrating the device's ability to handle complex logic in a single chip.
Uncommitted Logic Array (ULA)
ULAs played a crucial role in several popular 8-bit computer designs, especially in the UK.
Key characteristics:
- Pre-fabricated silicon wafers with unconnected logic gates
- Customization done by adding metal interconnects in final manufacturing stages
- Allowed for semi-custom chips at lower costs than fully custom ICs
Applications:
- The most famous example is the Ferranti ULA used in the Sinclair ZX Spectrum. This single chip handled various functions including video generation, memory management, and I/O control.
- The Acorn BBC Micro also used a custom ULA for much of its I/O handling and video timing generation.
ULAs allowed 8-bit computer manufacturers to create custom chips that integrated multiple functions, reducing chip count and overall system cost. This was crucial in producing affordable home computers.
Gate Array
While not as common in 8-bit computers as ULAs, Gate Arrays were an important step toward greater integration and customization. These devices used a pre-made array of transistors or basic logic gates, and they could be customized by adding metal layers to create connections. This method allowed for a higher density of components and potentially better performance than ULAs, making them a solid choice for certain uses.
Gate Arrays found their place in later or more advanced 8-bit computer designs. For instance, the Amstrad CPC used Gate Arrays to create more complex custom chips. This capability enabled designers to combine additional functions into a single device, improving the overall performance and versatility of the computer.
A good example is the later models of the ZX Spectrum, which switched to using Gate Arrays instead of ULAs. This change not only helped reduce costs but also allowed for extra features, giving users better functionality. Overall, Gate Arrays played a valuable role in the development of 8-bit computers, contributing to improvements in efficiency and customization.
Comparison Table
Feature | PAL | GAL | PLA | ULA | Gate Array |
---|---|---|---|---|---|
Flexibility | Low | Low-Medium | Medium | Medium | Medium-High |
Integration Level | Low | Low | Low-Medium | High | High |
Cost in Volume | Low | Low | Medium | Medium | Medium-High |
Customization | Limited | Limited | Medium | High | High |
Reprogrammability | No (some UV-erasable) | Yes | No | No | No |
Typical Use | Glue logic, address decoding | Upgrades, modifications | Complex logic functions | Multi-function custom chip | Advanced custom logic |
Impact on Computer Design
The evolution of PLDs really changed the game for 8-bit computer design. For starters, they helped cut costs big time. By using PLDs, especially ULAs, manufacturers could simplify their boards and reduce the number of chips needed, which made production cheaper. This also let computer makers customize their products more easily, helping them stand out in a crowded market.
On top of that, PLDs sped up development like crazy. With devices like PALs and GALs, designers could prototype quickly and make changes on the fly. As these technologies evolved from basic PALs to more advanced ULAs and Gate Arrays, they packed more functions into single chips, making computers more efficient.
Finally, PLDs opened the door for fun aftermarket mods. With devices like GALs, enthusiasts could create custom upgrades for their 8-bit computers, leading to a lively community of innovation and personalization. This ability to tweak and enhance hardware made the whole experience more engaging for users.
Summary
The variety of PLD subtypes available during the 8-bit computer era provided designers with a range of options for implementing custom logic.
From simple PALs used for address decoding to complex ULAs that integrated multiple system functions, these devices were crucial in the evolution of 8-bit computer design. They allowed for cost-effective customization and helped drive the home computer revolution of the 1980s.
The legacy of these early PLDs can be seen in the complex programmable logic devices (CPLD), ASIC and FPGAs used in modern computing systems, which trace their lineage back to these pioneering devices of the 8-bit era.