---
title: "Combinational vs sequential; latch as bounce eliminator"
subject: "Digital Logic"
chapter: 6
key: "semester_3/digital_logic:latch-bounce-eliminator"
source: https://www.bctengineer.com/q/semester_3/digital_logic/latch-bounce-eliminator
site: BCT Engineering
---

# Combinational vs sequential; latch as bounce eliminator

Digital Logic · Chapter 6: Flip Flops

- Asked in: 2076 Asoj, 2+4 marks
- Video: [Latches and Flip-Flops 1 - The SR Latch](https://www.youtube.com/watch?v=-aQH0ybMd3U) — Computer Science Lessons
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_3/digital_logic/latch-bounce-eliminator
- Whole chapter: https://www.bctengineer.com/md/semester_3/digital_logic/chapter-6

## Question

Differentiate between combination and sequential circuit. Explain briefly how latch can be used as bounce eliminator.

## Short answer

A NAND S'-R' latch with an SPDT switch eliminates contact bounce. When the switch moves, the first contact sets or resets the latch; subsequent bounces leave S'=R'=1 (hold), so output makes a single clean transition.

## Answer

#### Combinational vs sequential circuit

| Point | Combinational circuit | Sequential circuit |
|---|---|---|
| Output depends on | Present inputs only | Present inputs and past state |
| Memory | No memory element | Has memory (latches, flip-flops) |
| Feedback | No feedback path | Output fed back to input |
| Clock | Not needed | Usually needed (synchronous) |
| Described by | Truth table | State table / state diagram |
| Examples | Adder, MUX, decoder | Flip-flop, register, counter |

#### Latch as a switch bounce eliminator

**Contact bounce:** when a mechanical switch is thrown, the metal contact hits the new terminal and bounces several times for a few milliseconds before it settles. A logic input connected directly to the switch therefore sees a burst of 0-1-0-1 pulses instead of one clean change. A counter would count every bounce.

A **NAND S'-R' latch** with a single-pole double-throw (SPDT) switch removes these pulses:

```text
        +5V                    +5V
         |                      |
        [R1]                   [R2]
         |                      |
  S' <---+---o A          B o---+---> R'
              \          /
               \___o____/  switch arm
                   |       (touches A or B)
                  GND
          +---------------+
 S' ----->| NAND S'-R'    |---> Q
 R' ----->| latch         |---> Q'
          +---------------+
```

**How it works**

1. With the switch at position A, S' = 0 and R' = 1 (pulled up by R2). The latch is **set**: Q = 1.
2. When the switch is moved towards B, it first leaves A. Now S' = R' = 1 (both pulled up): the latch is in the **hold** state and Q stays 1.
3. The first time the contact touches B, R' = 0 and the latch **resets**: Q = 0.
4. The contact now bounces: it leaves B (R' = 1, hold, Q stays 0) and touches B again (reset again, Q stays 0). The bounce never reaches A, so S' never becomes 0.
5. Hence Q makes a **single clean transition** from 1 to 0 at the first contact. Moving the switch back to A gives a single clean 0-to-1 transition in the same way.

```text
 R' (at B)  ‾‾‾‾‾|_|‾|_|‾|________
 Q          ‾‾‾‾‾|________________
              first touch: one clean edge
```

The latch works because its "hold" condition (S' = R' = 1) ignores the open-contact gaps during bouncing, while the first contact already set the final state.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. How does a sequential circuit differ from a combinational circuit?
   A. It has no feedback
   B. It never needs a clock
   C. Output depends on present inputs only
   D. Output depends on present inputs and past state; it has memory
   Answer: D. Sequential circuits have memory elements, such as flip-flops, so past state matters. (Key point: Comparison)

2. Why is bounce a problem for a counter?
   A. It counts every bounce pulse
   B. It slows the clock
   C. It resets the counter
   D. It changes the supply
   Answer: A. Bounce makes a burst of 0-1 pulses, each counted as a separate event. (Key point: Bounce problem)

3. Why does the NAND S'-R' latch ignore bounce contact gaps?
   A. It uses the clock
   B. S' = R' = 1 is the hold state
   C. The latch resets at every gap
   D. S' = R' = 0 is the hold state
   Answer: B. While the contact is open, both pulled-up inputs are 1, so the latch holds. (Key point: Latch hold)

4. Moving the switch from A to B, what happens at the first touch of B?
   A. The latch toggles on each bounce
   B. Q' stays 0
   C. R' = 0, so the latch resets (Q = 0) and bounce afterwards does not change it
   D. S' = 0, so Q = 1
   Answer: C. R'=0 resets Q to 0; bounces return to hold, and the contact never reaches A. (Key point: First contact)

## Related in Digital Logic

- [Combinational vs sequential; BCD-to-decimal decoder](https://www.bctengineer.com/question.md?key=semester_3%2Fdigital_logic%3Abcd-to-decimal-decoder) — Digital Logic, chapter 4
- [Define combinational logic circuit](https://www.bctengineer.com/question.md?key=semester_3%2Fdigital_logic%3Acombinational-circuit-define) — Digital Logic, chapter 3
- [Full subtractor using decoder; combinational circuit](https://www.bctengineer.com/question.md?key=semester_3%2Fdigital_logic%3Afull-subtractor-decoder-combinational) — Digital Logic, chapter 4
- [Two-input sequential circuit using T](https://www.bctengineer.com/question.md?key=semester_3%2Fdigital_logic%3Atwo-input-sequential-circuit-t) — Digital Logic, chapter 9
- [Problems in asynchronous sequential design](https://www.bctengineer.com/question.md?key=semester_3%2Fdigital_logic%3Aasynchronous-sequential-problems) — Digital Logic, chapter 9

## Related in other subjects

- [Combinational vs sequential; JK flip-flop](https://www.bctengineer.com/question.md?key=semester_2%2Fbasic_electronics_engineering%3Acomb-vs-seq-jk) — Basic Electronics Engineering, chapter 6
- [Sequential vs binary search](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Asequential-vs-binary-search) — Data Structure and Algorithm, chapter 8
- [Ground bounce, decoupling and crosstalk](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Abounce-decoupling-crosstalk) — Instrumentation II, chapter 7
- [Ground bounce and crosstalk with reduction ways](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Abounce-crosstalk-reduce) — Instrumentation II, chapter 7
