Lec06 DS 2018-Print
Lec06 DS 2018-Print
Lec06 DS 2018-Print
2018
Digital Sytems
Counters and Registers
BK
TP.HCM
dce
Introduction
2018
2
dce
2018
3
dce
2018
Four-bit asynchronous (ripple) counter
5
dce
2018
Propagation Delay in Ripple Counters
6
dce
2018 Ripple Counter Propagation Delay
1MHz
10MHz
7
dce
Counters with MOD Number < 2N
2018
8
dce
2018
MOD-6 Counter
MOD-6 counter produced by clearing a MOD-8 counter when
a count of six (110) occurs.
9
dce
Counters with MOD Number < 2N
2018
10
dce
Decade counters/BCD counters
2018
11
dce
Asynchronous Down Counter
2018
12
dce
Asynchronous Down Counter
2018
• Each FF, except the first must toggle when the preceding
FF goes from LOW to HIGH
• If the FFs have CLK inputs that respond to negative
transition (HIGH to LOW), then an inverter can be placed
in front of each CLK input; however the same effect can
accomplished by driving each FF CLK input from the
inverted output of the preceding FF.
• Input pulses are applied to A. The A’ output serves as the
CLK input for B ; the B’ output serves as the CLK input
for the C.
• The waveforms at A, B and C show that B toggles
whenever A goes LOW to HIGH and C toggles whenever
B goes LOW to HIGH.
13
dce
Asynchronous Down Counter
2018
14
dce
IC Asynchronous counter
2018
15
dce
Example
2018
16
dce
Example
2018
17
dce
2018
Synchronous (Parallel) Counters
• All FFs are triggered by CLK simultaneously
• Mod-16 counter.
– Each FF has J and K inputs connected so they are HIGH only when
the outputs of all lower-order FFs are HIGH.
– The total propagation delay will be the same for any number of FFs.
• Synchronous counters can operate at much higher
frequencies than asynchronous counters.
18
dce
2018
Synchronous (Parallel) Counters
• Circuit Operation
– On a given NGT of the clock, only those FFs that are
supposed to toggle on that NGT should have J=K=1
when that NGT occurs.
– FF A must change states at each NGT. Its J and K inputs
arepermanently HIGH so that it will toggle on each NGT
of the CLK input.
– FF B must change states on each NGT that occurs while
A=1.
– FF C must change states on each NGT that occurs while
A=B=1
– FF D must change states on each NGT that occurs while
A=B=C=1
19
dce
2018
Synchronous (Parallel) Counters
• Each FF should have its J&K inputs connected
such that they are HIGH only when the outputs of
all lower-order FFs are in the HIGH state.
• Advantages over asynchronous:
1. FFs will change states simultaneously; synchronized to
the NGTs of the input clock pulses.
2. Propagation delays of the FFs do not add together to
produce the overall delay.
3. The total response time is the time it takes one FF to
toggle plus the time for the new logic levels to propagate
through a single AND gate to reach the J, K inputs.
• total delay = FF tpd +AND gate tpd
20
dce
Counters for MOD < 2N
2018
MOD-14 counter
resets when count
14 is reached.
MOD-10 (decade)
counter. Resets
when count 10 is
reached.
21
dce
2018
Example: MOD-60 Counter
22
dce
Synchronous, MOD-16, down counter
2018
23
dce
2018
Synchronous Down and Up/Down Counters
• The synchronous counter can be converted to a down counter by
using the inverted FF outputs to drive the JK inputs.
26
dce
2018
Synchronous counter with asynchronous
parallel load
27
dce
IC Synchronous Counters
2018
• 4 FFs,
28
dce
2018
Synchronous Counter Example
•start counting at t1
•synchronous clear at
t2
•synchronous load at t3
•stop counting at t4
(ENP low)
•no counting at t5
(ENT low)
•resume counting at t6
•terminal state sets
RCO (ripple carry out)
high automatic reset at
t7
29
dce
2018
Synchronous Counter Example
•start counting at t1
•asynchronous clear at t2
•asynchronous clear at t3
•stop counting at t4 (ENP
low)
•synchronous load at t5
•stop counting at t6 (ENT
low)
•continue counting at t7
terminal state of 1001 sets
RCO
•stop counting at t8 (ENP)
• RCO goes low at t9 due to
low ENT (ENP does not
affect RCO)
30
dce
2018
74ALS190-75ALS191 series
synchronous counters (up/down)
Figure 7-16 74ALS190-75ALS191 series synchronous counters: (a) logic symbol; (b) modules; (c) function table.
31
dce
2018
MOD-10 Counter
•Maximum state is 1001
•Max/min is high when state is 1001 and
up-counting; or 0000 and down-counting
•Max/min low at other times
32
dce
2018
Using 74ALS163
(syn load) and
74ALS191(async
load) MOD-16
counters for other
MODs Synchronous load
0001-1100
mod-12 counter
asynchronous load
0001-1011
mod-11 counter ( in 1100
state for a short period of time
33
dce
2018
Extending Maximum Counting Range
34
dce
Decoding a Counter
2018
35
dce
2018
Decoding a Counter
Using AND
Gates to
Decode a
MOD-8
Counter
(produce pulse
at specific
count)
36
dce
2018
Decoding a Counter
Circuit to
Make X High
Between
Counts of 8
and 14
(sets FF at
count 8, then
clears at
count 14)
37
dce
Analyzing Synchronous Counters
2018
38
dce
2018
Analyzing Synchronous Counters
•State transition
diagram and
timing diagram for
synchronous
counter
•unused states not
in timing diagram
39
dce
Synchronous Counter Design
2018
40
dce
2018
Choose a type of FF – JK in this example
State transition diagram for the synchronous counter design
unused states Present State Next State J
K
0 0 0
x
0 1 1
x
1 0 x
1
1 1 x
0
41
dce
State table of counter example
2018
42
dce
2018
43
dce
2018 K maps for the J and K logic circuits
44
dce
2018 Final implementation of the synchronous
counter design example
45
dce
Design example
2018
46
dce
2018
State table for Design Example
47
dce
2018
K–maps for four outputs
48
dce
2018
State Table for Example: MOD-5
Counter Using D-type Flip-Flops
49
dce
2018
K maps for Outputs - MOD-5 D-flip-flop counter
50
dce
2018
Implementation of MOD-5, D flip-flop
design
51
dce
Integrated-Circuit Registers
2018
52
dce
2018
PISO – The 74ALS165/74HC165
• 8 bit register
– Serial data entry via DS
– Asynchronous parallel
data entry P0 through P7
– Only the outputs of Q7
are accessible
• CP is clock input for
shifting
• Clock inhibit input
• Shift load input
53
dce
2018 74HC165 PISO Waveforms
Ds = 0, CP INH = 0, Output values for given inputs (P0=P7)
54
dce 2018
SIPO – The 74ALS164/74HC164
• 8 bit shift register
• Each FF output is externally accessible
• A and B inputs are combined in an AND gate
for serial input.
• Shift occurs on NGT of the clock input.
55
dce
2018
Other similar devices
74194/ASL194/HC194
4 bit bi-directional universal shift register
out.
74373/ALS373/HC373/HCT373
8 bit PIPO with 8 D latches
Tristate outputs
74374/ALS374/HC374
8 bit PIPO with 8 edge triggered D FFs, Tristate
outputs
56
dce
Shift Register Counters
2018
• Ring Counter
• Last FF shifts its value to first FF
• Uses D-type FFs (JK FFs can also be used)
– Must start with only one FF in the 1 state and
all others in the 0 state.
57
dce
2018
Four-bit Ring Counter
58
dce 2018
59
dce
2018
HDL for Registers and Counters
60
dce
2018
HDL for Registers and Counters (1)
4-bit
Binary
Ripple
Counter
61
dce
2018
HDL for Registers and Counters (2)
//Ripple counter
module ripplecounter(A0,A1,A2,A3,Count,Reset);
output A0,A1,A2,A3;
input Count,Reset;
//Instantiate complementing flip-flop
CF F0 (A0,Count,Reset);
CF F1 (A1,A0,Reset);
//Complementing flip-flop
CF F2 (A2,A1,Reset);
//Input to D flip-flop = Q'
CF F3 (A3,A2,Reset);
module CF (Q,CLK,Reset);
endmodule
output Q;
input CLK,Reset;
reg Q;
always@(negedge CLK or posedge Reset)
if (Reset) Q<=1'b0;
else Q<= (~Q);
endmodule
62
dce
2018
HDL for Registers and Counters (3)
//Behavioral description of MOD-N up counters
module upmodn (Ck, Q);
parameter n = 6;
input Ck;
output [3:0] Q;
reg [3:0] Q;
//Parallel Registers
module reg1 (STO, CLR, D, Q);
parameter n = 16;
input STO, CLR;
input [ n-1:0] D;
output [ n-1:0] Q;
reg [n-1:0] Q;
always @(posedge STO or negedge CLR)
if ( CLR ==0) Q <= 0;
else Q <= D;
endmodule
64
dce
2018
HDL for Registers and Counters (5)
//Shift Registers
module shift4 (D, LD, LI, Ck, Q);
input [3:0] D;
input LD, LI, Ck;
output [3:0] Q;
reg [3:0] Q;
always @(posedge Ck)
if (LD) //Syn Load
Q <= D;
else
begin
Q[0] <= Q[1];
Q[1] <= Q[2];
Q[2] <= Q[3];
Q[3] <= LI;
end
endmodule
65