CS 140 Lecture 18 Professor CK Cheng 12/3/02
Standard Sequential Modules 1.Register 2.Shift Register 3.Counter
3. Counter(Modulo-n counter) LD D Q TC Q (t+1) = (0, 0,.., 0)if CLR = 1 = Dif LD = 1 and CLR = 0 = (Q(t)+1)mod nif LD = 0, CNT = 1 and CLR = 0 = Q (t) if LD = 0, CNT = 0 and CLR = 0 CNT CLR CLK TC = 1 if Q (t) = n-1 and CNT = 1 = 0otherwise
Given a mod 16 counter, construct a mod-m counter (1 < m < 16) with AND, OR, NOT gates m = 6 Q 3 Q 2 Q 1 Q CLK CLR CNT D 3 D 2 D 1 D LD Q1Q1 Q0Q0 X Set LD = 1 when X = 1 and (Q 3 Q 2 Q 1 Q 0 ) = (0101)
Given a mod 16 counter, construct an a-to-b counter (0 < a < b < 15) 5 to 11 Q 3 Q 2 Q 1 Q 0 CLK CLR CNT D 3 D 2 D 1 D LD Q3Q3 Q0Q0 X Set LD = 1 when X = 1 and (Q 3 Q 2 Q 1 Q 0 ) = b (in this case, 1011) Q1Q1
Given a mod 16 counter, construct a counter with sequence Q 2 Q 1 Q 0 CLK CLR CNT D 2 D 1 D 0 LD Q 2’ Q0Q0 X Q2Q2 Q 0 Q 1 Q 0 Q 0’ When Q = 1, load D = 5 When Q = 6, load D = 2 When Q = 3, load D = 7
Q Q Q Q Q Q LD Id D D D D D D LD = Q 2’ Q 0 + Q 2 Q 0’ D 2 = Q 0 D 1 = Q 1 D 0 = Q 0 K Mapping LD and D, we get
Q Q Q Q Q Q LD Id D D D D D D D 2 = Q 0 D 1 = Q 1’ + Q 0 D 0 = Q 1’ Q 0 LD = Q 2’ Q 1’ + Q 2 Q 0 + Q 2 Q 1 K Mapping LD and D, we get Sequence LD = 1 D = 2 When Q(t) = 0 LD = 1 D = 7 When Q(t) = 5 LD = 1 D = 6 When Q(t) = 7 LD = 1 D = 0 When Q(t) = 6
Cascade Counter CNT LD TC CLK Q 7, Q 6, Q 5, Q 4 D 7, D 6, D 5, D 4 CNT LD TC CLK Q 3, Q 2, Q 1, Q 0 D 3, D 2, D 1, D 0 X
TC = 1 when X = 1, (Q 3, Q 2, Q 1, Q 0 ) = (1,1,1,1) (Q 7 (t+1) Q 6 (t+1) Q 5 (t+1) Q 4 (t+1) ) = (Q 7 (t) Q 6 (t) Q 5 (t) Q 4 (t) ) + 1 if TC = 1 & X = 1 The whole thing therefore can be viewed as a modulo 256 counter. (Q 3, Q 2, Q 1, Q 0 ) TC (Q 7, Q 6, Q 5, Q 4 )