JK Flip-Flop: Truth Table, Working and Application
Update Time: 2023-08-25 15:35:56
Contents
What is JK Flip-Flop?
A JK flip-flop is a type of sequential logic circuit that can store one bit of binary information (i.e., a 0 or a 1) and can change its output based on the values of its input signals.
A JK flip flop can store one bit of data and is like the SR flip flop, but with an additional feedback mechanism that prevents both inputs from being active at the same time. this feedback to selectively enable one input at a time.This eliminates an invalid condition that can occur with the SR flip flop.
The JK flip-flop has two input signals: J (set) and K (reset). It also has two output signals, Q and Q', which represent the current state of the flip-flop and its complement, respectively.
When both J and K inputs are set to 0, the flip-flop remains in its current state, and its outputs remain unchanged. When both J and K inputs are set to 1, the flip-flop toggles its output to the opposite state. When J is set to 1 and K is set to 0, the flip-flop sets its output to 1. Conversely, when J is set to 0 and K is set to 1, the flip-flop resets its output to 0.
Working of JK Flip Flop
The JK flip-flop has two input signals, labeled J and K, and two output signals, labeled Q and Q̅ (the complement of Q).
The working of a JK flip-flop can be understood through its truth table, which shows the output state of the flip-flop for each possible input combination of J and K.
JK Flip-Flop Truth Table
The truth table for a JK flip-flop is as follows:
J K CLK Q(t) Q(t+1) 0
0 X Q Q 0 1 ↑ Q 0 1 0 ↑ Q 1 1 1 ↑ ~Q ~Q
In this table, J and K are the input values to the flip-flop, CLK is the clock input, Q(t) is the current state of the output, and Q(t+1) is the next state of the output after the clock pulse. The symbol "X" indicates that the clock input can be either high or low.
When both J and K are 0, the output remains unchanged.
When J is 1 and K is 0, the output is set to 1.
When J is 0 and K is 1, the output is reset to 0.
When both J and K are 1, the output toggles its state.
The first row of the truth table indicates that when both J and K are 0 and the clock input is either high or low, the output remains unchanged. This state is called the "hold" state because the flip-flop holds its current state.
The second row shows that when J is 0 and K is 1, and the clock input is in the "High" state (rising edge), the output is reset to 0. This state is called the "reset" state because the flip-flop resets to its initial state.
The third row shows that when J is 1 and K is 0, and the clock input is in the "High" state, the output is set to 1. This state is called the "set" state because the flip-flop is set to the value of 1.
The fourth row shows that when both J and K are 1, and the clock input is in the "High" state, the output toggles its state. If the current state of the output is 0, it changes to 1, and if the current state of the output is 1, it changes to 0. This state is called the "toggle" state because the flip-flop toggles between its two states.
The truth table for a JK flip-flop shows how the flip-flop responds to different combinations of input values and clock pulses, and it is used to design and analyze digital circuits that use JK flip-flops.
The basic operation of a JK flip-flop can be implemented using basic logic gates such as NAND gates or NOR gates. The inputs J and K are connected to the gates in such a way that the output of the gates controls the state of the flip-flop.
For example, a JK flip-flop can be implemented using two NAND gates connected in a feedback loop, as shown in the figure below.
JK Flip Flop using NAND gates
When both J and K inputs are set to 0, both inputs to the NAND gates are 1, and their outputs are 0. This means that the flip-flop remains in its current state, and its outputs remain unchanged.
When both J and K inputs are set to 1, both inputs to the NAND gates are 0, and their outputs are 1. This means that the flip-flop toggles its output to the opposite state.
When J is set to 1 and K is set to 0, the input to the first NAND gate is 0, and its output is 1. This sets the output of the second NAND gate to 0, which in turn sets the output of the flip-flop to 1.
Conversely, when J is set to 0 and K is set to 1, the input to the second NAND gate is 0, and its output is 1. This sets the output of the first NAND gate to 0, which in turn sets the output of the flip-flop to 0.
JK Latch
A JK latch is a type of sequential logic circuit that can be used to store one bit of information. It is similar to a JK flip-flop, but it doesn't have a clock input. Instead, it operates in a level-sensitive mode, meaning that the output changes state as long as the input signal remains at a certain level.
A JK latch has two inputs, J and K, and two outputs, Q and Q'. The output Q represents the stored value, and Q' is its complement. When both J and K are 0, the output remains in its current state. When J is 1 and K is 0, the output is set to 1. When K is 1 and J is 0, the output is reset to 0. When both J and K are 1, the output toggles its state.
Unlike a JK flip-flop, a JK latch is not edge-triggered and does not have a clock input. Instead, it is transparent, meaning that the output changes in response to the input signals as long as they are held at the same level. Once the input signals change, the output will hold its current state until the input signals change again.
JK latches are used in digital circuits where a delay is undesirable, and immediate response is required to the input signals. They are also used in applications where the input signals are level-sensitive rather than edge-sensitive, such as in data storage applications.
Timing Diagram of JK Flip-Flop
The timing diagram of a JK flip-flop shows the behavior of the circuit in response to clock pulses and input signals. Here is an example timing diagram for a JK flip-flop:
In this timing diagram, the clock input (CLK) is shown as a series of high and low pulses. The inputs J and K are shown as either high or low, depending on their values at each point in time. The outputs Q and Q' are shown as high or low, depending on their current state.
At the first rising edge of the clock pulse, the circuit is in the RESET state (Q=0, Q'=1). When J=1 and K=0, the circuit is SET (Q=1, Q'=0). When K=1 and J=0, the circuit is RESET again. When both J and K are 1, the output toggles between SET and RESET on each clock pulse. When J and K are both 0, the output remains in its current state.
Application of JK Flip Flop
The JK flip-flop is a versatile circuit that finds a variety of applications in digital electronics, such as:
Memory storage
Counters and shift registers
Frequency division and multiplication
Synchronization
Control circuits
Types of JK Flip Flop
There are two main types of JK flip-flops: the edge-triggered JK flip-flop and the level-triggered JK flip-flop.
Edge-triggered JK flip-flop: In an edge-triggered JK flip-flop, the output changes state only on the edge of the clock signal, either on the rising edge (when the clock signal transitions from low to high) or on the falling edge (when the clock signal transitions from high to low). This type of flip-flop is also known as a master-slave JK flip-flop, because it consists of two latches connected in series, where the first latch is the master and the second latch is the slave.
Level-triggered JK flip-flop: In a level-triggered JK flip-flop, the output changes state whenever the clock input is held at a particular level (either high or low), rather than on the edge of the clock signal. This type of flip-flop is also known as a transparent JK flip-flop or a latching JK flip-flop.
They are used in different applications depending on the specific requirements of the circuit. Edge-triggered flip-flops are often used in synchronous systems where precise timing is required, while level-triggered flip-flops are often used in asynchronous systems where the timing may be less critical.
Advantages and Disadvantages
Advantages of JK Flip-Flop:
Versatility
Control
Self-correcting
Elimination of race conditions
Disadvantages of JK Flip-Flop:
Complexity
Propagation delay
Timing requirements
Power consumption
Final WordsThe JK flip-flop is a crucial circuit element that has many applications in digital electronics. We have explored its definition, working principle, timing diagram, truth table, types, advantages, and disadvantages. Through this exploration, we have seen that the JK flip-flop is a versatile device that provides a range of benefits, such as self-correction, elimination of race conditions, and improved control. However, it also has its drawbacks, such as complexity, propagation delay, timing requirements, and power consumption.
Despite these limitations, the JK flip-flop remains a fundamental component in digital circuit design, and its importance in electronic circuits cannot be overstated. As technology advances, it is likely that we will continue to see new and innovative applications for the JK flip-flop in the years to come.
Read More
Previous: CR1220 Battery Equivalent, Specification, Application
FAQ
- What is the difference between JK and T flip flop?
- The main difference between JK and T flip-flop is that the JK flip-flop can operate in both toggle and reset modes, while the T flip-flop only toggles its output when its input is toggled. Additionally, the JK flip-flop has two inputs (J and K) while the T flip-flop only has one input (T).
- What does T stand for in flip-flop?
- The letter T in flip-flop stands for Toggle.
- What are the 4 types of flip-flops?
- The four types of flip-flops are SR flip-flop, D flip-flop, JK flip-flop, and T flip-flop.
- What is JK flip-flop full name?
- The full name of JK flip-flop is: Jack Kilby flip-flop.
- Who invented JK flip flop?
- The JK flip-flop was invented by Jack Kilby of Texas Instruments in 1956.
Ratings and Reviews

