Understanding Toggle Flip-Flop Counter Sequence

  • Thread starter Thread starter planauts
  • Start date Start date
  • Tags Tags
    Counter
Click For Summary

Discussion Overview

The discussion revolves around understanding the sequence generated by a toggle flip-flop counter, specifically how the outputs Q0, Q1, and Q2 change over time. Participants explore the mechanics of flip-flops, their triggering behavior, and the resulting output sequences.

Discussion Character

  • Homework-related
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants describe the behavior of Q0, Q1, and Q2 in terms of toggling states at rising edges, noting that Q0 toggles every clock cycle, while Q1 and Q2 toggle based on the states of the preceding flip-flops.
  • One participant expresses confusion about the output sequence, questioning how it transitions from 000 to 111 and whether it constitutes a counter or a shift register.
  • Another participant suggests that the sequence should be 000, 001, 011, 111, indicating a potential misunderstanding of the labeling of the bits.
  • One participant clarifies that the flip-flops in question are toggle flip-flops, which toggle their state based on the input at clock events, contrasting them with D-type flip-flops.
  • A participant acknowledges a correction regarding the nature of the flip-flops, indicating a shift in understanding about their triggering behavior.

Areas of Agreement / Disagreement

Participants express differing views on the nature of the output sequence and the classification of the flip-flops involved. There is no consensus on the correct sequence or the characterization of the circuit as a counter versus a shift register.

Contextual Notes

There are unresolved assumptions regarding the input conditions and the definitions of the flip-flop types, which may affect the interpretation of the output sequence.

planauts
Messages
86
Reaction score
0

Homework Statement


http://puu.sh/2qUr7


Homework Equations





The Attempt at a Solution



http://puu.sh/2qUwc

I know that Q0 goes toggles 1/0 every rising edge. And Q1 toggles 1/0 every rising edge of Q0. And Q2 toggles 1/0 every rising edge of Q1. But I don't understand how the sequence becomes 000, 001, 010, 111.

Could someone please explain that?

Thanks!
 
Last edited by a moderator:
Physics news on Phys.org
planauts said:

Homework Statement


http://puu.sh/2qUr7


Homework Equations





The Attempt at a Solution



http://puu.sh/2qUwc

I know that Q0 goes toggles 1/0 every rising edge. And Q1 toggles 1/0 every rising edge of Q0. And Q2 toggles 1/0 every rising edge of Q1. But I don't understand how the sequence becomes 000, 001, 010, 111.

Could someone please explain that?

Thanks!

I don't understand what is puzzling you. The sequence you show in your solution is correct. The next state after your 111 will be 000 and it starts over.
 
Last edited by a moderator:
So what you have here is a series of chained D-type flip flops much like this diagram:

http://www.bing.com/images/search?q...98C1C201365578950E83283BBF96B&selectedIndex=0

On a timing event (either a rising edge or falling edge) the value of T propagates to Q.
Notice that the clock is common to all memory storage elements - this is an example of a SYNCHRONOUS system. There is one clock and only one clock.

Let us make the reasonable assumption that at t=0 the values of the outputs at Q0 Q1 Q2 are all 0.

So at t = 0 seconds
Q0 = 0 Q0 = 0 Q0 = 0

Now let us pretend that they are all rising edge triggered and let Clock = 1 at t = 1 seconds

As the flip-flops sense the change in level the allow what is at their input to pass through them to their output

Hence the values now read...

Q0 = 1 Q1 = 0 Q2 = 0

on the next rising edge we have

Q0 = 0 Q1 = 1 Q2 = 0

then we will have

Q0 = 0 Q1 = 0 Q2 = 1

I don't really see how this is a counter - I would call this a shift register with no feedback.

Unless the input labelled 1 is supposedly ALWAYS high and not just high at t = 0

then the output would read

000
100
110
111

Oh, okay... and the Q2 Q1 Q0 are labelled in reverse... hence Q0 is the LEAST SIGNIFICANT BIT.

Ok so the sequence reads.

000
001
011
111

So to summarise this is an example of using chained synchronous D-type Flip Flops (which are level triggered) to propagate an always high input over three clock cycles which trigger the memory storage elements with an always high input to create a counter.
 
AugustCrawl said:
So what you have here is a series of chained D-type flip flops much like this diagram:

http://www.bing.com/images/search?q...98C1C201365578950E83283BBF96B&selectedIndex=0

On a timing event (either a rising edge or falling edge) the value of T propagates to Q.
Notice that the clock is common to all memory storage elements - this is an example of a SYNCHRONOUS system. There is one clock and only one clock.

Let us make the reasonable assumption that at t=0 the values of the outputs at Q0 Q1 Q2 are all 0.

So at t = 0 seconds
Q0 = 0 Q0 = 0 Q0 = 0

Now let us pretend that they are all rising edge triggered and let Clock = 1 at t = 1 seconds

As the flip-flops sense the change in level the allow what is at their input to pass through them to their output

Hence the values now read...

Q0 = 1 Q1 = 0 Q2 = 0

on the next rising edge we have

Q0 = 0 Q1 = 1 Q2 = 0

then we will have

Q0 = 0 Q1 = 0 Q2 = 1

I don't really see how this is a counter - I would call this a shift register with no feedback.

Unless the input labelled 1 is supposedly ALWAYS high and not just high at t = 0

then the output would read

000
100
110
111

Oh, okay... and the Q2 Q1 Q0 are labelled in reverse... hence Q0 is the LEAST SIGNIFICANT BIT.

Ok so the sequence reads.

000
001
011
111

So to summarise this is an example of using chained synchronous D-type Flip Flops (which are level triggered) to propagate an always high input over three clock cycles which trigger the memory storage elements with an always high input to create a counter.


Thanks I understand (sort of). However, the solution says: 000, 001, 010, 111. You have 011 instead of 010?
 
These are "T" (toggle) flip-flops, not "D"-type. When the input is a 1, at the time of the clock event the output will toggle. If the input were a 0, the output would not toggle, but rather hold its last state. Book answer looks correct.
 
I had though that latches were asynchronous elements (edge triggered) and that by combining them in clever arrangements we are able to form both +ve edge triggered -ve edge triggered and level triggered flip flops. I guess this T type must be an example of the "level triggered" variety. Thank you for the correction lewando :)
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
Replies
20
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
7K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 31 ·
2
Replies
31
Views
4K
Replies
3
Views
3K