Option (C) is correct!

24 votes

Consider the circuit in the diagram. The $\oplus$ operator represents Ex-OR. The D flip-flops are initialized to zeroes (cleared).

The following data: $100110000$ is supplied to the “data” terminal in nine clock cycles. After that the values of $q_{2}q_{1}q_{0}$ are:

- $000$
- $001$
- $010$
- $101$

35 votes

Best answer

$${\begin{array}{|c|c|c|c||}\hline

\textbf{Data}& \bf{Q_0}& \bf{Q_1}&\bf{ Q_{2}} \\\hline

1&1&\text{$Q0_{start}$ XOR $Q2_{start}$ = 0 XOR 0 = 0}&\text{$Q1_{start} = 0$} \\\hline 0&0&\text{1 XOR 0 = 1}&0 \\ \hline 0&0&\text{0 XOR 0 = 0}&1 \\ \hline 1&1&\text{0XOR 1 = 1}&0 \\ \hline 1&1&\text{1 XOR 0 = 1}&1 \\ \hline 0&0&\text{1 XOR 1 = 0}& 1 \\ \hline 0&0& \text{0XOR 1 = 1}& 0 \\ \hline 0&0&\text{0 XOR 0 = 0} &1\\ \hline 0 & 0& \text{0 XOR 1 = 1}&0\\\hline

\end{array}}$$

So, option C.

\textbf{Data}& \bf{Q_0}& \bf{Q_1}&\bf{ Q_{2}} \\\hline

1&1&\text{$Q0_{start}$ XOR $Q2_{start}$ = 0 XOR 0 = 0}&\text{$Q1_{start} = 0$} \\\hline 0&0&\text{1 XOR 0 = 1}&0 \\ \hline 0&0&\text{0 XOR 0 = 0}&1 \\ \hline 1&1&\text{0XOR 1 = 1}&0 \\ \hline 1&1&\text{1 XOR 0 = 1}&1 \\ \hline 0&0&\text{1 XOR 1 = 0}& 1 \\ \hline 0&0& \text{0XOR 1 = 1}& 0 \\ \hline 0&0&\text{0 XOR 0 = 0} &1\\ \hline 0 & 0& \text{0 XOR 1 = 1}&0\\\hline

\end{array}}$$

So, option C.

0

Please tell the approach used to calculate this... Q0 can be calculated easily since it depends on D0 only which is given initially. How to calculate Q2 and Q1.. they depend on D2 and D1 which in turn depend on old values od Q1 and Q2 which are not available initially

0

in the XOR operation why is Q0 taking the old value?

new value of Q0 is already available by the time XOR is calculated?

new value of Q0 is already available by the time XOR is calculated?

3

@Prerna+Chauhan That's what we do in synchronous circuits, when a clock is applied output by the application of this clock cycle should be present at each $FF$, which is then used as input in next clock.

0

yes i totally agree, but when the first clock cycle is applied the output of Q0 is 1. so, when we have this new output why is older one used?

3

Initially, $Q_{2}Q_{1}Q_{0} = 000$ (reset), and when first clock is applied $D_{0} = data = 1$, $Q_{0n} = 1$, $Q_{1n} = Q_{0}$xor$Q_{2} = 0$xor$0 = 0$ and $Q_{2n} = Q{1} = 0$

0

my doubt is here input is data, so it's consider as 1??

o/p of q0 will 1 then perform exor on q0 xor q2 then it will give 1???

plz correct me??

o/p of q0 will 1 then perform exor on q0 xor q2 then it will give 1???

plz correct me??

1

I too got the same dout.i started from lsb while giving data and my answer is different .how do we guess whether to start from lsb or msb?

7

$q_{0Next} = D_{0} = data$

$q_{1Next} = D_{1} = q_{0} \oplus q_{2}$

$q_{2Next} = D_{2} = q_{1}$

$q_{2}$ | $q_{1}$ | $q_{0}$ | $q_{2Next}$ | $q_{1Next}$ | $q_{0Next}$ | Clock |

0 | 0 | 0 | 0 | 0 | 1 | 1 |

0 | 0 | 1 | 0 | 1 | 0 | 2 |

0 | 1 | 0 | 1 | 0 | 0 | 3 |

1 | 0 | 0 | 0 | 1 | 1 | 4 |

0 | 1 | 1 | 1 | 1 | 1 | 5 |

1 | 1 | 1 | 1 | 0 | 0 | 6 |

1 | 0 | 0 | 0 | 1 | 0 | 7 |

0 | 1 | 0 | 1 | 0 | 0 | 8 |

1 | 0 | 0 | 0 | 1 | 0 | 9 |

After nine clock value of $q_{2}q_{1}q_{0} = 010$

3 votes

The question is simple, but just because of delays of XOR gate q1 & q2 are working old datas of q0.. At a particular instance, value present at q0 is from data but q1 is getting from XOR gate, so the value calculated from previous bit. Thats it.

Just follow the data given to q0,

q0 value is the data bit.

q1,q2 will be evaluated from previous state.

C is the ans.

Just follow the data given to q0,

q0 value is the data bit.

q1,q2 will be evaluated from previous state.

C is the ans.

0

@Ahwan without that XOR still we consider input from last state right?

I mean initially it is 000.

when clock is given every FF will look at the input

q0 will get data

q2 will get q1

q1 will be XOR of q2 and q0 right?