Shift Registers and Counters

advertisement
Shift Registers and Counters
ShiftReg @ P. Klimo
Shift Registers and Counters
Counters are sequential clocked circuits that:
•
•
•
count pulses (Note the counting sequence can be other than the binary, e.g. Grey
Code, Binary Coded Decimal (BCD), etc.
repeatedly go through a cycle of ( not necessary all) states visiting each of the states
only once in each cycle.
The length of the sequence is called Modulo. (e.g. a decade counter counting from 0
to 9 is a modulo 10 counter)
Two types : Asynchronous (Ripple) and Synchronous.
Example of Asynchronous (Ripple) Modulo 8 Counter:
Modulo 8 Counter
( counts between 0 and 23-1)
Time propagation delay td (tPLH or tPHL in data sheets) - is the shortest time interval
between the active clock transition and the resulting change of the FF’s output Q.
1
Shift Registers and Counters
ShiftReg @ P. Klimo
Note:
•
•
•
•
the clock to each JK flip flop is delayed with respect to the input clock.
the total delay (i.e. the ripple) is proportional to the number of stages (i.e. 3x tpd
for Mod 8 counter )
the transition to new state is not simultaneous (synchronous)
for the correct operation the period between the two subsequent active edges of
the input clock needs to exceed the total propagation delay. This determines the
maximum operational frequency.
Example:
Estimate the maximum clock frequency for Mod 256 asynchronous counter implemented
with JK Flip Flops each having a propagation delay tpd = 6 ns.
Answer: Mod 256 counter requires 8 stages (28 = 256) so the total ripple delay is 8x6 ns
= 48 ns. The clock period T has to be larger than 48 ns so the maximum clock frequency
is 1/48 ns = 20 MHz.
Exercise: Modify the above mod 3 Ripple Counter by taking the clock signal for the
second and the third JK Flip Flops from outputs Q’ rather than Q. Show that this ripple
counter counts down rather than up.
2
Shift Registers and Counters
Counters with MOD < 2 n
Example: Modulo 6 Counter:
The counting sequence:
C
B
A
0
0
0
reset state
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
last state
1
1
0
temporary state
3
ShiftReg @ P. Klimo
Shift Registers and Counters
ShiftReg @ P. Klimo
Synchronous Counters:
Example of Modulo 4 Counter.
Note:
•
•
•
The transition to the new state is synchronous with the clock
The delay of output is independent of the number of stages.
The maximum clock frequency is limited only by the operational speed of the JK
flip flops used (typically 20 MHz for the 74LS series but up to 50 MHz for the 74
HC fast series)
Exercise: Modify the above synchronous Modulo 4 counter so that it counts down rather
then up.
4
Shift Registers and Counters
ShiftReg @ P. Klimo
Example of Modulo 8 Counter.
The Last stage requires Control Logic to feed inputs Jc and Kc of the third Flip-Flop.
Step 1: Derive the Truth Table for the Control Logic outputs JC and KC using the
Excitation Map for the JK Flip Flop:
Present State
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Next State
C*
0
0
0
1
1
1
1
0
B*
0
1
1
0
0
1
1
0
A*
1
0
1
0
1
0
1
0
required
Jc
required
Kc
0
0
0
1
X
X
X
X
X
X
X
X
0
0
0
1
Step 2: Derive (minimum) Boolean expressions for Control Logic outputs JC and KC:
Choosing Do Not Care values denoted by X as shown in the table below makes the Jc and
Jk independent of the (input) variable C:
Present State
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Next State
C*
0
0
0
1
1
1
1
0
B* A*
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
5
required
Jc
required
Kc
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
Shift Registers and Counters
ShiftReg @ P. Klimo
The above truth table gives the following expressions:
Jc = B.A
Kc = B.A
Step 3: Implement the logic equations from Step 2:
Example: Design a Synchronous Modulo 3 Down Counter.
Present State
B
0
1
0
A
0
0
1
Next State
B*
1
0
0
required
JB KB
required
JA KA
1 X
X 1
0 X
0 X
1 X
X 1
A*
0
1
0
By choosing X's carefully the expressions simplify.
Excitation equations are: JB = QA'
KB = QB
6
JA = QB
KA = QA
Shift Registers and Counters
ShiftReg @ P. Klimo
Timing Diagram
With FF, the transitions to the next state are synchronised with a clock (rising or falling )
edges.
Synchronous inputs have to be stable for a minimum time ts – set up time before the
arrival of the clock edge and remain stable for a a duration th – hold up time.
Asynchronous inputs (set and reset) override the clock.
so the J, K inputs have to be stable for ts + th
and td > th
7
Shift Registers and Counters
ShiftReg @ P. Klimo
Shift Registers:
Clocking the shift registers shifts right or left the binary number held in the FFs.
Both the input and the output may be configured for serial or parallel data transfer.
Applications are: algebraic operations (multiply and divide by two) and serial to parallel
conversion.
Four Stage SISO implemented from JK FFs.
Four Stage Serial In-Serial Out (right SISO) made of D FFs
To obtain a parallel input- serial output shift register one uses an additional control signal
shift/ load' which operates the data selection switches shown below
8
Shift Registers and Counters
ShiftReg @ P. Klimo
When the shift is asserted (control high) the switch connects the input of the flip flop Dn
to the output of the Dn-1 flip flop ( Qn-1 ) and the register operates as a shift register. With
Load asserted (control low) the shift operation is suspended and the input of the flip flop
Dn is connected to the parallel data bit Bn.
9
Shift Registers and Counters
ShiftReg @ P. Klimo
Counters using Shift Registers:
Block Diagram of a Counter
A counter based on a n stage shift register can be viewed as a FSM with up to 2n states.
We can label the states by assigning them binary numbers held by the shift register.
Depending on the type of feedback we can have: Ring Counters, Johnson (or Twisted)
Ring Counter, Linear Feedback Shift Register (LFSR
•
Ring counter has a straight feedback from serial output to serial in. It
circulates through n states so it is also called modulo n ring counter.
Normally, with the ring counter only one of the FF is set high. The outputs
can be fed into an encoder in order to obtain the desired output values.
Self Starting Ring Counter
Example: Design of Self-Starting and Self-correcting Ring Counter.
It is required to design a sequential controller with a four bit output, repeating the
sequence Ch, 6h, 3h, 1h, 8h.
10
Shift Registers and Counters
ShiftReg @ P. Klimo
Solution:
Because length of cycle is 5 needs a 5 stage counter
Hex Ouput
Binary representation:
B3 B2 B1 B0
C
1 1 0 0
6
0 1 1 0
3
0 0 1 1
1
0 0 0 1
8
1 0 0 0
We notice that the binary sequence can be realized using a 5 stage right shifting ring
counter loaded with the combination 11000, where only the first four outputs from the
left are used i.e:
Flip Flop
QA QB QC QD QE
C
1 1 0 0 | 0
6
0 1 1 0 | 0
3
0 0 1 1 | 0
1
0 0 0 1 | 1
8
1 0 0 0 | 1
Truth table for the serial input DA of Flip Flop A:
Flip Flop
QA QB QC QD QE
0
0
0
1
1
DA =
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
QB'.QC'.QD'.QE' ; first and fifth row
+ QA'.QB'.QC'.QD ; second and third row
+ QA.QB'.QC'.QD' ; fourth and fifth row
11
; set the first 1 on self-start
; rotate 1
; set the second 1 on error
; rotate 1
; set the second 1 on error
Shift Registers and Counters
•
ShiftReg @ P. Klimo
Johnson Counter has an inverted feedback. It has 2n states. It can achieve a
high operational speed because it does not follow the binary count sequence.
The decoded outputs are free of glitches because any output is subject to the
delay of only one stage.
Twisted Ring or Johnson Counter
Example: Possible States of a 4 stage Johnson Counter
12
Shift Registers and Counters
•
ShiftReg @ P. Klimo
Linear Feedback Shift Register (LFSR): use only exclusive OR gates in the
feedback loop. With a suitable feedback a maximum counting sequence can
be obtained (2n-1 states). For example, for a three stage LSFR the maximum
counting sequence is obtained if the XOR feedback is taken from the last two
stages.
LFSR can be used as a pseudo-random number generator and has applications
in cryptography.
Example: A 3 Stage LFSR
State Table for 3 stage LFSR:
QC
0
0
1
0
1
1
1
QB
0
1
0
1
1
1
0
QA
1
0
1
1
1
0
0
DA
0
1
1
1
0
0
1
Note: There are 7 out of 8 possible states. The state 000 is not admissible
13
Download