Related Products
-
TPS7A5401RPSR
TI
4-A, low-VIN (1.1-V), low-noise, high-ac > -
TPS7A0318PDQNR
TI
200-mA, nanopower-IQ (200 nA), low-dropo > -
TL431LIBQDBZRQ1
TI
Automotive, adjustable, precision shunt > -
ISO1640DWR
TI
Hot-swappable, robust-EMC bidirectional > -
ADS131B04QPWRQ1
TI
Automotive 24-bit, 32-kSPS, four-channel > -
TMS570LS0404APZQQ1
TI
TQFP > -
8MA98
TI
BGA > -
UCD9244ARGCT
TI
DC/DC Cntrlr Quad-OUT 2000kHz 64-Pin VQF > -
TPS26602RHFT
TI
Hot Swap Controller 1-CH 55V N-Channel P > -
ISO7762FQDWQ1
TI
Digital Isolator CMOS 6-CH 100Mbps Autom > -
TM4C1294KCPDTT3
TI
MCU 32Bit Tiva C ARM Cortex M4F RISC 512 > -
LMR23610ADDA
TI
Conv DC-DC 4.5V to 36V Synchronous Step > -
TPS65262RHBR
TI
IC REG 5OUT BUCK/LDO SYNC 32VQFN > -
TPS27082LDDC
TI
SOT-23-6 > -
TUSB8041IPAPRQ1
TI
Full Speed/High Speed/Super Speed Four P >
Hot Stocks
More- TMS320F28379DPTPS
- TPS259535DSGR
- ADS8350IRTER
- TPS82085SILR
- UCC37324DGN
- TUSB2046BI
- TSC2007IYZGR
- TPS82671SIPT
- TPS76301DBVR
- TMS320C6722
- TLE4275QKTTRQ1
- TLC271CP
- TCA6408ARSVR
- STM6823
- SN75ALS193N
- SN74LVT245BPWR
- SN74LVCC3245ADWR
- SN74LVC125APWR
- SN74LS674N
- SN74HC244QPWRQ1
- SN74AUP1G08DCK
- REF5025AIDG4
- REF3140AIDBZT
- PTH08T240WAS
- OPA655P
- OPA227PA
- OPA2244EA
- MSP430FE4242
- MSP430F2121IPW
- LP5900SD-1.8/NOPB
- LMX2330LTMX
- LMP7731MF
- LM60QIM3X/NOPB
- LM431ACM3/NOPB
- LM2940S-5.0
- LM2903VQPWRG4Q1
- LM2672M-ADJ
- LM2576HVS-12
- LM22677TJ-ADJ
- LC06A
- INA2126P
- CSD25401Q3
- BQ24195LRGET
- ADS1203IRGTT
- ADC12034CIWM/NOPB