Digital Logic Systems Unit 4: Combinational Circuits
Subject: Digital Logic Systems
Explore combinational design flow, half/full adders and subtractors, BCD adders, decoders (and 7-segment drivers), encoders (priority), multiplexers, and demultiplexers.
Concept Summary
Key Revision Rules & Formulas
- Combinational circuits: outputs depend strictly on current inputs; no feedback loops or memory.
- Half Adder (Sum = A ⊕ B, Carry = AB) vs. Full Adder (Sum = A ⊕ B ⊕ Cin, Carry = AB + Cin(A ⊕ B)).
- Full Adder implementation using 2 Half Adders and 1 OR gate.
- BCD Adder: adds two BCD digits, applies +0110 correction if sum > 9 or carry generated (detected via Y = K + S3S2 + S3S1).
- Priority Encoder: resolves multiple active inputs by encoding only the highest priority active index.
- Multiplexer (MUX): selects one of 2^n inputs using n select lines. Can implement any n-variable function using a 2^(n-1)-to-1 MUX.
Common Exam Pitfalls
- BCD Adder carry detection: forgetting that if the raw carry K=1 is generated, $+0110$ must be added even if raw sum < 9.
- Common Anode vs. Common Cathode 7-segment pins: Common Anode requires active-low drivers (IC 7447); Common Cathode requires active-high drivers (IC 7448).
Sample Practice Questions
Question 1: In a combinational circuit, the output at any instant depends:
- On the past states of the circuit.
- Only on the input combination present at that instant.
- On both past states and present inputs.
- On the clock frequency.
Explanation: Combinational circuits do not contain memory elements or feedback loops, so their output is strictly a function of the current input combination.
Question 2: What are the outputs of a Half Adder when inputs are $A=1$ and $B=1$?
- Sum = 0, Carry = 0
- Sum = 1, Carry = 0
- Sum = 0, Carry = 1
- Sum = 1, Carry = 1
Explanation: For a Half Adder, Sum $S = A \oplus B = 1 \oplus 1 = 0$. Carry $C = A \cdot B = 1 \cdot 1 = 1$.
Question 3: The logic expression for the Sum output of a Full Adder is:
- $A \oplus B \oplus C_{in}$
- $AB + BC_{in} + AC_{in}$
- $A + B + C_{in}$
- $A \oplus B + C_{in}$
Explanation: The Sum of three bits in binary addition is equivalent to their parity (odd number of 1s), which is implemented by XORing the three variables: $S = A \oplus B \oplus C_{in}$.
Question 4: The simplified Carry-out ($C_{out}$) expression for a Full Adder is:
- $A \oplus B \oplus C_{in}$
- $AB + C_{in}(A \oplus B)$
- $AB + A'C_{in}$
- $A'B + BC_{in}$
Explanation: The standard sum-of-products for carry-out is $AB + BC_{in} + AC_{in}$. This can be factored as $AB + C_{in}(A + B) = AB + C_{in}(A \oplus B)$, which is efficient because the XOR term $A \oplus B$ is already calculated for the Sum output.
Question 5: How many Half Adders and OR gates are needed to construct a Full Adder?
- 1 Half Adder and 2 OR gates
- 2 Half Adders and 1 OR gate
- 2 Half Adders and 2 OR gates
- 3 Half Adders and 1 OR gate
Explanation: A Full Adder is implemented using two Half Adders. The first HA adds $A$ and $B$. The second HA adds the resulting sum to $C_{in}$. The final carry-out is the logical OR of the carries generated by both Half Adders (1 OR gate).
Question 6: The output equations of a Half Subtractor ($A - B$) are:
- Difference = $A \oplus B$, Borrow = $A'B$
- Difference = $A \oplus B$, Borrow = $AB'$
- Difference = $A \cdot B$, Borrow = $A' + B$
- Difference = $A'B$, Borrow = $A \oplus B$
Explanation: Difference $D = A \oplus B$. Borrow $B_{out}$ is active when subtracting $1$ from $0$, which corresponds to $A=0$ and $B=1 \rightarrow A'B$.
Question 7: For a Full Subtractor ($A - B - B_{in}$), the Borrow-out ($B_{out}$) equation is:
- $A'B + B_{in}(A \oplus B)'$
- $AB' + B_{in}(A \oplus B)$
- $A'B + B_{in}(A \oplus B)$
- $A'B' + B_{in}(A \oplus B)'$
Explanation: The full sum-of-products borrow-out is $A'B + A'B_{in} + BB_{in}$. It simplifies to $A'B + B_{in}(A' + B) = A'B + B_{in}(A \oplus B)'$.
Question 8: A BCD Adder is used to add:
- Two binary numbers.
- Two octal numbers.
- Two BCD digits (values 0-9).
- Floating-point numbers.
Explanation: A BCD Adder adds two 4-bit BCD digits and outputs a 4-bit BCD sum and a carry bit.
Question 9: What correction must be added to a BCD adder stage if the binary sum is $1101_2$ ($13_{10}$)?
- $0011$ (3)
- $0110$ (6)
- $1001$ (9)
- $0000$ (No correction)
Explanation: Since $1101_2$ is greater than $9$, it is an invalid BCD code. Adding $6$ ($0110_2$) corrects it: $1101 + 0110 = 10011 \rightarrow$ BCD output of $0011$ ($3_{d}$) with a carry of $1$, representing $13$.
Question 10: What is the Boolean expression to detect an invalid BCD sum ($S_3 S_2 S_1 S_0$ with stage carry $K$)?
- $Y = K + S_3S_2 + S_3S_1$
- $Y = K + S_3S_0 + S_2S_1$
- $Y = S_3S_2S_1S_0$
- $Y = K(S_3 + S_2)$
Explanation: An invalid BCD sum occurs if a carry $K$ is generated ($16$ or above), or if the sum is $10$ to $15$. Minterms $10$ ($1010$) to $15$ ($1111$) all have $S_3=1$ AND either $S_2=1$ (values $12\text{-}15$) OR $S_1=1$ (values $10, 11$). Thus: $Y = K + S_3S_2 + S_3S_1$.