Question.3
Select the correct statements about the ENABLE signal (EN) in the given SR Latch shown in the figure.
Note: Multiple options might be correct.
A sequential circuit is a digital circuit whose output depends on:
Unlike a combinational circuit, it can remember past information.
General relation:
Next State = Function of Present-State Inputs and Previous-State Inputs
1-Bit Memory Cell - A 1-bit memory cell stores one binary value: either 0 or 1.
An SR latch is a basic 1-bit memory cell with two inputs Set (S) and Reset (R).
It has two outputs: Q (Stored Output) and ~Q (Inverted Output)
Note: Q ≠ ~Q.
Fig. 1: SR Latch using two NAND and two NOT Gates
Table 1: SR Latch Truth Table and Logic Flow
| S | R | Q (next) | ~Q (next) | Operation |
|---|---|---|---|---|
| 0 | 0 | Q | ~Q | Hold |
| 1 | 0 | 1 | 0 | Set |
| 0 | 1 | 0 | 1 | Reset |
| 1 | 1 | 1 | 1 | Invalid |
Logic Flow
Set: S = 1, R = 0
0.0 at NAND1 forces Q = 1.1 and NOT2 = 1 make ~Q = 0.Reset: S = 0, R = 1
0.0 at NAND2 forces ~Q = 1.~Q = 1 and NOT1 = 1 make Q = 0.Hold: S = 0, R = 0
Both NOT outputs are 1. The feedback keeps the previously stored value.
Invalid: S = 1, R = 1
Both NOT outputs become 0, forcing both NAND outputs HIGH. Therefore, Q and ~Q are no longer opposite.
Purpose
The ENABLE input controls when an SR latch is allowed to respond to S and R.
A clock signal can be connected to ENABLE:
EN = 0: Input changes are blocked.EN = 1: Input changes are accepted.Enabled SR Latch
The inputs are first combined with ENABLE:
Sg = S · EN
Rg = R · ENThese signals are then applied to the SR latch.
Another 2 NAND Gates are used for S and R with common input EN.
Fig. 2: SR Latch circuit using NAND with ENABLE input

Working
When EN = 0
Sg = 0 and Rg = 0 for all input combinations. The latch holds its previous value.
When EN = 1
Sg = S and Rg = R. The latch performs Set, Reset, Hold, or Invalid operation.
Table 2: Enabled SR Latch Truth Table
| EN | S | R | Q(next) | Operation |
|---|---|---|---|---|
| 0 | X | X | Q | Hold |
| 1 | 0 | 0 | Q | Hold |
| 1 | 1 | 0 | 1 | Set |
| 1 | 0 | 1 | 0 | Reset |
| 1 | 1 | 1 | Invalid | Invalid |
“X” means the input value does not matter.
Purpose
The JK latch improves the SR latch by removing the invalid input combination.
J = K = 1, the stored output toggles.Fig. 3: JK Latch circuit using NAND Gate

Advantages Over SR Latch
J = K = 1 is valid.Table 3: JK Latch Truth Table
| J | K | Q(next) | Operation |
|---|---|---|---|
| 0 | 0 | Q | Hold |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | ~Q | Toggle |
Race-around occurs when:
J = K = 1When Q toggles, its new value is fed back to the input gates. If ENABLE is still active, the output toggles again. This can happen several times during one clock pulse.
The final output becomes uncertain.
Solutions
Table 4: Latch and Flip-Flop Comparison
| Feature | Latch | Flip-Flop |
|---|---|---|
| Activation | Signal level | Signal edge |
| Symbol identification | EN or E input | > clock symbol |
| Output changes | During the active level | Only at the active edge |
| Input control | ENABLE | Clock |
| Speed | Generally faster | Generally slower |
| Main use | Temporary storage | Synchronous storage |
Level and Edge Activation
Table 5: Activation Types
| Active-HIGH or Positive | Active-LOW or Negative | |
|---|---|---|
| Level-triggered | Definition: Active while the signal is HIGH. Working: The output can change while EN = 1. Notation: EN input without a bubble. ![]() | Definition: Active while the signal is LOW. Working: The output can change while EN = 0. Notation: EN input with a bubble. ![]() |
| Edge-triggered | Definition: Active only during a rising edge. Working: The output changes at Notation: > without a bubble. ![]() | Definition: Active only during a falling edge. Working: The output changes at Notation: > with a bubble. ![]() |
D and T flip-flops use only one main input. They can be created using a JK flip-flop.
Definition
A D or Data flip-flop stores the value available at input D during the active clock edge.
Its next output is:
Q(next) = DConnections
J = D
K = ~DFig. 4: D Flip Flop using JK Flip Flop

