Programmable Array Logic


Programmable Array Logic is a family of programmable logic device semiconductors used to implement logic functions in digital circuits introduced by Monolithic Memories, Inc. in March 1978. MMI obtained a registered trademark on the term PAL for use in "Programmable Semiconductor Logic Circuits". The trademark is currently held by Lattice Semiconductor.
PAL devices consisted of a small PROM core and additional output logic used to implement particular desired logic functions with few components.
Using specialized machines, PAL devices were "field-programmable". PALs were available in several variants:
In most applications, electrically-erasable GALs are now deployed as pin-compatible direct replacements for one-time programmable PALs.

History

Before PALs were introduced, designers of digital logic circuits would use small-scale integration components, such as those in the 7400 series TTL family; the 7400 family included a variety of logic building blocks, such as gates, multiplexers and demultiplexers, flip flops and others. One PAL device would typically replace dozens of such "discrete" logic packages, so the SSI business declined as the PAL business took off. PALs were used advantageously in many products, such as minicomputers, as documented in Tracy Kidder's best-selling book The Soul of a New Machine.
PALs were not the first commercial programmable logic devices; Signetics had been selling its field programmable logic array since 1975. These devices were completely unfamiliar to most circuit designers and were perceived to be too difficult to use. The FPLA had a relatively slow maximum operating speed, was expensive, and had a poor reputation for testability. Another factor limiting the acceptance of the FPLA was the large package, a 600-mil wide 28-pin dual in-line package.
The project to create the PAL device was managed by John Birkner and the actual PAL circuit was designed by H. T. Chua. In a previous job, Birkner had developed a 16-bit processor using 80 standard logic devices. His experience with standard logic led him to believe that user programmable devices would be more attractive to users if the devices were designed to replace standard logic. This meant that the package sizes had to be more typical of the existing devices, and the speeds had to be improved. MMI intended PALs to be a relatively low cost part. However, the company initially had severe manufacturing yield problems and had to sell the devices for over $50. This threatened the viability of the PAL as a commercial product, and MMI was forced to license the product line to National Semiconductor. PALs were later "second sourced" by Texas Instruments and Advanced Micro Devices.

Process technologies

Early PALs were 20-pin DIP components fabricated in silicon using bipolar transistor technology with one-time programmable titanium-tungsten programming fuses. Later devices were manufactured by Cypress, Lattice Semiconductor and Advanced Micro Devices using CMOS technology.
The original 20 and 24-pin PALs were denoted by MMI as medium-scale integration devices.

PAL architecture

The PAL architecture consists of two main components: a logic plane and output logic macrocells.

Programmable logic plane

The programmable logic plane is a programmable read-only memory array that allows the signals present on the device pins, or the logical complements of those signals, to be routed to output logic macrocells.
PAL devices have arrays of transistor cells arranged in a "fixed-OR, programmable-AND" plane used to implement "sum-of-products" binary logic equations for each of the outputs in terms of the inputs and either synchronous or asynchronous feedback from the outputs.

Output logic

The early 20-pin PALs had 10 inputs and 8 outputs. The outputs were active low and could be registered or combinational. Members of the PAL family were available with various output structures called "output logic macrocells" or OLMCs. Prior to the introduction of the "V" series, the types of OLMCs available in each PAL were fixed at the time of manufacture. Each output could have up to 8 product terms, however the combinational outputs used one of the terms to control a bidirectional output buffer. There were other combinations that had fewer outputs with more product terms per output and were available with active high outputs. The 16X8 family or registered devices had an XOR gate before the register. There were also similar 24-pin versions of these PALs.
This fixed output structure often frustrated designers attempting to optimize the utility of PAL devices because output structures of different types were often required by their applications. So, in June 1983 AMD introduced the 22V10, a 24 pin device with 10 output logic macrocells. Each macrocell could be configured by the user to be combinational or registered, active high or active low. The number of product terms allocated to an output varied from 8 to 16. This one device could replace all of the 24 pin fixed function PAL devices. Members of the PAL "V" series included the PAL16V8, PAL20V8 and PAL22V10.

