Digital System: Uses discrete values (0s and 1s) to represent information. More immune to noise, easier to design, and can be easily stored and transmitted.
Analog System: Uses continuous values to represent information. More prone to noise and distortion, but can represent real-world phenomena more naturally.
The design process in digital electronics typically involves:
- Problem specification
- Formulation of truth tables or state diagrams
- Simplification using Karnaugh maps or Boolean algebra
- Implementation using logic gates or programmable devices
- Testing and verification
- i. Combinational Circuit.
- ii. Sequential Circuit.
Combinational Circuit: Output depends only on the current inputs. No memory elements. Examples: Adders, multiplexers, decoders.
Sequential Circuit: Output depends on both current inputs and previous states. Contains memory elements (flip-flops). Examples: Counters, registers, memory units.
Truth Table:
| A | B | Cin | Sum | Cout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Boolean Expressions:
Sum = A'B'Cin + A'BCin' + AB'Cin' + ABCin = A ⊕ B ⊕ Cin
Cout = AB + ACin + BCin
Full Adder Circuit Diagram:
Note: In a real implementation, this would show the actual full adder circuit with logic gates.
Implementation:
A full adder can be implemented using two half adders and an OR gate:
- First half adder: A ⊕ B (sum), AB (carry)
- Second half adder: (A ⊕ B) ⊕ Cin (final sum)
- OR gate: AB + (A ⊕ B)Cin (final carry)
Multiplexer (MUX): A combinational circuit that selects one of many input lines and directs it to a single output line. Selection is controlled by selection lines.
8x1 Multiplexer:
Has 8 input lines (I0-I7), 3 selection lines (S0-S2), and 1 output line (Y)
Truth Table:
| S2 | S1 | S0 | Output Y |
|---|---|---|---|
| 0 | 0 | 0 | I0 |
| 0 | 0 | 1 | I1 |
| 0 | 1 | 0 | I2 |
| 0 | 1 | 1 | I3 |
| 1 | 0 | 0 | I4 |
| 1 | 0 | 1 | I5 |
| 1 | 1 | 0 | I6 |
| 1 | 1 | 1 | I7 |
Boolean Expression:
Y = S2'S1'S0'I0 + S2'S1'S0I1 + S2'S1S0'I2 + S2'S1S0I3 + S2S1'S0'I4 + S2S1'S0I5 + S2S1S0'I6 + S2S1S0I7
A 4x16 decoder has 4 inputs and 16 outputs. It can be constructed using two 3x8 decoders with enable inputs:
- Use the higher-order input bit as enable for the two decoders
- When higher-order bit is 0, enable the first 3x8 decoder (outputs 0-7)
- When higher-order bit is 1, enable the second 3x8 decoder (outputs 8-15)
- Connect the lower-order 3 bits to the input of both decoders
This configuration effectively creates a 4x16 decoder from two 3x8 decoders.
A full adder can be implemented using a 3-to-8 decoder and two OR gates:
From the truth table, we can derive the sum and carry outputs as:
S = A'B'Cin + A'BCin' + AB'Cin' + ABCin
S = m1 + m2 + m4 + m7
S = Σ(1, 2, 4, 7)
Cout = A'BCin + AB'Cin + ABCin' + ABCin
Cout = m3 + m5 + m6 + m7
Cout = Σ(3, 5, 6, 7)
Implementation:
- Use the three inputs (A, B, Cin) as inputs to the 3-to-8 decoder
- The decoder will generate all 8 minterms (m0 to m7)
- Sum output is the OR of minterms 1, 2, 4, and 7
- Carry output is the OR of minterms 3, 5, 6, and 7
Clocked JK Flip-Flop:
Constructed using two SR lataches with cross-coupled feedback from output to input.
Characteristic Table:
| J | K | Qn+1 | Operation |
|---|---|---|---|
| 0 | 0 | Qn | No change |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | Qn\' | Toggle |
Characteristic Equation:
Qn+1 = JQ\' + K\'Q
Excitation Table:
| Qn → Qn+1 | J | K |
|---|---|---|
| 0 → 0 | 0 | X |
| 0 → 1 | 1 | X |
| 1 → 0 | X | 1 |
| 1 → 1 | X | 0 |
Flip-flop: A bistable multivibrator that stores one bit of information. It has two stable states and remains in a particular state until triggered to change.
Clocked SR Flip-Flop:
Constructed by adding clock input to basic SR latch using AND gates.
Truth Table:
| Clock | S | R | Qn+1 | State |
|---|---|---|---|---|
| 0 | X | X | Qn | No change |
| 1 | 0 | 0 | Qn | No change |
| 1 | 0 | 1 | 0 | Reset |
| 1 | 1 | 0 | 1 | Set |
| 1 | 1 | 1 | X | Invalid |
Note: The S=R=1 condition is forbidden as it leads to unpredictable behavior.