The Boolean Product of Sums (POS) is a standard logic expression format where multiple OR gates (sum terms) feed into a single AND gate (product), defining the exact input conditions that force a circuit's output to a logic LOW (0). When you are designing digital interlocks, mapping Programmable Array Logic (PAL) architectures, or writing hardware description languages (HDL) for FPGAs, choosing POS over its counterpart (Sum of Products) can shave nanoseconds off propagation delay, reduce physical gate count on silicon, and simplify safety-critical shutdown logic.
The Anatomy of a Product of Sums Expression
To work with POS, you have to mentally decouple the words 'product' and 'sum' from their arithmetic meanings. In Boolean algebra, a sum refers to the logical OR operation (represented by a plus sign, +), and a product refers to the logical AND operation (represented by a dot, ·, or simply adjacent variables).
A standard POS expression looks like this: Y = (A + B + C') · (A' + B + C). Here, the variables inside the parentheses are ORed together to form 'sum terms' (also known as maxterms when every variable is represented). These individual sum terms are then ANDed together to form the final 'product'.
The fundamental rule of POS is that the entire expression evaluates to 0 if any single sum term evaluates to 0. Conversely, for the final output to be 1, every single sum term must evaluate to 1. This makes POS inherently focused on the '0' outputs (the failures, trips, or false states) of a truth table.
Worked Example: Deriving POS from a 3-Sensor Interlock
Let us map a real-world scenario to a POS expression. Imagine a 3-sensor safety interlock for an industrial motor. The sensors are A (Pressure), B (Temperature), and C (Coolant Flow). The motor controller output is Y. We want the motor to run (Y=1) under most conditions, but we need to define the exact fault states that force a shutdown (Y=0).
We test the system and record the following truth table, noting the specific rows where the motor must trip (Y=0):
| Row | A (Pressure) | B (Temp) | C (Flow) | Y (Motor) | Maxterm |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | - |
| 1 | 0 | 0 | 1 | 1 | - |
| 2 | 0 | 1 | 0 | 0 | M2 = (A + B' + C) |
| 3 | 0 | 1 | 1 | 1 | - |
| 4 | 1 | 0 | 0 | 1 | - |
| 5 | 1 | 0 | 1 | 0 | M5 = (A' + B + C') |
| 6 | 1 | 1 | 0 | 1 | - |
| 7 | 1 | 1 | 1 | 0 | M7 = (A' + B' + C') |
To build the POS expression, we look only at the rows where Y = 0. For each of these rows, we write a Maxterm. The rule for writing a maxterm is the opposite of a minterm: if the input variable is 1, we write it as a complement (inverted); if it is 0, we write it as normal. This ensures that the specific combination of inputs will cause that exact OR gate to output a 0.
- Row 2 (0,1,0): A is 0 (keep A), B is 1 (invert to B'), C is 0 (keep C). Maxterm:
(A + B' + C) - Row 5 (1,0,1): A is 1 (invert to A'), B is 0 (keep B), C is 1 (invert to C'). Maxterm:
(A' + B + C') - Row 7 (1,1,1): A is 1 (A'), B is 1 (B'), C is 1 (C'). Maxterm:
(A' + B' + C')
Finally, we AND (multiply) these sum terms together to get our canonical POS expression:
Y = (A + B' + C) · (A' + B + C') · (A' + B' + C')
If you were to build this on a breadboard using standard 74-series logic ICs, you would need one 74LS32 (Quad 2-input OR gate) daisy-chained to handle the 3-input OR sums, feeding into a 74LS11 (Triple 3-input AND gate). The total propagation delay would be roughly 30ns (15ns for the OR stage + 15ns for the AND stage).
Where You Meet POS in Practice
You will rarely see a discrete POS circuit built with individual logic gates on a modern PCB, but the architecture is foundational in three specific areas of electrical and electronic engineering:
- Programmable Array Logic (PALs): Legacy PAL architectures (like the 20L8) feature a fixed OR array feeding into a programmable AND array. This physical silicon layout natively implements Product of Sums logic. When programming these devices, synthesis tools automatically convert your logic into POS to match the hardware matrix.
- FPGA Synthesis and Routing: Modern FPGA tools like AMD Xilinx Vivado or Intel Quartus analyze your HDL code and map it to Look-Up Tables (LUTs). If your logic is heavily weighted toward enabling a system only when multiple complex, overlapping safety conditions are met, the synthesizer will often optimize the routing using POS structures to minimize the logic depth and reduce routing congestion.
- Safety Interlocks and Permissives: In industrial PLC programming and hardwired relay logic, POS maps perfectly to 'permissive' chains. Think of it like a series circuit of parallel switches: current can only flow to the motor contactor if Branch 1 passes current AND Branch 2 passes current. Each branch contains parallel switches (the OR sum). If any single branch opens (a sum term evaluates to 0), the entire circuit drops out.
POS vs. SOP: What Changes on the Breadboard?
The most common mistake hobbyists and junior engineers make is defaulting to Sum of Products (SOP) for every design. While SOP (AND-OR logic) is intuitive because it focuses on the '1' outputs, POS (OR-AND logic) is often superior depending on your truth table. Here is how they compare in physical implementation:
| Criterion | Sum of Products (SOP) | Product of Sums (POS) |
|---|---|---|
| Logic Focus | Groups the '1' outputs (Minterms) | Groups the '0' outputs (Maxterms) |
| Gate Topology | AND gates feeding an OR gate | OR gates feeding an AND gate |
| Karnaugh Map | Group the 1s to simplify | Group the 0s, then invert the result |
| Best Used When | Output has fewer 1s than 0s | Output has fewer 0s than 1s |
| Physical IC Example | 74LS54 (AND-OR-Invert) | 74LS55 (AND-OR-Invert, configured for POS) |
According to foundational digital design principles outlined by GeeksforGeeks and standard university curricula, the choice between SOP and POS purely comes down to gate economy. If your truth table has 14 ones and 2 zeros, writing the POS expression will yield a vastly simpler circuit with fewer gates, lower power consumption, and less propagation delay than forcing it into an SOP format.
Frequently Asked Questions
How do you convert a truth table to a boolean product of sums?
To convert a truth table to POS, ignore the rows where the output is 1. Look only at the rows where the output is 0. For each of these rows, write a maxterm by ORing the variables together: write the variable normally if it is 0 in that row, and write it inverted (with a prime or bar) if it is 1. Finally, AND (multiply) all these maxterms together. This yields the canonical POS expression, which you can then simplify using a Karnaugh map by grouping the 0s.
What is the difference between product of sums and sum of products in digital circuits?
The primary difference is the gate topology and the truth table focus. Sum of Products (SOP) uses AND gates feeding into a final OR gate and focuses on the conditions that make the output HIGH (1). Product of Sums (POS) uses OR gates feeding into a final AND gate and focuses on the conditions that force the output LOW (0). In physical silicon, SOP is natively supported by Programmable Logic Arrays (PLAs), while POS is natively supported by the OR-AND matrix of Programmable Array Logic (PAL) devices.
Why use product of sums instead of sum of products in FPGA design?
In FPGA design, synthesis tools (like those documented in TutorialsPoint digital logic guides) automatically choose between SOP and POS based on which yields the smallest logic depth. However, you might intentionally write your HDL to favor POS when designing safety interlocks or enable chains. POS structures map efficiently to the dedicated carry-chains and specific LUT configurations in modern FPGAs when evaluating 'all conditions must be met' logic, reducing routing congestion and improving maximum clock frequency (Fmax).






