Difference between revisions of "PLD"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Gate Arrays)
(Comparison Table)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
The late 1970s and early 1980s saw the rise of both 8-bit home computers and Programmable Logic Devices (PLDs). 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.
+
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.
 +
 
 +
<br>
  
 
== Simple Programmable Logic Device (SPLD) ==
 
== 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.
 
SPLDs were the first type of PLDs to be widely used and played a significant role in 8-bit computer design.
 +
 +
<br>
  
 
=== Programmable Array Logic (PAL) ===
 
=== Programmable Array Logic (PAL) ===
  
Introduced by Monolithic Memories in 1978, PALs quickly found applications in 8-bit computer systems.
+
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.
  
Key characteristics:
+
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.
* 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:
+
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.
* 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.
+
<br>
* Example: The CPC 6128 used a PAL for part of its memory management and bank switching logic.
+
 
 +
=== 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.
 +
 
 +
<br>
  
 
=== Generic Array Logic (GAL) ===
 
=== 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.
+
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.
  
Key differences from PALs:
+
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.
* Electrically erasable, allowing for reprogramming
+
* Often pin-compatible with PALs, making them popular for prototyping and upgrades
+
  
Applications:
+
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.
* 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.
+
<br>
  
 
== Programmable Logic Array (PLA) ==
 
== 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.
+
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.
  
Distinguishing features:
+
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.
* Both AND and OR arrays were programmable
+
* Could implement more complex logic functions in a single device
+
  
Applications:
+
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.
* 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.
+
<br>
  
 
== Uncommitted Logic Array (ULA) ==
 
== Uncommitted Logic Array (ULA) ==
  
ULAs played a crucial role in several popular 8-bit computer designs, especially in the UK.
+
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.
  
Key characteristics:
+
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.
* 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:
+
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.
* 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.
+
<br>
  
== Gate Arrays ==
+
== Gate Array ==
  
While less common in 8-bit computers than ULAs, Gate Arrays represented a step towards higher integration and customization.
+
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.
  
Distinguishing features:
+
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.
* Pre-fabricated array of transistors or basic logic gates
+
* Customization done by adding metal layers to create interconnections
+
* Higher density and potentially better performance than ULAs
+
  
Applications:
+
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.
* Gate Arrays were sometimes used in later or more advanced 8-bit computer designs like the Amstrad CPC.
+
* They allowed for more complex custom chips than ULAs, potentially integrating even more functions into a single device.
+
* Example: Some later ZX Spectrum models used gate arrays instead of ULAs, allowing for cost reduction and integration of additional features.
+
  
== Comparison ==
+
<br>
 +
 
 +
== Comparison Table ==
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Feature !! PAL !! GAL !! PLA !! ULA !! Gate Array
+
! Feature !! PAL / HAL !! GAL !! PLA !! ULA !! Gate Array
 
|-
 
|-
 
| Flexibility || Low || Low-Medium || Medium || Medium || Medium-High
 
| Flexibility || Low || Low-Medium || Medium || Medium || Medium-High
Line 91: Line 86:
 
|}
 
|}
  
== Impact on 8-bit Computer Design ==
+
<br>
 
+
The evolution of PLDs had a significant impact on 8-bit computer design:
+
  
Cost Reduction: PLDs, especially ULAs, allowed manufacturers to reduce chip count and board complexity, lowering production costs.
+
== Impact on Computer Design ==
  
Customization: Different PLD types enabled varying degrees of customization, allowing computer manufacturers to differentiate their products.
+
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.
  
Rapid Development: The programmability of devices like PALs and GALs allowed for faster prototyping and iteration in computer design.
+
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.
  
Integration: As PLDs evolved from simple PALs to more complex ULAs and Gate Arrays, they enabled greater integration of functions into single chips.
+
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.
  
Aftermarket Modifications: Devices like GALs enabled enthusiasts to create custom modifications and upgrades for existing 8-bit computers.
+
<br>
  
 
== Summary ==
 
== Summary ==
  
The variety of PLD subtypes available during the 8-bit computer era provided designers with a range of options for implementing custom logic.
+
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 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.
+
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.
  
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.
+
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.
  
 
[[Category:Hardware]] [[Category:Electronic Component]]
 
[[Category:Hardware]] [[Category:Electronic Component]]

Latest revision as of 12:27, 27 September 2024

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.