Question 2 of 6: PAL Implementation of Two Sum-of-Products Functions
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
Notes on this paper
98-Comp-A2, Digital Systems Design — National Exams, May 2016. Closed-book, 3 hours; six 20-mark questions, FIVE constitute a complete exam (all six answered below as a complete study resource).
Reference texts: Mano & Ciletti, Digital Design, 6th ed. — VHDL/digital-design concepts, PAL implementation, variable-entered maps, synchronous counter design, and memory/interfacing, covering Questions 1–5; Patterson & Hennessy, Computer Organization and Design, 6th ed. — interrupt-driven I/O, covering Question 6.
Question 2: PAL Implementation of Two Sum-of-Products Functions (20 marks)
Given. Two 3-variable Boolean functions already in sum-of-products form, and a PAL (Programmable Array Logic) device offering three inputs $a,b,c$ (each buffered to its true and complement line), a programmable AND array, and two fixed-OR output structures.
Find. The product-term (AND-gate) connections that realize $F_1$ and $F_2$ on the PAL's two OR outputs.
Approach. A PAL's AND array is fully programmable (any subset of the $2n$ true/complement input lines can feed any AND gate) while its OR array is fixed, wired in groups of a set size to each output — so implementation is simply: assign one AND gate per product term already present in the SOP expression, connect only the literals that term needs (leaving the rest of that AND gate's inputs unconnected, which floats them to the gate's identity value), and let the fixed OR sum the assigned group.
Part 1 — buffer the three inputs to true/complement pairs. Each PAL input cell provides both a variable and its complement to the vertical bit-lines of the AND array: $a,\bar a,\ b,\bar b,\ c,\bar c$ — six lines total, available to every AND gate's programmable fuse matrix.
Part 2 — one AND gate per product term of $F_1$. $F_1$ already has exactly three SOP terms, matching the three AND gates wired into the first fixed-OR group:
$$P_1=\bar a b,\qquad P_2=a\bar b,\qquad P_3=c$$
$P_1$ connects only the $\bar a$ and $b$ lines (its third input left unconnected); $P_2$ connects only $a$ and $\bar b$; $P_3$ connects only $c$ (its other two inputs unconnected). The fixed OR then gives
$$F_1=\boxed{P_1+P_2+P_3=\bar ab+a\bar b+c}$$
exactly reproducing the given expression — no minimization was needed since it was already in minimal SOP form.
Part 3 — one AND gate per product term of $F_2$. $F_2$ likewise has exactly three SOP terms, assigned to the second group of three AND gates:
$$P_4=\bar a\bar b\bar c,\qquad P_5=ab\bar c,\qquad P_6=\bar abc$$
each fully wired (all three literals connected, since every term here has three literals). The second fixed OR gives
$$F_2=\boxed{P_4+P_5+P_6=\bar a\bar b\bar c+ab\bar c+\bar abc}$$
Part 4 — confirm fan-in and fuse count. Every AND gate here uses at most 3 of its available inputs (the PAL's own input count), so no product term overflows the array; a total of $2+2+1+3+3+3=14$ literal connections ("fuses left intact") realize both functions, well within a standard PAL's per-gate fan-in.
Fig. Q2 — PAL AND-OR array: six product-term AND gates ($P_1$-$P_3$ feed the $F_1$ OR, $P_4$-$P_6$ feed the $F_2$ OR); dashed lines mark the fuse connections actually left intact per term, all other AND-gate inputs unconnected.