Electronics

 

 

 

 

Flipflop - SR

 

SR Flipflop is a special type of flip flop which has two Inputs called S(Set) and R(Reselt). That's where the name come from. This flipflop has two output called Q and Q' (Q bar). Q and Q bar is supposed to have mutually exclusive value. The main function of this flipflop is to control the value of Q using the value of R and S.

 

At high level point of view, there are roughly three different types of SR flip flops and the truth table (mode of operation) gets different in each type and even in the same type the truth table may vary depending on which type of gate circuit is used. (The lable (A), (B), (C) is not the formal name. They are just the label that I put. So don't say to anybody 'Do you know what is SR flipflop type (A) ? :))

 

 

 

Details of SR Type (A)

 

There are mainly two ways to implement SR flipflop. One is to implement it with two NOR Gates and the other one is to implment it with two NAND Gates.

 

If you blindly predict Q and Q' value with only R and S value, it will be very confusing since the output (Q and Q') is fedback to the input. You would easily get dizzy if you follow through a couple of cycles :)

 

 

To propery predict the behavior of this circuit, you have to assume not only the input values R, S but also assume that the output Q and Q' are also preset with a certain value. (Actually you only have to assume the value of Q and you don't have to care about Q' value because they are mutually exclusive. Once Q is determined, Q' is automatically known). With these information, you can create a truth table as shown below. In this table, the Preset output (Q, the value that is already stored in Q) is taken as a kind of input of the truth table. The value we want to predict is the one labeled as 'Q(Output)'. The final truth table is as follows. From this table, you can figure out a couple of important facts that characterize SR flipflop.

  • If you see Case 1 and 2, you would notice that if S = 0 and R = 0, Q (Output) is always same as Q(Preset). It means the value Q is 'memorized'.

  • If you see Case 3 and 4, you would notice that if S = 0 and R = 1, Q (Output) is always 0 regardless of Q(Preset) value. It means (S = 0 and R = 1) RESETs Q value.
  • If you see Case 5 and 6, you would notice that if S = 1 and R = 0, Q (Output) is always 1 regardless of Q(Preset) value. It means (S = 1 and R = 0) SETs Q value.
  • If you see Case 7 and 8, you would notice that  (S = 1 and R = 1) is not allowed. (Why not ? Think about it)

Case #

S

R

Q(Preset)

Q (Output)

1

0

0

0

0

2

0

0

1

1

3

0

1

0

0

4

0

1

1

0

5

1

0

0

1

6

1

0

1

1

7

1

1

0

not allowed

8

1

1

1

not allowed

 

 

There is another way to implement SR FlipFlop using two NAND Gates as shown below.

 

 

The final truth table is as follows. From this table, you can figure out a couple of important facts that characterize SR flipflop.

  • If you see Case 1 and 2, you would notice that (S = 0 and R = 0) is not allowed. (Why not ? Think about it)

  • If you see Case 3 and 4, you would notice that if S = 0 and R = 1, Q (Output) is always 0 regardless of Q(Preset) value. It means (S = 0 and R = 1) RESETs Q value.
  • If you see Case 5 and 6, you would notice that if S = 1 and R = 0, Q (Output) is always 1 regardless of Q(Preset) value. It means (S = 1 and R = 0) SETs Q value.
  • If you see Case 7 and 8,  you would notice that if S = 1 and R = 1, Q (Output) is always same as Q(Preset). It means the value Q is 'memorized'

Case #

S

R

Q(Preset)

Q (Output)

1

0

0

0

not allowed

2

0

0

1

not allowed

3

0

1

0

0

4

0

1

1

0

5

1

0

0

1

6

1

0

1

1

7

1

1

0

0

8

1

1

1

1