PLD

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search

In the late 1970s and early 1980s, both 8-bit home computers and Programmable Logic Devices (PLDs) started gaining popularity. As these technologies came together, they opened up exciting possibilities for using early PLD technology in the design of 8-bit computers. In this article, we'll take a look at the different types of PLDs that were important during this era, explore their features, and see how they were applied.


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)

PALs, introduced in 1978 by Monolithic Memories Inc (MMI), became important in many 8-bit computers. They featured a programmable AND array and a fixed OR array, making them useful for handling simple logic tasks. PALs came in one-time programmable or UV-erasable versions, offering flexibility to developers.

One common use for PALs was address decoding, which enabled memory bank switching, allowing computers to access more memory than their basic design supported. PALs were also used to simplify communication between the CPU and peripherals.

For example, the Amstrad CPC 6128 used a PAL to manage memory and bank switching, showing how these chips helped improve performance in small, affordable computers.


Hard Array Logic (HAL)

MMI also offered a similar family called HAL, or "Hard Array Logic", which were like PAL devices except that they were mask-programmed at the factory.

HAL and PAL have been used interchangeably by Amstrad.


Generic Array Logic (GAL)

GALs were introduced in the mid-1980s, coinciding with the end of the 8-bit computer era, but they still found use in later designs and modifications. One of their main advantages was being electrically erasable and reprogrammable, which distinguished them from traditional PALs. This feature allowed developers to easily make adjustments without needing new chips.

GALs were also often pin-compatible with PALs, making it easy to swap them in for prototyping and upgrades. This compatibility led to their popularity in various applications, especially where quick changes were needed.

In practice, GALs were frequently used for aftermarket upgrades and modifications to 8-bit computers. They allowed hobbyists and small companies to create custom expansions more easily, promoting innovation in computing. Overall, GALs played an important role in linking classic 8-bit systems with newer technology demands.


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 / HAL 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

During the 8-bit computer days, there were all kinds of PLD (programmable logic device) subtypes that gave designers plenty of options for customizing their systems.

From basic PALs used for things like address decoding, to more advanced ULAs that packed in multiple system functions, these devices played a key role in shaping 8-bit computer design. They were a cost-effective way to tweak systems and were a big part of the home computer boom in the 1980s.

You can still see the impact of these early PLDs in today’s more advanced chips like CPLDs, ASICs, and FPGAs, which all trace their roots back to the 8-bit era.