Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

[SOLVED] Digital counter question

Status
Not open for further replies.

random_duck

Newbie level 4
Joined
Apr 25, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
48
Hi all,

Attached is a question, which I cannot figure out.

New_Doc_14_1.jpg

Any idea on what the counting sequence is for this? Thanks in advance.
 
Last edited by a moderator:

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,652
Helped
1,774
Reputation
3,554
Reaction score
1,722
Trophy points
1,393
Location
USA
Activity points
57,813
Did you even try analyzing the circuit before posting your homework on the forum?

Use an arbitrary output value on Q0-Q3 and !RCO, feed them back to the inputs and see what the next value would be after a clock occurs. Repeat, until the sequence repeats.
 

random_duck

Newbie level 4
Joined
Apr 25, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
48
Did you even try analyzing the circuit before posting your homework on the forum?

Use an arbitrary output value on Q0-Q3 and !RCO, feed them back to the inputs and see what the next value would be after a clock occurs. Repeat, until the sequence repeats.
Hi thanks for your reply.

Of course I did try. This isn't homework actually, I am studying for finals, and it was the only question out of a set which I couldn't solve.

I think it might be counting like this, but I am not too sure.

7,6,5,4,3,2,1,0,7,6,5,4...

What do you think?
 

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,652
Helped
1,774
Reputation
3,554
Reaction score
1,722
Trophy points
1,393
Location
USA
Activity points
57,813
7,6,5,4,3,2,1,0,7,6,5,4...

What do you think?
No, it doesn't count that way. You have to carefully read the 74169 counter datasheet (the datasheet is pretty bad).

Here are the connections based on the schematic:
Code:
[FONT=Courier New]up_dn_b == q3
ld_b == rco_b (rco_b == 0, when q[3:0] == 0 && up_dn_b == 0 || q[3:0] == 4'b1111 && up_dn_b == 1)
d3 == !q3
d2 == q2
d1 == q1
d0 == q0[/font]

ld_b has priority over up_dn_b
Try looking at these first two lines of the sequence and try again, if you still can't get it I'll post the entire sequence.
Code:
[FONT=Courier New]Assuming an initially condition:
(q[3:0] == 0000; so rco_b == 0 as up_dn_b == 0)
  outputs  |      inputs
q3:0 rco_b | up_dn_b ld_b d3:0
0000  0    |    0     0   1000
1000  1    |    1     1   0000
...
...[/FONT]
 

random_duck

Newbie level 4
Joined
Apr 25, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
48
No, it doesn't count that way. You have to carefully read the 74169 counter datasheet (the datasheet is pretty bad).

Here are the connections based on the schematic:
Code:
[FONT=Courier New]up_dn_b == q3
ld_b == rco_b (rco_b == 0, when q[3:0] == 0 && up_dn_b == 0 || q[3:0] == 4'b1111 && up_dn_b == 1)
d3 == !q3
d2 == q2
d1 == q1
d0 == q0[/font]

ld_b has priority over up_dn_b
Try looking at these first two lines of the sequence and try again, if you still can't get it I'll post the entire sequence.
Code:
[FONT=Courier New]Assuming an initially condition:
(q[3:0] == 0000; so rco_b == 0 as up_dn_b == 0)
  outputs  |      inputs
q3:0 rco_b | up_dn_b ld_b d3:0
0000  0    |    0     0   1000
1000  1    |    1     1   0000
...
...[/FONT]
Thanks once again.

I tried tracing it again, following on from your values, and got this:

0,8,9,10...15,7,6,5,4...0,8...

Is this correct? I hope I haven't made a mistake somewhere.
 

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,652
Helped
1,774
Reputation
3,554
Reaction score
1,722
Trophy points
1,393
Location
USA
Activity points
57,813
That's exactly what I got. You probably got messed up with the load and up/down signals and the tricky use of the ripple-carry-out previously.

Oh yeah, Good luck on your final exam.
 

SunnySkyguy

Advanced Member level 5
Joined
Sep 26, 2007
Messages
6,743
Helped
1,675
Reputation
3,348
Reaction score
1,643
Trophy points
1,413
Location
Richmond Hill, ON, Canada
Activity points
50,727
Since msb controls count direction 1=up,0=dn
RCO terminates the count at $f for up and $0 for dn
and msb toggles every up/down change.

I would have said.
8,9,a,b,c,d,e,f,7,6,5,4,3,2,1,0... repeating 16 counts.
 

random_duck

Newbie level 4
Joined
Apr 25, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
48
That's exactly what I got. You probably got messed up with the load and up/down signals and the tricky use of the ripple-carry-out previously.

Oh yeah, Good luck on your final exam.
Yeah something along those lines. My understanding was a mess - I clearly wasn't following it through correctly, but your table showed me how to trace the steps in a proper methodical way. Now I am pretty sure that I can apply the same principles to solve any similar question that might come up in the exam.

Thanks for your help once again, and for your kind wishes!

Since msb controls count direction 1=up,0=dn
RCO terminates the count at $f for up and $0 for dn
and msb toggles every up/down change.

I would have said.
8,9,a,b,c,d,e,f,7,6,5,4,3,2,1,0... repeating 16 counts.
Thank you for confirming the solution.
 
Last edited by a moderator:

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top