Logic arrays

What Are Logic Arrays?

Logic arrays are structured digital circuits that implement Boolean functions through a regular, two-dimensional arrangement of AND and OR logic planes. Rather than assembling combinational logic from individual gates, a logic array organizes gates into a systematic array in which product terms (AND-plane outputs) feed an OR plane to form sum-of-products expressions. This regular geometry makes the structure manufacturable with high density and lends itself to programmability, allowing a single physical device to realize many different logic functions depending on how its connections are configured.

Logic arrays trace their origins to the 1970s, when semiconductor designers sought a more flexible alternative to mask-programmed read-only memories and custom gate arrays. The introduction of Programmable Logic Array (PLA) and Programmable Array Logic (PAL) devices established a new device family that simplified digital system design and reduced the component count for medium-complexity combinational and registered logic functions.

Programmable Logic Arrays and Programmable Array Logic

A programmable logic array (PLA) is a device in which both the AND plane and the OR plane are user-programmable. The designer specifies a set of product terms and selects which product terms combine to form each output function. This dual programmability gives the PLA maximum flexibility to implement any multi-output combinational function up to the capacity of the device. A programmable array logic (PAL) device simplifies the architecture by fixing the OR plane and making only the AND plane programmable. The fixed OR structure reduces interconnect delays and shrinks die area, making PALs faster and less expensive than full PLAs for functions that fit within the OR-plane constraints. PAL devices introduced in 1978 by Monolithic Memories brought user-configurable logic to a broad market and established the device-programming model that later influenced all programmable logic.

Fuse-link or antifuse technologies configure these devices during a one-time programming step. EEPROM-based variants, which appeared in the 1980s under the generic name GAL (Generic Array Logic), allowed devices to be erased and reprogrammed in-circuit, greatly simplifying system development.

Complex Programmable Logic Devices and FPGAs

Complex programmable logic devices (CPLDs) extend the PLA/PAL model by integrating multiple logic blocks on a single chip, connected through a programmable routing matrix. Each block retains the sum-of-products structure of classical arrays, but the inter-block routing adds the capacity to implement multi-level logic across a single device. CPLDs maintain non-volatile configuration storage (typically EEPROM), so the device is immediately functional after power-on without an external configuration file.

Field-programmable gate arrays (FPGAs) represent a more significant architectural departure. Rather than AND-OR planes, FPGAs use look-up tables (LUTs) as their basic logic element, allowing each cell to compute any function of its N inputs by table lookup. This shift toward LUT-based logic, combined with dedicated flip-flops, block RAM, and hard arithmetic units, gives FPGAs substantially greater capacity and flexibility than CPLDs. The IEEE Xplore publication on design and implementation of PAL and PLA using reversible logic on FPGA illustrates how classical array logic structures can be emulated and studied within FPGA environments.

Implementation Technologies

Logic array cells are fabricated using standard CMOS processes, and the programmable elements use one of several technologies: fuse (irreversible, single-programming), antifuse (irreversible, used in radiation-hardened designs), EEPROM (reprogrammable, non-volatile), SRAM (reprogrammable, volatile, requires loading on power-up), or flash memory. The ScienceDirect overview of programmable logic array architectures and their applications surveys how these implementation choices affect density, speed, and power consumption across the device family.

Applications

Logic arrays have applications in a wide range of fields, including:

  • Digital control systems requiring fast combinational logic with fixed functionality
  • Glue logic and interface translation between bus protocols in embedded systems
  • State machine implementation in communication controllers and protocol engines
  • Radiation-hardened electronics for aerospace and defense applications
  • Rapid prototyping and system emulation of application-specific integrated circuit designs
Loading…