Shift Registers and Shift Register Counters

33
1 DIGITAL SYSTEMS TCE1111 Shift Registers and Shift Register Counters Week 10 and Week 11 (Lecture 2 of 2)

description

Shift Registers and Shift Register Counters. Week 10 and Week 11 (Lecture 2 of 2). 1 0 0 0. Parallel load a 1000:. Serial receiving device. Q. Q. Q. Q. 0. D. D. D. D. X. X. X. X. 1. 0. 0. 0. 1. C p. C p. C p. C p. CLOCK INPUT. CLOCK. X=Undetermined State. - PowerPoint PPT Presentation

Transcript of Shift Registers and Shift Register Counters

Page 1: Shift Registers and Shift Register Counters

1

DIGITAL SYSTEMS TCE1111

Shift Registers and Shift Register Counters

Week 10 and Week 11

(Lecture 2 of 2)

Page 2: Shift Registers and Shift Register Counters

2

DIGITAL SYSTEMS TCE1111

Shift Register is one of the most widely used functional device in Digital Systems. The simple pocket calculator illustrates the shift register’s characteristics.How Shift Register Works ?

If a 4-bit shift Register receives 4-bits of parallel data and shift them to the right four positions into some other device

STEP-1

1

QD

1

QD

0

QD

0

QD

0

CLOCK

0

XXXX

1 0 0 0Parallel load a 1000:

Serial receiving device

Cp Cp Cp CpCLOCK INPUT

X=Undetermined State

Shift Register

Page 3: Shift Registers and Shift Register Counters

3

DIGITAL SYSTEMS TCE1111

STEP -2

STEP -3

1

QD

0 QD

1 QD

0 QD

0

CLOCK

0

XXX0

1 0 0 0

Cp Cp Cp Cp

Apply pulse 1:

1

1

QD

0 QD

0 QD

1 QD

0

CLOCK

0

XX00

1 0 0 0

Cp Cp Cp Cp

Apply pulse 2:

2

Shift Register

Page 4: Shift Registers and Shift Register Counters

4

DIGITAL SYSTEMS TCE1111

STEP - 4

STEP -5

1 QD

0 QD

0 QD

0 QD

1

CLOCK

0

X000

1 0 0 0

Cp Cp Cp Cp

Apply pulse 3:

3

1 QD

0 QD

0 QD

0 QD

0

CLOCK

0

0001

1 0 0 0

Cp Cp Cp Cp

Apply pulse 4:

4

Shift Register

Page 5: Shift Registers and Shift Register Counters

5

DIGITAL SYSTEMS TCE1111

One method of identifying Shift Registers is how data is loaded into and read from the storage unit. There are Four Categories of Shift Registers.

Shift Register

Page 6: Shift Registers and Shift Register Counters

6

DIGITAL SYSTEMS TCE1111

Serial in/serial out shift register.• Serial entry of data into a shift register.

• A 4-bit device implemented with D flip-flop.

Shift Register

Page 7: Shift Registers and Shift Register Counters

7

DIGITAL SYSTEMS TCE1111

Serial-in/Serial out Shift Register

Shift registers are available in IC form or can be constructed from discrete flip-flops as is shown here with a five-bit serial-in serial-out register.

C

FF0

CLK

C

FF1

C

FF2

C

FF4

D0 D1 D2 D4

Serialdataoutput

Serialdatainput

C

FF3

D3 Q4Q0 Q1 Q2 Q3

Each clock pulse will move an input bit to the next flip-flop. For example, a 1 is shown as it moves across.

1 1 1 1 1 1

CLKCLKCLKCLKCLK

Page 8: Shift Registers and Shift Register Counters

8

DIGITAL SYSTEMS TCE1111

Assumed that the registers is initially cleared. Show the state of the 5-bit register for the specified data input and clock waveforms.

Shift Register Input is 01011, lsb in first

Page 9: Shift Registers and Shift Register Counters

9

DIGITAL SYSTEMS TCE1111

Four bits (1010) being entered serially into the register.Shift Registerlsb in first

Page 10: Shift Registers and Shift Register Counters

10

DIGITAL SYSTEMS TCE1111

Four bits (1010) being entered serially into the register.

• The register is initially clear.

• The 0 is put onto the data input line, when the 1st. Clock pulse, FF0 is reset, thus storing 0.

• Next CLK2. Bit 1, is applied to the data input, making D=1 for FF0 and D=0 for FF1, when 2nd. Clock pulse occurs, the 1 on the data input is shifted into FF0, and the 0 was in FF0 is shifted into FF1.

