Skip to main content

Design of CMOS Flip-Flops (SR, D, JK)


Design of CMOS Flip-Flops (SR, D, JK)

A flip-flop or latch is a circuit with two stable states, used to store state information. It is the basic storage element in sequential logic and a fundamental building block in digital electronics systems, including computers and communication devices.

Flip-flops and latches act as data storage elements for states, pulse counting, and synchronization of variably-timed input signals to a reference clock. Flip-flops can be transparent/opaque (latches) or clocked (synchronous, edge-triggered). Latches are level-sensitive, while flip-flops are edge-sensitive.

In sequential logic, the output depends on current inputs and previous states. Fig.1 shows a sequential circuit combining a combinational block and a memory element.

Sequential circuit showing combinational logic block connected to memory element
Fig.1: Sequential circuit consisting of a combinational logic block and a memory
Classification of logic circuits based on temporal behavior
Fig.2: Classification of logic circuits based on temporal behaviour

SR Flip-Flop

The SR latch can be implemented using two NAND gates. The circuit changes state when the Set (S) or Reset (R) input is pulled low. A NAND-based SR latch responds to active-low signals. The truth table and gate-level schematic are shown in Fig.3.

SR latch circuit diagram with block diagram and truth table
Fig.3: Circuit, Block Diagram & Truth Table of SR Latch
SR flip-flop circuit implementation
Fig.4: Circuit of SR Flip-Flop
CMOS implementation of SR flip-flop
Fig.5: Circuit of CMOS SR Flip-Flop
Timing diagram waveform of CMOS SR flip-flop
Fig.6: Timing diagram of CMOS SR Flip-Flop

JK Flip-Flop

The JK latch solves the "not allowed" input problem of SR latches by using feedback from outputs to inputs. Fig.7 shows an all-NAND JK latch with active-high inputs. J and K correspond to Set and Reset of an SR latch. If both inputs are 1 during the active clock, the latch toggles its state. Table.1 summarizes the JK flip-flop operation.

JK flip-flop NAND gate implementation
Fig.7: NAND implementation of the JK Flip-Flop
Truth table of JK flip-flop
Table.1: Truth Table of the JK Flip-Flop
CMOS implementation of JK flip-flop circuit
Fig.8: Circuit of CMOS JK Flip-Flop

D Flip-Flop

The D-latch stores a single logic level and acts as a 1-bit register. It has input D and outputs Q and Q’. It is implemented using a NOR-based SR latch: D connects to S and D’ to R through an inverter. When CLK is high, D is transmitted to Q; when CLK is low, the previous state is retained.

NOR gate implementation of D flip-flop
Fig.9: NOR implementation of the D Flip-Flop
CMOS D flip-flop circuit design
Fig.10: Circuit of CMOS D Flip-Flop

Circuits / Block Diagram using S-Edit

CMOS SR flip-flop schematic using S-Edit
Fig.11: CMOS SR Flip-Flop using S-Edit
CMOS JK flip-flop schematic using S-Edit
Fig.12: CMOS JK Flip-Flop using S-Edit
CMOS D flip-flop schematic using S-Edit
Fig.13: CMOS D Flip-Flop using S-Edit

Programming (SPICE Command)

Extract SPICE code using T-Edit.

Graphs (W-Edit)

Simulate schematics and generate waveforms using W-Edit.

Conclusions

The transient response of SR, JK, and D Flip-Flops was studied using CMOS logic. Waveforms were obtained using W-Edit, and SPICE code was extracted using T-Edit. Observed waveforms match theoretical truth tables, validating the designs.


Further Reading

  1. Introduction to Tanner EDA Tools
  2. CMOS Logic Gates: Inverter, NAND, and NOR
  3. EDA Tools and VHDL for VLSI Design
  4. Layout of CMOS Inverter
  5. Standard Cell Design in VLSI
  6. Design of CMOS XOR/XNOR Gates
  7. Design of CMOS Full Adder
  8. Design of 8-bit Synchronous Counter
  9. Design of 8-bit Bi-Directional Register
  10. Design of a 12-bit CPU with Basic Instructions
  11. VHDL Logical Function & CMOS Inverter
  12. CMOS Layout Color Codes - IC Design Guide


Contact Us

Name

Email *

Message *

Popular Posts

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. 📡 ASK Simulator 📶 FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics 1. ASK (Amplitude Shift Keying) Simulat...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions 📋 Exam Pattern 💡 Preparation Tips ❓ FAQs 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

DFTs-OFDM vs OFDM: Why DFT-Spread OFDM Reduces PAPR Effectively (with MATLAB Code)

Understanding PAPR in DFT-spread OFDM vs. Standard OFDM In modern wireless communications like 4G LTE and 5G NR, managing the Peak-to-Average Power Ratio (PAPR) is critical for hardware efficiency. While OFDM is the gold standard for high-speed data, its high PAPR poses significant challenges for mobile devices. This is where DFTs-OFDM (also known as SC-FDMA) comes in. DFT-spread OFDM (DFTs-OFDM) has lower Peak-to-Average Power Ratio (PAPR) because it "spreads" the data in the frequency domain before applying IFFT, making the time-domain signal behave more like a single-carrier signal rather than a multi-carrier one like OFDM. Deeper Explanation: Aspect OFDM DFTs-OFDM Signal Type Multi-carrier Single-carrier-like Process IFFT of QAM directly QAM → DFT → IFFT PAPR Level High (due to many...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

Calculation of SNR from FFT bins in MATLAB

📘 Overview 💻 FFT Bin Method 💻 Kaiser Window 📚 Further Reading SNR Estimation Overview In digital signal processing, estimating the Signal-to-Noise Ratio (SNR) accurately is crucial. Below, we demonstrate how to calculate SNR from periodogram and FFT bins using the Kaiser Window . The beta (β) parameter is the key—it allows you to control the trade-off between main-lobe width and side-lobe levels for precise spectral analysis. 1 Define Sampling rate and Time vector 2 Compute FFT and Periodogram PSD 3 Identify Signal Bin and Frequency resolution 4 Segment Signal Power from Noise floor 5 Logarithmic calculation of SNR in dB Method 1: Estimation from FFT Bins This approach uses a Hamming window to estimate SNR directly from the spectral bins. MATLAB Source Code Copy Code clc...

Design of CMOS XOR/XNOR Gates

Design of CMOS XOR/XNOR Gates The semiconductor industry has experienced rapid integration of multimedia applications into mobile electronics, leading to very high integration density in CMOS VLSI. As operating frequencies increase, power consumption, speed, silicon area, and reliability become critical considerations. The XOR-XNOR circuits are fundamental building blocks in arithmetic circuits (Full Adders, Multipliers), compressors, comparators, parity checkers, code converters, error-detecting/correcting codes, and phase detectors. Their performance directly impacts the complex circuits they are used in. Design goals include full output voltage swing, low power consumption, reduced transistor count, minimal delay, and simultaneous non-skewed outputs. Static Logic (Static CMOS) Stat...