PLD

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 22:14, 21 September 2024 by Phi2x (Talk | contribs) (Programmable Logic Array (PLA))

Jump to: navigation, search

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 greater flexibility than PALs but were less common in 8-bit computer designs due to their higher cost and power consumption. They featured programmable AND and OR arrays, which allowed for the implementation of more complex logic functions in a single device.

Despite their limited use, PLAs were sometimes chosen for advanced 8-bit systems, particularly for tasks like instruction decoding. A notable example is the Commodore 64, which used a PLA for part of its chip select and memory mapping logic. This illustrated the PLA’s ability to manage complex logic efficiently.

While not as widely adopted, PLAs highlighted the need for flexibility in computer design. They were valuable in specific applications where intricate functionality was required, showing their importance in the development of certain complex 8-bit systems.


Uncommitted Logic Array (ULA)

ULAs were key to the design of 8-bit computers in the UK, allowing for cost-effective and efficient solutions. They used pre-fabricated silicon wafers with unconnected logic gates, which manufacturers could customize by adding metal interconnects during final production. This approach made semi-custom chips cheaper than fully custom ones.

A prime example is the Ferranti ULA in the Sinclair ZX Spectrum, which handled video generation, memory management, and I/O control. This integration reduced the number of components needed, keeping costs low. Similarly, the Acorn BBC Micro featured a custom ULA that managed I/O and video timing.

By combining multiple functions into a single chip, ULAs helped produce affordable home computers, making technology more accessible to many. Their introduction marked an important shift in computer design, driving the evolution of personal computing.


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.