• The CLK3 . Bit, a 0 is put onto the data input line, and a clock pulse is applied, the 0 is entered into FF0, the 1 stored in FF0 is shifted into FF1, and the 0 stored in FF1 is shifted into FF2.

• the CLK4, the last bit, a 1, is now applied to the data input and a clock pulse is applied. This time the 1 is entered into FF0, the 0 stored in FF0 is shifted into FF1, the 1 stored in FF1 is shifted into FF2, and the 0 stored in FF2 is shifted into FF3.

• This complete the serial entry of four bits into the shift register.

Shift Register Serial out –lsb in first

Page 11: Shift Registers and Shift Register Counters

11

DIGITAL SYSTEMS TCE1111

Four bits (1010) being entered serially into the register.

Page 12: Shift Registers and Shift Register Counters

12

DIGITAL SYSTEMS TCE1111

• The bits must be shifted our serially and taken off the q3 output.

• After CLK4 in the dta-entry operation, the LSB, 0, appears on the Q3 output.

• When clock pulse CLK5, the second bit appears on the Q3 output.

• When CLK6, shift the third bits to the output Q3

• When CLK7, shift the fourth bit to the output Q3.

Four bits (1010) being entered serially into the register.

Page 13: Shift Registers and Shift Register Counters

13

DIGITAL SYSTEMS TCE1111

A serial in/parallel out shift register.

• Figure shows a 4-bit serial in/parallel out shift register and its logic block symbol.

Shift Register

Page 14: Shift Registers and Shift Register Counters

14

DIGITAL SYSTEMS TCE1111

An application of shift registers is conversion of serial data to parallel form.

For example, assume the binary number 1011 is loaded sequentially, one bit at each clock pulse.

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q31

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1 0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1 1 0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q3

1X 1 0 1

C

FF0

CLK

C

FF1

C

FF2

D0 D1 D2

Serialdatainput

C

FF3

D3Q0 Q1 Q2 Q31X 1 0 1

CLKCLKCLKCLK

After 4 clock pulses, the data is available at the parallel output.

Serial in/parallel out shift register.

Parallel out –msb in first

Page 15: Shift Registers and Shift Register Counters

15

DIGITAL SYSTEMS TCE1111

Show the of the 4-bit register for the data input and clock waveforms. The register initially contains all 1’s.

The register contains 0110 after 4 clock pulses.

Shift Register 0110, msb in first

Page 16: Shift Registers and Shift Register Counters

16

DIGITAL SYSTEMS TCE1111

A 4-bit parallel in/serial out shift register.

Shift Register

Page 17: Shift Registers and Shift Register Counters

17

DIGITAL SYSTEMS TCE1111

A 4-bit parallel in/serial out shift register.

• There are four data-input lines, D0, D1, D2, D3 and a SHIFT/LOAD input, which allows four bits of data to load in parallel into the register.

• When SHIFT/LOAD is LOW, gates G1 through G3 are enabled, allowing each data bit to be applied to the D input of its respective flip-flop.

• When a clock is applied, the flip-flops with D=1 will set and those with D=0 will reset, thereby storing all four bits simultaneously.

• When SHIFT/LOAD is HIGH, gates G1 through G3 are disabled and G4 through G6 are enabled, allowing the data bits to shift right from one stage to the next.

• The OR gates allow either the normal shifting operation or parallel data-entry operation, depending on which AND gates are enabled by the level on the SHIFT/LOAD input.

Shift Register

Page 18: Shift Registers and Shift Register Counters

18

DIGITAL SYSTEMS TCE1111

Show the data-output waveform for a 4-bit register with the parallel input data and the clock and SHIFT/LOAD waveforms given.

Shift Register

Parallel out – msb first out

Page 19: Shift Registers and Shift Register Counters

19

DIGITAL SYSTEMS TCE1111

A parallel in/parallel out register.

Shift Register

Page 20: Shift Registers and Shift Register Counters

20

DIGITAL SYSTEMS TCE1111

• The 74HC195 can be used for parallel in/parallel out operation. It also can be used for serial in/serial out and serial in/parallel out operation.

Shift Register

Page 21: Shift Registers and Shift Register Counters

21

DIGITAL SYSTEMS TCE1111

It can be used for parallel in/parallel out by using Q3 as the output.

• When the SHIFT/LOAD input is LOW, the data on the parallel inputs are entered synchronously on the positive transition of the clock.

• When SHIFT/LOAD is HIGH, stored data will shift right (Q0 to Q3) synchronously with the clock.

• Inputs J and K are the serial data inputs to the first stage of the register (Q0); Q3 can be used for serial output data.

