Upload
muhammad-ahmad-akram
View
231
Download
0
Embed Size (px)
Citation preview
8/9/2019 16 Cascade
1/36
16
Page 1ECE 238L 2006
Cascaded Counters
8/9/2019 16 Cascade
2/36
16
Page 2ECE 238L 2006
A Mod4 Counter
(A 2-bit counter)CLR INC Q1 Q0 N1 N0
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 1 1
0 1 0 0 0 1
0 1 0 1 1 00 1 1 0 1 1
0 1 1 1 0 0
1 - - - 0 0
00
10
0111
CLR INC
CLR INC
CLR
CLR INCCLR INC
CLR INC
CLR INC
CLR INC
CLR INC
8/9/2019 16 Cascade
3/36
16
Page 3ECE 238L 2006
A Mod4 Counter With a RolloverSignal
CLR INC Q1 Q0 N1 N0 Rollover
0 0 0 0 0 0 0
0 0 0 1 0 1 0
0 0 1 0 1 0 0
0 0 1 1 1 1 0
0 1 0 0 0 1 0
0 1 0 1 1 0 00 1 1 0 1 1 0
0 1 1 1 0 0 1
1 - - - 0 0 0
00
10
0111
CLR INC
CLR INC
CLR
CLR INCCLR INC
CLR INC/Rollover
CLR INC
CLR INC
Signal Rollovercan be used to tellother circuitry that counter isrolling over to all 0s
Mealy output CLR INC
8/9/2019 16 Cascade
4/36
16
Page 4ECE 238L 2006
Cascading 2 Mod4 Counters
00
01
02
0310
11
12
13
20
21
22
23
3031
32
33
00
Count sequence
Mod4Counter
2
INCRollover0
Digit0
Increment higherdigits counterwhen lower digits
counter is rollingover
Digit1 Digit0
CLR
Mod4Counter
2
Rollover1
Digit1
CLR
clk clk
8/9/2019 16 Cascade
5/36
16
Page 5ECE 238L 2006
3 Digits Worth
Mod4Counter
2
INCRollover0
Digit0
CLR
Mod4Counter
2
Rollover1
Digit1
CLR
Mod4Counter
2
Rollover2
Digit2
CLR
Increment higherdigits counterwhen lower digits
counter is rollingover
Can do this with any
counter that hasa Rollover outputCould build a digital watch
or clock circuit this way withMod60 and Mod24 counters
clkclkclk
8/9/2019 16 Cascade
6/36
16
Page 6ECE 238L 2006
Cascading Counters
A counter will increment only when
The counter below it is at its terminal countand it is being incremented That isthe definition of the Rolloversignal
Some people try to tie Rolloverto the clkinput of the next higher counter
Bad idea Very bad idea Violates our Globally Synchronous policy Doesnt work as intended
8/9/2019 16 Cascade
7/36
16
Page 7ECE 238L 2006
Mod4
Counter
2
INC=1
Rollover0
Digit0
CLR
Mod4
Counter
2
Rollover1
Digit1
CLR
clk1clk
1
clk
Digit0 2 0
Clk1
(Rollover0)
3
Digit1 1 2
1 2
Sequence should be:-12-13-20-21-22-23-30-
but we get:-12-23-20-21-22-33-30-
?????
DO NOT TIE CLKinputs on modulesto anything but theclock !!!!!!
Even if you tinkeruntilyou get the right countsequence, you mustguarantee that signal
Rollover0 has no hazards
Digit0 transition from 1-2makes this difficult ifnot impossible
8/9/2019 16 Cascade
8/36
16
Page 8ECE 238L 2006
Mod4
Counter
2
INC=1
Rollover0
Digit0
CLR
Mod4
Counter
2
Rollover1
Digit1
CLR
clk1clk
1
clk
Digit0 2 0
Clk1
(Rollover0)
3
Digit1 1 2
1 2
Sequence should be:-12-13-20-21-22-23-30-
but we get:-12-23-20-21-22-33-30-
?????
DO NOT TIE CLKinputs on modulesto anything but theclock !!!!!!
Even if you tinkeruntilyou get the right countsequence, you mustguarantee that signal
Rollover0 has no hazards
Digit0 transition from 1-2makes this difficult ifnot impossible
Possible hazard
8/9/2019 16 Cascade
9/36
16
Page 9ECE 238L 2006
Ripple Counters
When you tie a rollover-like signal to a clock
on the next higher digit
ripple counter A ripple counter is an ASYNCHRONOUS
counter
Transitions are not all synchronized to the clock Different flip flops change at different times
Similar to gated clocks (seen earlier)
Asynchronous circuits are an advanced topic
8/9/2019 16 Cascade
10/36
16
Page 10ECE 238L 2006
Another Common Ripple Counter
CLK
T Q
Q
1T Q
Q
1T Q
Q
1T Q
Q
1
Q3 Q2 Q1 Q0
Sequence is:
0000
0001
0010
00110100
0101
0110
0111
10001001
1010
1011
1100
11011110
1111
0000
So what is the problem?
8/9/2019 16 Cascade
11/36
16
Page 11ECE 238L 2006
Timing Diagram
clk
Q0
Q1
Q2
Q3
Q0 changes in response to clock edge
Only after it changes does Q1s FF get a clock
Only after that does Q2s FF get a clock
Net effect is that all the FFs change atdifferent times
Logic depending on Q3 has very little timeto react before next clock edge
8/9/2019 16 Cascade
12/36
16
Page 12ECE 238L 2006
Do Not Use Asynchronous or Ripple
Counters
CLK
T Q
Q1T Q
Q1T Q
Q1T Q
Q1
Q3 Q2 Q1 Q0
Mod4
Counter
2
INC=1
Rollover0
Digit0
CLR
Mod4
Counter
2
Rollover1
Digit1
CLR
clk1
clk
1
8/9/2019 16 Cascade
13/36
16
Page 13ECE 238L 2006
Reset
Reset
Reset
00 CEin Reset
(CEin Reset)/CEout
CEin ResetCEin Reset
01
10
11
Mod4 Counter
8/9/2019 16 Cascade
14/36
16
Page 14ECE 238L 2006
The State Flip- Flop
Note: Both CLK and CE are requiredto change the flip-flop
8/9/2019 16 Cascade
15/36
16
Page 15ECE 238L 2006
Mod4 Counter
CEin Q1 Q0 N1 N0 CEout
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0
1 1 1 0 0 1
Q1Q0 N1
Ce 00 01 11 10
0 1 1
1 1 1
Q1Q0 N0
Ce 00 01 11 10
0 1 1
1 1 1
N1 = CeQ1+ Q1Q0 + CeQ1Q0
N0 = CeQ0+ CeQ0CEout = CeQ1Q0
Note: No change when CEin=0
8/9/2019 16 Cascade
16/36
16
Page 16ECE 238L 2006
Mod4 Counter
8/9/2019 16 Cascade
17/36
16
Page 17ECE 238L 2006
Reset
CLKin
Dout
Next Counter
CEout
Stage 2
increments
is tooearly
Cascaded Ripple Counter
8/9/2019 16 Cascade
18/36
16
Page 18ECE 238L 2006
Cascaded Ripple Counter
Why is Next Stage increment too early?
10 11
00 01
Stage 1
CEout
Stage 2
CEout from Stage 1 is used as the clockfor Stage 2
master loads slave loads
8/9/2019 16 Cascade
19/36
16
Page 19ECE 238L 2006
Cascaded Ripple Counter
A Ripple Counter is an ASYNCHRONOUS counter
since its transitions are NOTsynchronized to the
system clock.
In a SYNCHRONOUS counter, all stages transition
with the system clock
8/9/2019 16 Cascade
20/36
16
Page 20ECE 238L 2006
Reset
CLKin
Dout
Next Counter
CEout
Cascaded Synchronous Counter
Stage 2 isincremented
at the correcttime
8/9/2019 16 Cascade
21/36
16
Page 21ECE 238L 2006
10 11
00 01
Stage 1
CEout
Stage 2
00
slave loads slave loadsmaster loadsmaster loads
Stage 2 master loads
Stage 2 slave loads
Cascaded Synchronous Counter
System
Clock
8/9/2019 16 Cascade
22/36
16
Page 22ECE 238L 2006
Stage 1
Stage 2
Stage 3
S
SA
A
Cascaded Counters
The more stages you add to the counter, the biggerthe discrepancy between Synchronous and Asynchronouscounters
8/9/2019 16 Cascade
23/36
16
Page 23ECE 238L 2006
Cascaded Synchronous Counter
Clk
CEin
CEin
Count
Clk
CEin
CEin
Count
Clk
CEin
CEin
Count
1
CEin controls when the S.M. can change
CEin also controls when the CEout will be generated
8/9/2019 16 Cascade
24/36
16
Page 24ECE 238L 2006
Color Code: ClockStage 1
Stage 2
Stage 3
Cascaded Synchronous Counter
Note that the CEout from each stage is synchronized with thesystem clock and with each other. The stage transitions are allsynchronized with the system clock
CEout 1
CEout 2
8/9/2019 16 Cascade
25/36
16
Page 25ECE 238L 2006
Cascaded Synchronous Counter
Lesson : Always use SYNCHRONOUS
counters and timers.
M d4 C
8/9/2019 16 Cascade
26/36
16
Page 26ECE 238L 2006
A Mod4 Counter
D Q
D Q
IFL
Inc
Terminal
Count
Count
Value
CLR INC Q1 Q0 N1 N0 RO
0 0 0 0 0 0 0
0 0 0 1 0 1 0
0 0 1 0 1 0 0
0 0 1 1 1 1 0
0 1 0 0 0 1 0
0 1 0 1 1 0 0
0 1 1 0 1 1 0
0 1 1 1 0 0 11 - - - 0 0 0
Clr
A M d4 C t
8/9/2019 16 Cascade
27/36
16
Page 27ECE 238L 2006
D Q
D Q
IFL
Inc
Terminal
Count
RollOver
A Mod4 Counter
Count
Value
You wouldnt really build it like this!
Clr
CLR INC Q1 Q0 N1 N0 RO
0 0 0 0 0 0 0
0 0 0 1 0 1 0
0 0 1 0 1 0 0
0 0 1 1 1 1 0
0 1 0 0 0 1 0
0 1 0 1 1 0 0
0 1 1 0 1 1 0
0 1 1 1 0 0 11 - - - 0 0 0
C d d C t
8/9/2019 16 Cascade
28/36
16
Page 28ECE 238L 2006
Cascaded Counters
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
C d d C t
8/9/2019 16 Cascade
29/36
16
Page 29ECE 238L 2006
Cascaded Counters
Assume that the second timer is already at the terminal count
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
C s d d C t s
8/9/2019 16 Cascade
30/36
16
Page 30ECE 238L 2006
Cascaded Counters
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
C sc d d C unt rs
8/9/2019 16 Cascade
31/36
16
Page 31ECE 238L 2006
Cascaded Counters
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
Cascaded Counters
8/9/2019 16 Cascade
32/36
16
Page 32ECE 238L 2006
Cascaded Counters
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
Cascaded Counters
8/9/2019 16 Cascade
33/36
16
Page 33ECE 238L 2006
Cascaded Counters
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
Cascaded Counters
8/9/2019 16 Cascade
34/36
16
Page 34ECE 238L 2006
Cascaded Counters
It looks like the Inc signal will ripple from counter to counter.Why is this any different from the toggle flip-flop example?
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
MOD4
Inc
TC
Clk
CV CV CV
Inc
Clk
Clr Clr Clr
Clr
A Mod4 Counter
8/9/2019 16 Cascade
35/36
16
Page 35ECE 238L 2006
D Q
D Q
IFL
Inc
Terminal
Count
Roll
Over
A Mod4 Counter
Count
Value
The right way!
Clr
A Mod4 Counter
8/9/2019 16 Cascade
36/36
16
Page 36ECE 238L 2006
A Mod4 Counter
MOD4
Count
Value
Roll
Over
Clock
Clear
Increment