Working
When D = 0
J = 0K = 1Q(next) = 0When D = 1
J = 1K = 0Q(next) = 1Table 6: D Flip-Flop Truth Table
| D | J | K | Q(next) | JK Operation |
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | Reset |
| 1 | 1 | 0 | 1 | Set |
Definition
A T or Toggle flip-flop changes its output when T = 1.
Its next output is:
Q(next) = T ⊕ QConnections
J = T
K = TFig. 5: T Flip Flop using JK Flip Flop

Working
When T = 0
J = 0K = 0When T = 1
J = 1K = 1Table 7: T Flip-Flop Truth Table
| T | J | K | Q(next) | JK Operation |
|---|---|---|---|---|
| 0 | 0 | 0 | Q | Hold |
| 1 | 1 | 1 | ~Q | Toggle |
Table 8: D and T Flip-Flop Comparison
| Feature | D Flip-Flop | T Flip-Flop |
|---|---|---|
| Main input | D | T |
| JK connections | J = D, K = ~D | J = T, K = T |
| Next-state equation | Q(next) = D | Q(next) = T ⊕ Q |
| Input 0 | Reset to 0 | Hold |
| Input 1 | Set to 1 | Toggle |
| JK operation | Reset or Set | Hold or Toggle |
| Main applications | Registers, data storage, delay circuits | Counters, frequency division, toggle control |
Basic Idea
An excitation table gives the input required to move from the present output to a required next output.
For example, it answers:
“What input should be applied to change Q = 0 into Q(next) = 1?”
Truth Table vs Excitation Table
Uses
Excitation tables are used for:
Table 9: Excitation Tables of SR, JK, D and T Flip Flops
| Q | Q(next) | S | R | J | K | D | T |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | X | 0 | X | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 | X | 1 | 1 |
| 1 | 0 | 0 | 1 | X | 1 | 0 | 1 |
| 1 | 1 | X | 0 | X | 0 | 1 | 0 |
X means either 0 or 1 can be used.
Definition
PRESET and CLEAR are direct control inputs used to force the output into a known state.
They work without waiting for the clock. Therefore, they are called asynchronous inputs.
Q = 1.Q = 0.Active-LOW Inputs
Active-LOW inputs are written as:
~PRE~CLRThe input becomes active when its value is 0.
Fig. 6: JK Flip Flop with PRESET (S) and CLEAR (R) inputs

Table 10: Active-LOW PRESET and CLEAR Operation
| ~PRE | ~CLR | Q | Operation |
|---|---|---|---|
| 0 | 1 | 1 | Preset |
| 1 | 0 | 0 | Clear |
| 1 | 1 | Normal | Clock-controlled operation |
| 0 | 0 | Invalid | Prohibited |
Benefits
Conversion Method
One flip-flop can be made to behave like another by adding combinational logic to its inputs.
General method:
In this guide:
X to Y means implement Y behaviour using X flip-flop.
The required circuit must behave like a D flip-flop, but the available device is a T flip-flop.
Step 1: D Flip-Flop Behaviour
Q(next) = DStep 2: T Flip-Flop Excitation
A T flip-flop:
T = 0T = 1Table 11: D to T Conversion Table
| D | Q | Required Q(next) | Required T |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 |
Step 3: Input Equation
From the table:
T = D ⊕ QStep 4: Circuit
Connect D and the present output Q to an XOR gate. Connect the XOR output to the T input.
Fig. 7: Implementation of D Flip Flop using T Flip Flop

Table 12: Conversion Equations
| Conversion | Available Device | Required Connections |
|---|---|---|
| SR to JK | SR | S = J.(~Q), R = K.Q |
| D to JK | D | D = J.(~Q) + K.Q |
| T to JK | T | T = J.(~Q) + K.Q |
| T to D | T | T = D ⊕ Q |
| D to T | D | D = T ⊕ Q |
| Controlled D/T | JK | J = I, K = I ⊕ CNT |
CNT-Controlled D/T Using JK
Inputs: I, CNT.
Connections:
J = I
K = I ⊕ CNTFig. 8: Controlled D/T Flip Flop

Table 13: Controlled D/T Operation
| CNT | J | K | Behaviour |
|---|---|---|---|
| 0 | I | I | T operation |
| 1 | I | ~I | D operation |
CNT = 0: The output holds or toggles according to I.CNT = 1: The output stores the value of I.
Structure
A JK master-slave flip-flop contains two connected stages:
The master and slave operate during opposite clock levels.
Fig. 9: JK Master Slave Flip Flop Circuit

Working
CLK = 1, the master reads J and K.CLK changes to 0, the master becomes disabled.Table 14: JK Master-Slave Truth Table
| J | K | Q(next) | Operation |
|---|---|---|---|
| 0 | 0 | Q | Hold |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | ~Q | Toggle |
Advantages
Disadvantages