• The active-LOW clear input is asynchronous.

Shift Register

Page 22: Shift Registers and Shift Register Counters

22

DIGITAL SYSTEMS TCE1111

Sample timing diagram for a 74HC195 shift register.

Shift Register

Page 23: Shift Registers and Shift Register Counters

23

DIGITAL SYSTEMS TCE1111

4-Bit Bidirectional Shift Register-Logic Diagram

Shift Register

Page 24: Shift Registers and Shift Register Counters

24

DIGITAL SYSTEMS TCE1111

4-Bit Bidirectional Shift Register-Operation

• A HIGH on the control input allows data bits inside the register to be shifted to the right and a LOW enables data bits inside the register to be shifted to the left.

• When the control input is HIGH, gates G1 through G4 are enabled, and the state of the Q output of each flip-flop is passed through to the D input of the following flip-flop. When a clock pulse occurs, the data bits are shifted one place to the right.

• When the control input is LOW, gates G5 through G8 are enabled, and the Q output of each flip-flop is passed through to the D input of the preceding flip-flop. When a clock pulse occurs, the data bits are then shifted one place to the left.

/RIGHT LEFT

/RIGHT LEFT

/RIGHT LEFT

Shift Register

Page 25: Shift Registers and Shift Register Counters

25

DIGITAL SYSTEMS TCE1111

4-Bit Bidirectional Shift Register-Timing DiagramAssume that initially Q0=1, Q1=1, Q2=0, and Q3=1 and the serial data-input is LOW. Timing diagram for the given control input waveform is given below: /RIGHT LEFT

Shift Register

Page 26: Shift Registers and Shift Register Counters

26

DIGITAL SYSTEMS TCE1111

The Johnson Counter

• A Johnson counter will produce a modulus of 2n.

• A 4-bit device has a total of 8 states and the 5-bit device has a total of 10 states.

• The implementation of a Johnson counter is the same regardless of the number of stages.

• The Q output of each stage is connected to the D input of the next stage, except the Q output of the last stage is connected back to the D input of the first stage.

Page 27: Shift Registers and Shift Register Counters

27

DIGITAL SYSTEMS TCE1111

The Johnson CounterClock Pulse Q0 Q1 Q2 Q3

0 0 0 0 0

1 1 0 0 0

2 1 1 0 0

3 1 1 1 0

4 1 1 1 1

5 0 1 1 1

6 0 0 1 1

7 0 0 0 1

Four-bit Johnson sequence:

Page 28: Shift Registers and Shift Register Counters

28

DIGITAL SYSTEMS TCE1111

The Johnson Counter

Clock Pulse Q0 Q1 Q2 Q3 Q4

0 0 0 0 0 0

1 1 0 0 0 0

2 1 1 0 0 0

3 1 1 1 0 0

4 1 1 1 1 0

5 0 1 1 1 1

6 0 1 1 1 1

7 0 0 1 1 1

8 0 0 0 1 1

9 0 0 0 0 1

Five-bit Johnson sequence:

Page 29: Shift Registers and Shift Register Counters

29

DIGITAL SYSTEMS TCE1111

The Johnson Counter Timing sequence for a 4-bit Johnson counter

Page 30: Shift Registers and Shift Register Counters

30

DIGITAL SYSTEMS TCE1111

The Johnson Counter• Timing sequence for a 5-bit Johnson counter

Page 31: Shift Registers and Shift Register Counters

31

DIGITAL SYSTEMS TCE1111

Logic diagram for a 10-bit ring counter.

• The inter-stage connections are the same as those for a Johnson counter, except that Q rather than Q is fed back from the last stage.

The Ring Counter

Page 32: Shift Registers and Shift Register Counters

32

DIGITAL SYSTEMS TCE1111

10-bit ring counter sequence

CLOCK PULSE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9

0 1 0 0 0 0 0 0 0 0 0

1 0 1 0 0 0 0 0 0 0 0

2 0 0 1 0 0 0 0 0 0 0

3 0 0 0 1 0 0 0 0 0 0

4 0 0 0 0 1 0 0 0 0 0

5 0 0 0 0 0 1 0 0 0 0

6 0 0 0 0 0 0 1 0 0 0

7 0 0 0 0 0 0 0 1 0 0

8 0 0 0 0 0 0 0 0 1 0

9 0 0 0 0 0 0 0 0 0 1

The Ring Counter

Page 33: Shift Registers and Shift Register Counters

33

DIGITAL SYSTEMS TCE1111

If a 10-bit ring counter has the initial state 1010000000, determine the waveform for each of the Q outputs.

The Ring Counter