- #1
3leggeddog
- 2
- 0
Hi,
First, I'll note that this is not a homework or project question - I'm studying for a test, and am trying to better understand the material.
Note: I don't think that I'll need to know how to do up/down counters, although if you feel like explaining those, or pointing me in the right direction, that would be nice.
I'm trying to understand how to answer questions of the following forms -
"Design an up-counter which counts from 0 to 7"
"Design an up-counter which counts from 0 to 6"
"Design a down-counter which counts from 7 to 0"
"Design a down-counter which counts from 6 to 0"
Of course, these are four distinct cases -
The first follows the natural states of a 3 bit implementation, counting up: 0-1-2-3-4-5-6-7-0-1-2...
The second follows the natural states of a 3 bit implementation, counting up, until it reaches 6, at which point it skips the next natural state and goes directly back to 0: 0-1-2-3-4-5-6-0-1-2...
The third follows the natural states of a 3 bit implementation, counting down:
7-6-5-4-3-2-1-0-7-6-5-4...
Finally, the fourth follows the natural states of a 3 bit implementation, counting down, except that it starts at 6, rather than 7, and the jump from 000 to 110 (6) isn't the normal progression.
In all cases, I use D flip-flops and have a count_enable signal
I understand the basics of counters, but don't really understand how to actually implement them. I know to do the Current State and Next State charts
(i.e.) Current State Next State
000 001
001 010
010 011
011 100
etc., and I know that there are xor equations involved in the next step.
What are the real differences in design between up-counters and down-counters?
What is done differently when doing a count that skips the next natural state (i.e. going from 110 back to 000, rather than to 111 next)?
All of this might be hard to explain in a forum thread, so if anyone knows of a good website, pdf, ppt, etc. that would be helpful, that would be great. My book isn't really useful for this (or I can't really make sense of it, at least), and I've had trouble in my internet searches, but if you know of a good resource, I'd appreciate it.
Thanks,
3LD
First, I'll note that this is not a homework or project question - I'm studying for a test, and am trying to better understand the material.
Note: I don't think that I'll need to know how to do up/down counters, although if you feel like explaining those, or pointing me in the right direction, that would be nice.
I'm trying to understand how to answer questions of the following forms -
"Design an up-counter which counts from 0 to 7"
"Design an up-counter which counts from 0 to 6"
"Design a down-counter which counts from 7 to 0"
"Design a down-counter which counts from 6 to 0"
Of course, these are four distinct cases -
The first follows the natural states of a 3 bit implementation, counting up: 0-1-2-3-4-5-6-7-0-1-2...
The second follows the natural states of a 3 bit implementation, counting up, until it reaches 6, at which point it skips the next natural state and goes directly back to 0: 0-1-2-3-4-5-6-0-1-2...
The third follows the natural states of a 3 bit implementation, counting down:
7-6-5-4-3-2-1-0-7-6-5-4...
Finally, the fourth follows the natural states of a 3 bit implementation, counting down, except that it starts at 6, rather than 7, and the jump from 000 to 110 (6) isn't the normal progression.
In all cases, I use D flip-flops and have a count_enable signal
I understand the basics of counters, but don't really understand how to actually implement them. I know to do the Current State and Next State charts
(i.e.) Current State Next State
000 001
001 010
010 011
011 100
etc., and I know that there are xor equations involved in the next step.
What are the real differences in design between up-counters and down-counters?
What is done differently when doing a count that skips the next natural state (i.e. going from 110 back to 000, rather than to 111 next)?
All of this might be hard to explain in a forum thread, so if anyone knows of a good website, pdf, ppt, etc. that would be helpful, that would be great. My book isn't really useful for this (or I can't really make sense of it, at least), and I've had trouble in my internet searches, but if you know of a good resource, I'd appreciate it.
Thanks,
3LD