Loading comparison...
Loading comparison...
Programmable Logic Array format for describing digital logic circuits as sum-of-products expressions.
PLA (Programmable Logic Array) format is a standardized text representation for describing digital logic circuits as sum-of-products (SOP) Boolean expressions. The format originated at UC Berkeley alongside the Espresso logic minimization tool in the 1980s, becoming the de facto standard for representing two-level logic networks in electronic design automation (EDA). A PLA file specifies the number of inputs and outputs, followed by a truth table or product term matrix where each row defines an AND-plane entry (product term) and its corresponding OR-plane outputs. The format's simplicity makes it ideal for logic synthesis research, circuit optimization benchmarks, and academic teaching of digital design fundamentals.
Espresso, the seminal logic minimizer developed by Robert Brayton, reads PLA files and produces optimized equivalents with fewer product terms, directly reducing the gate count in physical circuit implementations. PLA format is used in university courses worldwide to teach Boolean algebra, Karnaugh map optimization, and the principles behind logic synthesis tools. The MCNC and LGSynth benchmark suites, widely used in CAD research, distribute circuits in PLA format. Beyond academia, PLA files appear in FPGA design workflows, ASIC synthesis pipelines, and reverse engineering of legacy programmable logic devices.
The format supports don't-care conditions, enabling more aggressive optimization. Despite its age, PLA format remains relevant because its simplicity and well-understood semantics make it a reliable interchange format for logic representations.
PLA file diffs are essential in hardware design because even a single changed bit in the product term matrix alters the circuit's logical behavior. Comparing PLA files before and after Espresso optimization verifies that minimization preserved functional correctness.
Hardware designers, EDA researchers, and students should diff PLA files when reviewing logic changes, validating optimization results, and ensuring that don't-care condition modifications haven't introduced unintended outputs.
UtraDiff compares PLA (Programmable Logic Array) files with syntax highlighting for input/output counts, product terms, and truth table entries. Side-by-side view reveals which logic equations changed between circuit revisions, making modified sum-of-products expressions immediately identifiable.
Inline view consolidates adjacent product term modifications. Alt+arrow navigation jumps between changed logic entries, and the whitespace-ignore toggle filters out column alignment differences in truth table formatting.
Supported extensions: .pla