Programming PALs

PALs were programmed electrically using binary patterns and a special electronic programming system available from either the manufacturer or a third-party, such as DATA/IO. In addition to single-unit device programmers, device feeders and gang programmers were often used when more than just a few PALs needed to be programmed.

Programming languages (by chronological order of appearance)

Though some engineers programmed PAL devices by manually editing files containing the binary fuse pattern data, most opted to design their logic using a hardware description language such as Data I/O's ABEL, Logical Devices' CUPL, or MMI's PALASM. These were computer-assisted design programs which translated the designers' logic equations into binary fuse map files used to program each device.

PALASM

The PALASM language was developed by John Birkner in the early 1980s and the PALASM compiler was written by MMI in FORTRAN IV on an IBM 370/168. MMI made the source code available to users at no cost. By 1983, MMI customers ran versions on the DEC PDP-11, Data General NOVA, Hewlett-Packard HP 2100, MDS800 and others.
It was used to express boolean equations for the output pins in a text file which was then converted to the 'fuse map' file for the programming system using a vendor-supplied program; later the option of translation from schematics became common, and later still, 'fuse maps' could be 'synthesized' from an HDL such as Verilog.

CUPL

Assisted Technology released CUPL in September 1983. The software was always referred to as CUPL and never the expanded acronym. It was the first commercial design tool that supported multiple PLD families. The initial release was for the IBM PC and MS-DOS, but it was written in the C programming language so it could be ported to additional platforms. Assisted Technology was acquired by Personal CAD Systems in July 1985. In 1986, PCAD's schematic capture package could be used as a front end for CUPL. CUPL was later acquired by Logical Devices and is now owned by Altium Limited of Australia. CUPL is currently available as an integrated development package for Microsoft Windows.
Atmel releases for free .

ABEL

released ABEL in April, 1984. The development team was Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright, Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier and Charles Olivier.
Data I/O spun off the ABEL product line into an EDA company called Synario Design Systems and then sold Synario to MINC Inc in 1997.
MINC was focused on developing FPGA development tools. The company closed its doors in 1998 and Xilinx acquired some of MINC’s assets including the ABEL language and tool set. ABEL then became part of the Xilinx Webpack tool suite.
Now Xilinx owns ABEL.

Device programmers

Popular device programmers included Data I/O Corporation's Model 60A Logic Programmer and Model 2900.
One of the very first PAL Programmers was the Structured Design SD20/24. They had the PALASM software built-in and only required a CRT terminal to enter the equations and view the fuse plots. After fusing, the outputs of the PAL could be verified if test vectors were entered in the source file.

Successors

After MMI succeeded with the 20-pin PAL parts introduced circa 1978, AMD introduced the 24-pin 22V10 PAL with additional features. After buying out MMI, AMD spun off a consolidated operation as Vantis, and that business was acquired by Lattice Semiconductor in 1999.
Altera introduced the EP300 in 1983 and later moved into the FPGA business.
Lattice Semiconductor introduced the generic array logic family in 1985, with functional equivalents of the "V" series PALs that used reprogrammable logic planes based on EEPROM technology. National Semiconductor was a "second source" of GAL parts.
AMD introduced a similar family called PALCE. In general one GAL part is able to function as any of the similar family PAL devices. For example, the 16V8 GAL is able to replace the 16L8, 16H8, 16H6, 16H4, 16H2 and 16R8 PALs.
ICT introduced the PEEL 18CV8 in 1986. The 20-pin CMOS EEPROM part could be used in place of any of the registered-output bipolar PALs and used much less power.
Larger-scale programmable logic devices were introduced by Atmel, Lattice Semiconductor, and others. These devices extended the PAL architecture by including multiple logic planes and/or burying logic macrocells within the logic plane. The term "complex programmable logic device" was introduced to differentiate these devices from their PAL and GAL predecessors, which were then sometimes referred to as "simple programmable logic devices" or SPLDs.
Another large programmable logic device is the "field-programmable gate array" or FPGA. These are devices currently made by Intel and Xilinx and other semiconductor manufacturers.