1 sequential logic circuits sunday, 20 july digital electronics workshop pn. norina idris, ppk...

Post on 03-Jan-2016

224 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

11

Sequential Logic CircuitsSequential Logic Circuits

Sunday, 20 JulySunday, 20 July

DIGITAL ELECTRONICS DIGITAL ELECTRONICS WORKSHOPWORKSHOP

Pn. Norina Idris, PPK Mikroelektronik, UniMAP

22

““Combinational” vs Combinational” vs “Sequential”“Sequential”

Combinational – outputs depend only on Combinational – outputs depend only on the inputs.the inputs.– Do not have memory.Do not have memory.– Cannot store state.Cannot store state.

Sequential – outputs depend on inputs and Sequential – outputs depend on inputs and past behavior.past behavior.– Require use of storage elements.Require use of storage elements.– Contents of storage elements is called “state”.Contents of storage elements is called “state”.– Circuit goes through sequence of states as a Circuit goes through sequence of states as a

result of changes in inputs.result of changes in inputs.

33

Overview of Sequential Overview of Sequential CircuitsCircuits

Storage Elements and AnalysisStorage Elements and Analysis

– Introduction to sequential circuitsIntroduction to sequential circuits– Types of sequential circuitsTypes of sequential circuits– Storage elementsStorage elements

LatchesLatches Flip-flopsFlip-flops

– Sequential circuit analysisSequential circuit analysis State tablesState tables State diagramsState diagrams

44

Block Diagram of a Sequential Block Diagram of a Sequential CircuitCircuit

55

Sequential Circuit - Basic Sequential Circuit - Basic FunctionFunction

The data stored in the “storage The data stored in the “storage elements” defines the “state” of the elements” defines the “state” of the sequential circuit at that time, i.e. sequential circuit at that time, i.e. present state.present state.

The The inputsinputs, together with the , together with the present present statestate of the storage elements, of the storage elements, determinedetermine the the outputsoutputs and the and the next next statestate of the storage elements. of the storage elements.

66

Types of Sequential CircuitsTypes of Sequential Circuits Depends on the Depends on the timetimes at which:s at which:

– storage elements observe their inputs, and storage elements observe their inputs, and – storage elements change their state storage elements change their state

SynchronousSynchronous– Behavior defined from knowledge of its signals at Behavior defined from knowledge of its signals at discretediscrete

instances of timeinstances of time– Storage elements observe inputs and can change state only Storage elements observe inputs and can change state only

in relation to a timing signal (in relation to a timing signal (clock pulsesclock pulses from a from a clockclock)) AsynchronousAsynchronous

– Behavior defined from knowledge of inputs an any instant of Behavior defined from knowledge of inputs an any instant of time and the order in continuous time in which inputs time and the order in continuous time in which inputs changechange

– If clock just regarded as another input, all circuits are If clock just regarded as another input, all circuits are asynchronous!asynchronous!

77

Synchronous Clocked Synchronous Clocked Sequential CircuitSequential Circuit

88

Simple Memory StructureSimple Memory Structure

99

Another Structure for Another Structure for MemoryMemory

Reset

Set Q

1010

The Most Common Memory Elements The Most Common Memory Elements UsedUsed

Latches Latches

Flip-flops Flip-flops

– The basic single-bit memory elements, The basic single-bit memory elements, – With one or two inputs/outputs, With one or two inputs/outputs, – Designed using individual logic gates and Designed using individual logic gates and

feedback loops.feedback loops.– Both are referred to as “bistable Both are referred to as “bistable

elements” or “multivibrator”, i.e. having elements” or “multivibrator”, i.e. having two stable states.two stable states.

1111

Latches & Flip-flopsLatches & Flip-flops

Part IPart I

1212

Latch vs Flip-flopLatch vs Flip-flop

““The The inputsinputs, together with the , together with the present statepresent state of the storage of the storage elements, elements, determinedetermine the the outputsoutputs and the and the next statenext state of the of the storage elements.”storage elements.”

LatchLatch– Asynchronous. Asynchronous. – Change of stateChange of state can happen at can happen at any time,any time,

whenever whenever its inputs changeits inputs change. .

Flip-FlopsFlip-Flops– Synchronous.Synchronous.– Change of stateChange of state occurs only at occurs only at specific timesspecific times

determined by a determined by a clock pulse inputclock pulse input..– Flip-flops are constructed from latches!!Flip-flops are constructed from latches!!

1313

Types of Types of LatchesLatches

SR Latch S R Latch Gated D Latch

S Q

Q

C

R

Gated SR Latch (with control)

1414

S R LatchS R Latch

1515

SR Latch with NOR GatesSR Latch with NOR Gates

Reset

Set Q

Re-drawn …

Q

Q

1616

SR Latch Function TableSR Latch Function Table

Hold

Hold

1717

… … SR Latch OperationSR Latch Operation

If S=R=0 => the latch is either SET If S=R=0 => the latch is either SET or reSET..or reSET..

If S=R=1 => both Q and NQ = 0.If S=R=1 => both Q and NQ = 0.

– Undefined State!! … violation of Q vs Undefined State!! … violation of Q vs NQ.NQ.

1818

Simulation of SR Simulation of SR LatchLatch

.. with delay

1919

S-R Latch vs S-R LatchS-R Latch vs S-R Latch

2020

S R LatchS R Latch

2121

S R Latch with NAND GatesS R Latch with NAND Gates

Q

Q

Active-LOW SR Latch …

2222

SR Latch Function TableSR Latch Function Table

Hold

Hold

2323

S R Latch Function Table

2424

Assume that Q is initially LOW

1 3 4 5 6 72

S R Latch Waveform

2525

Gated SR Gated SR LatchLatch

= SR latch with Control input= SR latch with Control input

= SR latch with Enable input= SR latch with Enable input

= Clocked SR Latch= Clocked SR Latch

S Q

Q

C

R

C or Enable or CLock

2626

A gate input is added to the S-R latch to:

- Act as a “control” input.

- Make the latch synchronous.

Control=1 => Latch can change state

Control =0 => Latch “holds” previous

value

Gated S-R Latch - Basic Operation

2727

Gated SR Latch Function Gated SR Latch Function TableTable

Where is the additional circuit?

2828

R

C

Q

Q

S

1

0

1

0

1

0

1

0

1

0

Time

?

?

S Q

Q

C

R

Gated SR Latch SimulationGated SR Latch Simulation

2929

Gated D LatchGated D Latch

D Q

Q C

3030

Gated D LatchGated D Latch

Add inverter to the SR latch…

3131

Gated D Latch Function Gated D Latch Function TableTable

Note: There are no “indeterminate states” …

3232

Gated D Latch SimulationGated D Latch Simulation

t 1

t 2

t 3

t 4

Time

Clk

D

Q

3333

State Change in LatchState Change in Latch

Change in latch state => TriggerChange in latch state => Trigger

The D latch with clock pulses on its The D latch with clock pulses on its Control, C, input is triggered every Control, C, input is triggered every time a pulse to logic-1 level occurs.time a pulse to logic-1 level occurs.

As long as the pulse remains at the As long as the pulse remains at the logic-1 level, any changes in the data logic-1 level, any changes in the data input will change the state of the input will change the state of the latch.latch. “Level” triggered

3434

Edge-Triggered Flip-flopsEdge-Triggered Flip-flops

Flip-flops are Flip-flops are synchronoussynchronous bistable devices. bistable devices.

Synchronous: because the output changes Synchronous: because the output changes state ony at a certain point on a triggering state ony at a certain point on a triggering input, i.e. CLK, which is the control input.input, i.e. CLK, which is the control input.

Edge-triggered flip-flop: changes state at Edge-triggered flip-flop: changes state at either the either the positive edge positive edge (rising edge) or at (rising edge) or at the the negative edgenegative edge (falling edge) of the cock (falling edge) of the cock pulse.pulse.

3535

Clock Signals & Synchronous Sequential CircuitsClock Signals & Synchronous Sequential Circuits

A clock signal is a periodic square wave that A clock signal is a periodic square wave that indefinitely switches values from 0 to 1 and 1 to 0 indefinitely switches values from 0 to 1 and 1 to 0 at fixed intervals. at fixed intervals.

Rising edges of the clock

(Positive-edge triggered)

Falling edges

of the clock

(Negative-edge triggered)

Clock signal

Clock Cycle

Time

1

0

3636

Edge-triggered Flip-flop SymbolsEdge-triggered Flip-flop Symbols

Positive edge triggered and Negative edge-Positive edge triggered and Negative edge-triggeredtriggered

• All the above flip-flops have the triggering input called clock (CLK/C)

3737

Edge-Triggered Flip-flopsEdge-Triggered Flip-flops

SR flip-flopSR flip-flop

JK flip-flopJK flip-flop

D flip-flopD flip-flop

T flip-flopT flip-flop

3838

Timing DiagramTiming Diagram

3939

Negative-Edge Triggered D Flip-Negative-Edge Triggered D Flip-FlopFlop

The edge-triggered The edge-triggered D flip-flop is theD flip-flop is thesame as the master-same as the master-slave D flip-flop.slave D flip-flop.

It can be formed by:It can be formed by:– Replacing the first clocked S-R latch with a clocked D latch orReplacing the first clocked S-R latch with a clocked D latch or– Adding a D input and inverter to a master-slave S-R flip-flopAdding a D input and inverter to a master-slave S-R flip-flop

The delay of the S-R master-slave flip-flop can be The delay of the S-R master-slave flip-flop can be avoided since the 1s-catching behavior is not present avoided since the 1s-catching behavior is not present with D replacing S and R inputswith D replacing S and R inputs

The change of the D flip-flop output is associated with The change of the D flip-flop output is associated with the negative edge at the end of the pulse.the negative edge at the end of the pulse.

It is called a It is called a negative-edge triggerednegative-edge triggered flip-flop flip-flop

C

S

R

Q

QC

Q

QC

D QD

Q

4040

Positive-Edge Triggered D Flip-FlopPositive-Edge Triggered D Flip-Flop Formed byFormed by

adding inverteradding inverterto clock inputto clock input

Q changes to the value on D applied at the positive Q changes to the value on D applied at the positive clock edge within timing constraints to be specified.clock edge within timing constraints to be specified.

The The standard flip-flopstandard flip-flop used for most sequential circuits. used for most sequential circuits.

C

S

R

Q

QC

Q

QC

D QD

Q

D Q

Q

Clock

4141

D

Clock

P4

P3

P1

P2

5

6

1

2

3

(a) Circuit

D Q

Q

(b) Graphical symbol

Clock

Q

Q

4

Positive-Edge-Triggered D Positive-Edge-Triggered D Flip-FlopFlip-Flop

4242

A positive edge-triggered D flip-flop formed A positive edge-triggered D flip-flop formed with an S-R flip-flop and an inverterwith an S-R flip-flop and an inverter

D CLK/C Q Q’_________________

1 ↑ 1 0 SET (stores a 1)

0 ↑ 0 1 RESET (stores a 0)

4343

Timing DiagramTiming Diagram

4444

Positive-Edge Triggered JK Flip-Positive-Edge Triggered JK Flip-FlopFlop

Not used Not used much much anymore in anymore in VLSIVLSI

AdvantageoAdvantageous only if us only if using FF using FF chipschips

D Q

Q

Q

Q

J

Clock

(a) Circuit

J Q

Q

K

01

Q t 1+ Q t 0

(b) Truth table (c) Graphical symbol

K

J

00

0 11

1 Q t 1K

4545

Function Table for JK Flip FlopFunction Table for JK Flip Flop

J K CLK Q Q’

0 0 Q0 Q0’ Hold

0 1 0 1 Reset

1 0 1 0 Set

1 1 Q0’ Q0 Toggle (opposite state)

4646

Timing Diagram: Positive-Edge Timing Diagram: Positive-Edge Triggered Triggered

4747

Timing Diagram: Negative-Edge Timing Diagram: Negative-Edge Triggered Triggered

4848

D Q

Q

Q

Q T

Clock

(a) Circuit

T

0

1

Q t 1 +

Q t

Q t

(b) Truth table

T Q

Q

(c) Graphical symbol

T Flip-FlopT Flip-Flop Useful in countersUseful in counters Not available in IC formNot available in IC form T Latches do not existT Latches do not exist

4949

T Flip-Flop T Flip-Flop

Clock

T

Q

(d) Timing diagram

5050

D latch D latch vs vs

D flip-flopD flip-flop

5151Comparison of level-sensitive and edge-triggered devices

D Q

Q

D Q

Q

D Q

Q

D

Clock Q a

Q b

Q c

Q c

Q b

Q a

(a) Circuit

Clk

(b) Timing diagram

D

Clock

Q a

Q b

Q c

D Latch versus D Flip-FlopD Latch versus D Flip-Flop

5252

Standard Graphic Symbols for Standard Graphic Symbols for Latch and Flip-FlopsLatch and Flip-Flops

TT

Complete the list !!

5353

Direct InputsDirect Inputs

Preset (Set) Preset (Set) & &

Clear (ReSet)Clear (ReSet)

5454

D

Clock

(a) Circuit

Q

Q

Clear

Preset

Preset

Clear

(b) Graphical symbol

D Q

Q

Clear and Preset InputsClear and Preset InputsSet/Reset independent of clock

Direct set or presetDirect reset or clear

Often used for power-up reset

5555

Example: D-FF with Direct Set and Example: D-FF with Direct Set and ResetReset

5656

Direct InputsDirect Inputs At power up or at reset, all or partAt power up or at reset, all or part

of a sequential circuit usually isof a sequential circuit usually isinitialized to a known state beforeinitialized to a known state beforeit begins operationit begins operation

This initialization is often doneThis initialization is often doneoutside of the clocked behavioroutside of the clocked behaviorof the circuit, i.e., asynchronously.of the circuit, i.e., asynchronously.

Direct R and/or S inputs that control the state Direct R and/or S inputs that control the state of the latches within the flip-flops are used for of the latches within the flip-flops are used for this initialization. this initialization.

For the example flip-flop shown For the example flip-flop shown – 0 applied to R resets the flip-flop to the 0 state0 applied to R resets the flip-flop to the 0 state– 0 applied to S sets the flip-flop to the 1 state0 applied to S sets the flip-flop to the 1 state

D

C

S

R

Q

Q

5757

J-K flip-flop with active-LOW J-K flip-flop with active-LOW Preset and Clear inputsPreset and Clear inputs

5858

Timing DiagramTiming Diagram

5959

State Diagram,State Diagram,

Function Table, Function Table,

Excitation Table,Excitation Table,

Characteristic EquationCharacteristic Equation

6060

State DiagramsState Diagrams The sequential circuit function can be The sequential circuit function can be

represented in graphical form as a represented in graphical form as a state state diagramdiagram with the following components: with the following components:– A A circlecircle with the state name in it for each state with the state name in it for each state– A A directed arcdirected arc from the from the Present StatePresent State to the to the Next Next

StateState for each for each state transitionstate transition– A label on each A label on each directed arcdirected arc with the with the InputInput values values

which causes the which causes the state transitionstate transition, and, and– A label: A label:

On each On each circlecircle with the with the outputoutput value produced, value produced, oror

On each On each directed arcdirected arc with the with the outputoutput value value produced.produced.

6161

State Diagram State Diagram ExampleExample

4- bit Binary Counter4- bit Binary Counter

Counts from Counts from

0000 (00000 (0HH) to 1111 (F) to 1111 (FHH))

6262

Q

SR Latch SR Latch Detailed Detailed Function Function

TableTable

SS RR QQ Q+Q+

00 00 00 00

00 00 11 11

00 11 00 00

00 11 11 00

11 00 00 11

11 00 11 11

11 11 00 XX

11 11 11 XX

0000 0101 1111 1010

00 00 00 XX 1111 11 00 XX 11

SR

Excitation Excitation TableTable

QQ QQ++

SS RR

00 00 00 XX

00 11 11 00

11 00 00 11

11 11 XX 00Excitation Table: What are the necessary inputs to cause a particular kind of change in state?

State Transition Diagram:

The excitation table in graphical form

Characteristic Equation:Q+ = S + R’Q

0

1

SR0X

10

X0

01

6363

Q

D Latch D Latch Detailed Detailed Function Function

TableTable

DD QQ Q+Q+

00 00 00

00 11 00

11 00 11

11 11 11

00 11

00 00 1111 00 11

D

Excitation Excitation TableTable

QQ Q+Q+ DD

00 00 00

00 11 11

11 00 00

11 11 11

Characteristic EquationQ+ = D

State Transition Diagram

0

1

0

1

1

0

6464

Q

JK Flip-JK Flip-FlopFlop

Detailed Detailed Function Function

TableTable

JJ KK QQ Q+Q+

00 00 00 00

00 00 11 11

00 11 00 00

00 11 11 00

11 00 00 11

11 00 11 11

11 11 00 11

11 11 11 00

0000 0101 1111 1010

00 00 00 11 11

11 11 00 00 11

JK

Characteristic EquationCharacteristic Equation

Q+ = JQ’ + K’QQ+ = JQ’ + K’Q

Excitation Excitation TableTable

QQ Q+Q+ JJ KK

00 00 00 XX

00 11 11 XX

11 00 XX 11

11 11 XX 00State Transition

Diagram

0

1

JK0X

1X

X0

X1

6565

Q

T Flip-FlopT Flip-Flop

Detailed Detailed Function Function

TableTable

TT QQ Q+Q+

00 00 00

00 11 11

11 00 11

11 11 00

00 11

00 00 1111 11 00

T

State Transition State Transition DiagramDiagram

Excitation Excitation TableTable

QQ Q+Q+ DD

00 00 00

00 11 11

11 00 11

11 11 00

Characteristic EquationQ+ = T’Q + TQ’ = T Q

0

1

0

1

0

1

6666

Which Flip-flop to use Which Flip-flop to use ..?..?

6767

Choosing a Flip-FlopChoosing a Flip-Flop SR Clocked Latch:SR Clocked Latch:

– used as storage element in narrow width clocked systemsused as storage element in narrow width clocked systems– its use is not recommended!its use is not recommended!– however, is the fundamental building block of other flip-flop however, is the fundamental building block of other flip-flop

typestypes D Flip-flop:D Flip-flop:

– minimizes wires, much preferred in VLSI technologiesminimizes wires, much preferred in VLSI technologies– simplest design techniquesimplest design technique– best choice for storage registersbest choice for storage registers

JK Flip-flop:JK Flip-flop:– versatile building block: can be used to implement D and T FFsversatile building block: can be used to implement D and T FFs– usually requires least amount of logic to control Q+usually requires least amount of logic to control Q+– however, has two inputs with increased wiring complexityhowever, has two inputs with increased wiring complexity

T Flip-flop:T Flip-flop:– doesn't really exist, constructed from J-K FFsdoesn't really exist, constructed from J-K FFs– usually best choice for implementing countersusually best choice for implementing counters

Preset and Clear inputs highly desirable!!Preset and Clear inputs highly desirable!!

6868

Characteristic Equation & Excitation Table Summary

Device Device TypeType

Characteristic Characteristic EquationEquation

SR latchSR latch Q+ = S + R’QQ+ = S + R’Q

D latchD latch Q+ = DQ+ = D

JK flip-flopJK flip-flop Q+ = JQ’ + K’QQ+ = JQ’ + K’Q

T flip-flopT flip-flop Q+ = TQ’ + T’QQ+ = TQ’ + T’Q

QQ Q+Q+ SS RR DD JJ KK TT

00 00 00 XX 00 00 XX 00

00 11 11 00 11 11 XX 11

11 00 00 11 00 XX 11 11

11 11 XX 00 11 XX 00 00

6969

Let’s Recap…Let’s Recap…

7070

Standard Graphic Symbols for Standard Graphic Symbols for Latch and Flip-FlopsLatch and Flip-Flops

7171

7272

Flip-Flop Characteristic Flip-Flop Characteristic TableTable

7373

Flip-Flop Excitation TablesFlip-Flop Excitation Tables

7474

Flip-flop ApplicationsFlip-flop Applications

1.1. Parallel Data StorageParallel Data Storage2.2. Frequency DividerFrequency Divider3.3. CounterCounter4.4. Shift RegistersShift Registers

7575

Parallel Data Storage –using Parallel Data Storage –using RegistersRegisters

4-bit REGISTER

7676

Frequency Divider: Divide-by-2 Frequency Divider: Divide-by-2

Q is one-half the frequency of CLKQ is one-half the frequency of CLK

7777

Frequency Divider: Divide-by-4Frequency Divider: Divide-by-4

2n

7878

Counter : 00, 01, 10, 11Counter : 00, 01, 10, 11

2-bit Counter

7979

Shift RegistersShift Registers

Part IIPart II

8080

Basic shift register functionBasic shift register function Serial in / serial out shift registersSerial in / serial out shift registers Serial in / parallel out shift registersSerial in / parallel out shift registers Parallel in / serial out shift registersParallel in / serial out shift registers Parallel in / parallel out shift Parallel in / parallel out shift

registersregisters Bidirectional shift registersBidirectional shift registers Shift register applicationsShift register applications

Shift Registers TopicsShift Registers Topics

8181

rEgIStERs…rEgIStERs…

What are they?What are they?

8282

Registers … deFiniTioNRegisters … deFiniTioN

Registers – used for storing & Registers – used for storing & manipulating data.manipulating data.

– Register = DaftarRegister = Daftar– Shift Register = Daftar AnjakanShift Register = Daftar Anjakan

Loading (Pembebanan) – is the Loading (Pembebanan) – is the transfer of information into a transfer of information into a register.register.

– Load = BebanLoad = Beban

8383

A register is a memory device that can A register is a memory device that can be used to store more than one-bit of be used to store more than one-bit of information.information.

A register is usually realized as several A register is usually realized as several flip-flops with common control signals flip-flops with common control signals that control the movement of data to that control the movement of data to and from the register.and from the register.

Registers.. deFiniTioNRegisters.. deFiniTioN

8484

n-bit n-bit RegisterRegister

An n-bit register is a collection of An n-bit register is a collection of nn D D flip-flops with a common clock used to flip-flops with a common clock used to store store n n related bits.related bits.

D 1QCLR

Q

Q /1Q1D

D 2QCLR

Q

Q /2Q2D

D 3QCLR

Q

Q /3Q3D

D 4QCLR

Q

Q /4Q4D

CLK

/CLR

74LS175Example: 74LS175 4-bit register

CLKCLR

4Q4Q3Q3Q2Q2Q1Q1Q

74LS175

1D

2D

3D

4D

8585

Shift Registers …?Shift Registers …?

A register capable of shifting its A register capable of shifting its stored data, in both directions.stored data, in both directions.

Consists of a chain of FFs in cascade.Consists of a chain of FFs in cascade.– The output of one FF goes into the input The output of one FF goes into the input

of the next FF.of the next FF. The shift from one stage to the next The shift from one stage to the next

is dependent on a common clock is dependent on a common clock pulse. pulse.

8686

Serial output So

A 4-Bit Shift Register …A 4-Bit Shift Register …

8787

… … 4-bit Shift Register4-bit Shift Register

SI, serial input, is the input to the SI, serial input, is the input to the leftmost FF during the shift.leftmost FF during the shift.

SO, serial output, is taken from the SO, serial output, is taken from the rightmost FF.rightmost FF.

8888

Shift RegistersShift Registers

Multi-bit register that moves stored data bits left/right ( 1 bit Multi-bit register that moves stored data bits left/right ( 1 bit position per clock cycle)position per clock cycle)

0 1 1 1 LSI

Q3 Q2 Q1 Q0

1 1 1 LSI

Q3 Q2 Q1 Q0

RSI 0 1 1 1

Q3 Q2 Q1 Q0

RSI 0 1 1

Q3 Q2 Q1 Q0

– Shift Right (or Shift ?Up? ) is towards LSBShift Right (or Shift ?Up? ) is towards LSB

– Shift Left is towards MSBShift Left is towards MSB

8989

Basic Shift Register FunctionsBasic Shift Register Functions

Consist of an arrangement of flip-flops Consist of an arrangement of flip-flops Important in applications involving Important in applications involving

storage and transfer of data (data storage and transfer of data (data movement) in digital systemmovement) in digital system

Used for storing and shifting data (1s Used for storing and shifting data (1s and 0s) entered into it from an and 0s) entered into it from an external source and possesses no external source and possesses no characteristic internal sequence of characteristic internal sequence of states.states.

D flip-flops are use to store and move D flip-flops are use to store and move datadata

9090

The flip-flop as a storage elementThe flip-flop as a storage element

Still remember the truth table for D flip flop?

D CLK/C Q Q’_________________

1 ↑ 1 0 SET (stores a 1)

0 ↑ 0 1 RESET (stores a 0)

9191

The flip-flop as a storage elementThe flip-flop as a storage element

When a 1 is on D, Q becomes a 1 at triggering edge of CLK or remains a 1 if already in the SET state

When a 0 is on D, Q becomes a 0 at triggering edge of CLK or remains a 0 if already in the RESET state

9292

Types of Shift RegisterTypes of Shift Register

1.1. Serial In / Serial Out Shift Registers (SISO)Serial In / Serial Out Shift Registers (SISO)2.2. Serial In /Parallel Out Shift Registers (SIPO)Serial In /Parallel Out Shift Registers (SIPO)3.3. Parallel In / Serial Out Shift Registers Parallel In / Serial Out Shift Registers

(PISO)(PISO)4.4. Parallel In / Parallel Out Shift Registers Parallel In / Parallel Out Shift Registers

(PIPO)(PIPO)

9393

Basic data movement in shift Basic data movement in shift registersregisters

(Four bits are used for illustration. The (Four bits are used for illustration. The bits move in the direction of the bits move in the direction of the

arrows.)arrows.)

9494

Serial In, Serial Out Shift RegisterSerial In, Serial Out Shift Register(SISO)(SISO)

D Q

CLK

D Q

CLK

D Q

CLK

SERIN

CLOCK

SEROUT

For a n-bit SRG:Serial Out = Serial In delayed by n clock period

4-bit shift register example:serin: 1 0 1 1 0 0 1 1 1 0serout: - - - - 1 0 1 1 0 0clock:

SRG n>SI SO

9595

Serial In, Serial Out Shift RegisterSerial In, Serial Out Shift Register(SISO)(SISO)

9696

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

1010

9797

Serial In, Serial Out Shift RegisterSerial In, Serial Out Shift Register(SISO)(SISO)

FF0FF0 FF1FF1 FF2FF2 FF3FF3

CleaClearr

00 00 00 00

10110100

00 00 00 00

101101 00 00 00 00 00

1010 11 00 00 00 0000

11 00 11 00 00 000000

CleaClearr

11 00 11 00 00000000

9898

Four bits (1010) beingserially shifted out of the register and replaced by all zeros.

9999

Serial In, Parallel Out Shift registerSerial In, Parallel Out Shift register (SIPO)(SIPO)

D Q

CLK

D Q

CLK

D Q

CLK

SERIN

CLOCK

nQ

2Q

1Q

Serial to Parallel Converter

Example: 4-bit shift register serin: 1 0 1 1 0 0 1 1 1 01Q: - 1 0 1 1 0 0 1 1 12Q: - - 1 0 1 1 0 0 1 13Q: - - - 1 0 1 1 0 0 14Q: - - - - 1 0 1 1 0 0clock:

SRG n>SI 1Q

2Q

nQ (SO)

100100

Can u see the difference?Can u see the difference?

D Q

CLK

D Q

CLK

D Q

CLK

SERIN

CLOCK

nQ

2Q

1Q D Q

CLK

D Q

CLK

D Q

CLK

SERIN

CLOCK

SERIALOUT

PARALLELOUT

101101

Serial In, Parallel Out Shift register Serial In, Parallel Out Shift register (SIPO)(SIPO)

• Data bits entered serially (right-most bit first)

• Difference from SISO is the way data bits are taken

out of the register – in parallel.

• Output of each stage is available

102102

ExampleExample : :

The states of 4-bit register (SRG 4) for the The states of 4-bit register (SRG 4) for the data input and clocks waveforms. data input and clocks waveforms.

Assume the register initially contains all 1s

103103

4-bit parallel in/serial out shift 4-bit parallel in/serial out shift register (PISO)register (PISO)

104104

4-bit parallel in/serial out shift 4-bit parallel in/serial out shift register (PISO)register (PISO)

105105

Parallel In, Serial Out Shift Register Parallel In, Serial Out Shift Register (PISO)(PISO)

SERIN

CLOCK

D Q

CLK

D Q

CLK

D Q

CLK

SEROUT

LOAD/SHIFT

1D

2D

ND

S

L

S

L

S

L

1Q

2Q

NQ

Parallel to Serial Converter

Load/Shift=1 Di Qi

Load/Shift=0 Qi Qi+1

106106

Parallel In, Parallel Out Shift Register Parallel In, Parallel Out Shift Register (PIPO)(PIPO)

Immediately following simultaneous entry of all data bits, it appear on parallel output.

107107

Parallel In, Parallel Out Shift Register Parallel In, Parallel Out Shift Register (PIPO)(PIPO)

SERIN

CLOCK

D Q

CLK

D Q

CLK

D Q

CLK

LOAD/SHIFT

1D

2D

ND

1Q

2Q

NQ

S

L

S

L

S

L

General Purpose:Makes any kind of (left) shift register

108108

Bi-directional Shift RegistersBi-directional Shift Registers

Data can be shifted left AnD right Data can be shifted left AnD right ……

A parallel load may be possibleA parallel load may be possible

109109

Bi-directional Universal Shift RegistersBi-directional Universal Shift Registers

4-bit Bi-directional Universal (4-bit) PIPO

CLK CLR S1 S0

LIN D QDC QCB QBA QARIN

11

1

10

9

7

6

4

5

3

2

12

13

14

15

74x194Modes:HoldLoadShift RightShift Left

R L

Mode Next state

Function S1 S0 QA* QB* QC* QD*

Hold 0 0 QA QB QC QDShift right/up 0 1 RIN QA QB QCShift left/down 1 0 QB QC QD LINLoad 1 1 A B C D

110110

Shift Register Shift Register ApplicationsApplications

1.1. Counter – Johnson, RingCounter – Johnson, Ring2.2. State RegistersState Registers3.3. Serial Interconnection of Serial Interconnection of

SystemsSystems4.4. Bit Serial OperationsBit Serial Operations5.5. Time-delay DeviceTime-delay Device

111111

Four-bit Johnson countersFour-bit Johnson counters Serial output

connected back toserial input

The complement of the output (Q’) is fedback into

1st FF.

112112

A 10-bit ring counter A 10-bit ring counter Assume initial state : 0000000101

113113

More Shift Register ApplicationsMore Shift Register Applications

State RegistersState Registers– Shift registers are often used as the state Shift registers are often used as the state

register in a sequential device. Usually, the register in a sequential device. Usually, the next state is determined by shifting right next state is determined by shifting right and inserting a primary input or output into and inserting a primary input or output into the next position (i.e. a finite memory the next position (i.e. a finite memory machine)machine)

– Very effective for sequence detectorsVery effective for sequence detectors

Serial Interconnection of SystemsSerial Interconnection of Systems– keep interconnection cost low with serial keep interconnection cost low with serial

interconnectinterconnect

114114

More Shift Register ApplicationsMore Shift Register Applications

Bit Serial OperationsBit Serial Operations– Bit serial operations can be performed Bit serial operations can be performed

quickly through device iterationquickly through device iteration– Iteration (a purely combinational approach) Iteration (a purely combinational approach)

is expensive (in terms of # of transistors, is expensive (in terms of # of transistors, chip area, power, etc).chip area, power, etc).

– A sequential approach allows the reuse of A sequential approach allows the reuse of combinational functional units throughout combinational functional units throughout the multi-cycle operationthe multi-cycle operation

115115

More Shift Register Applications More Shift Register Applications Example:Example:

Serial Interconnection of SystemsSerial Interconnection of Systems

Serial DATAParallel-to-serial converter

Parallel Data from

A-to-D converter

Serial-to-parallel converter

Parallel Data to D-to-A converter

Control

Circuits

CLOCK

/SYNC

TransmitterControl

Circuits

Receiver

n nOne bit

116116

More Shift Register Applications More Shift Register Applications Example:Example:

The shift register as a time-delay deviceThe shift register as a time-delay device

117117

Part IIIPart III

CountersCounters

118118

Standard Graphic Symbols for Standard Graphic Symbols for Latch and Flip-FlopsLatch and Flip-Flops

119119

120120

Flip-Flop Characteristic Flip-Flop Characteristic TableTable

121121

Flip-Flop Excitation TablesFlip-Flop Excitation Tables

122122

Counters - Definition Counters - Definition

A counter is:A counter is:

A register that “counts” through a A register that “counts” through a specific sequence of states upon the specific sequence of states upon the application of a sequence of input application of a sequence of input pulses e.g. clock or other signals.pulses e.g. clock or other signals.

Counters can count up, count down, or Counters can count up, count down, or count through other fixed sequences. count through other fixed sequences.

123123

Binary CounterBinary Counter

An n-bit binary counter:An n-bit binary counter:

– Consists of n flip-flops.Consists of n flip-flops.

– Counts from 0 to (2Counts from 0 to (2n n -1).-1).

124124

Two Counter Categories Two Counter Categories

1.1. Synchronous counterSynchronous counter

2.2. Ripple counters (Asynchronous Ripple counters (Asynchronous counter)counter)

125125

… … CountersCounters

1.1. Ripple Counters (Asynchronous Ripple Counters (Asynchronous Counters)Counters)

– FF output transition serves as a source FF output transition serves as a source for triggering other FFs.for triggering other FFs.

– C input not triggered by the common C input not triggered by the common clock pulse.clock pulse.

2.2. Synchronous CountersSynchronous Counters– C inputs of all FFs receive the common C inputs of all FFs receive the common

clock pulse.clock pulse.– The change of state is determined The change of state is determined

from the present state of the counter.from the present state of the counter.

126126

Counter ExamplesCounter Examples

Binary CounterBinary Counter Decade Counter/BCD CounterDecade Counter/BCD Counter Gray-Code CounterGray-Code Counter Modulus CounterModulus Counter Up-Down Counter Up-Down Counter Arbitrary Sequence CounterArbitrary Sequence Counter

Johnson CounterJohnson Counter Ring CounterRing Counter

127127

Synchronous Synchronous CountersCounters

128128

Synchronous CountersSynchronous Counters

The clk inputs of all flip-flops receive The clk inputs of all flip-flops receive a a commoncommon clock pulse clock pulse (directly (directly connected)connected)..

The change of state is determined The change of state is determined from the present state.from the present state.– By using combinational logic.By using combinational logic.

129129

4-bit Synchronous Binary 4-bit Synchronous Binary CounterCounter

130130

Johnson CounterJohnson Counter

The complement of the output of the last flip-The complement of the output of the last flip-flop is connected back to the input of the first flop is connected back to the input of the first flip-flop.flip-flop.

The counter will “fill up” with 1’s from left to The counter will “fill up” with 1’s from left to right, and then will “fill up” with 0’s againright, and then will “fill up” with 0’s again

131131

Figure 9–24Figure 9–24 Timing sequence for a 4-bit Johnson counter. Timing sequence for a 4-bit Johnson counter.

Convert the waveform results into table form.Convert the waveform results into table form.

Thomas L. FloydThomas L. FloydDigital Fundamentals, 9eDigital Fundamentals, 9e

Copyright ©2006 by Pearson Education, Copyright ©2006 by Pearson Education, Inc.Inc.

Upper Saddle River, New Jersey 07458Upper Saddle River, New Jersey 07458All rights reserved.All rights reserved.

132132

Ring CounterRing Counter

A “1” is always retained in the counter and simply shifted A “1” is always retained in the counter and simply shifted “around the ring”, advancing one stage for each clock pulse.“around the ring”, advancing one stage for each clock pulse.

133133

Output of 10-bit Ring Output of 10-bit Ring CounterCounter

Initial state is 1010 0000 00

Convert the waveform results into table form.Convert the waveform results into table form.

134134

Asynchronous Asynchronous CountersCounters

135135

Ripple Counters – clk SourceRipple Counters – clk Source

The clk inputs of some flip-flops are The clk inputs of some flip-flops are supplied by the outputs on other flip-supplied by the outputs on other flip-flops.flops.

– The (Master) CLOCK is connected to the clk The (Master) CLOCK is connected to the clk input on the LSB bit flip-flop.input on the LSB bit flip-flop.

– For all other bits, a flip-flop output is For all other bits, a flip-flop output is connected to the clock input, connected to the clock input,

– Thus, the circuit is Thus, the circuit is not synchronous.not synchronous.

136136

Ripple Counters – Pros & Ripple Counters – Pros & ConsCons

AdvantageAdvantage– Simple Hardware (Decoder gates not Simple Hardware (Decoder gates not

required).required).– Low power Low power consumption.consumption.

DisadvantageDisadvantage– SlowSlow– Output change is Output change is delayeddelayed more for each more for each

bit towards the MSB.bit towards the MSB.

137137

4-Bit Ripple Counter4-Bit Ripple Counter

Both J and K inputsof the flip-flops aretied to logic 1flip-flop complements

138138

5-45-4 Ripple CountersRipple Counters

Figure 5-8Figure 5-8 J and K of all FFs – tied together to J and K of all FFs – tied together to

logic 1logic 1 Negative edge triggered clock inputs.Negative edge triggered clock inputs. QQ00 serves as clock input to 2 serves as clock input to 2ndnd FF, FF,

and so on.and so on. N(Clear) – clears registers to 0 N(Clear) – clears registers to 0

asynchronously. asynchronously.

139139

SEQUENTIAL CIRCUITSSEQUENTIAL CIRCUITS

Design ExamplesDesign ExamplesUsing Flip-flopsUsing Flip-flops

140140

Example 1Example 1

InputInput: : x(t) x(t) Output:Output: y(t) y(t) State:State: (A(t), B(t)) (A(t), B(t)) What is the What is the Output Output

Function Function??

What is the What is the Next State Next State FunctionFunction??

AC

D Q

Q

C

D Q

Q

y

x A

B

CP

141141

Example 1Example 1 Boolean equations Boolean equations

for the functions: for the functions:– A(t+1) = A(t)x(t) A(t+1) = A(t)x(t)

+ B(t)x(t) + B(t)x(t)

– B(t+1) = B(t+1) = AA(t)x(t)(t)x(t)– y(t) = x(t)(B(t) + A(t))y(t) = x(t)(B(t) + A(t))

C

D Q

Q

C

D Q

Q'

y

xA

A

B

CP

Next State

Output

142142

State Table CharacteristicsState Table Characteristics State tableState table – a multiple variable table with – a multiple variable table with

the following four sections:the following four sections:– Present StatePresent State – the values of the state variables – the values of the state variables

for each allowed state.for each allowed state.– InputInput – the input combinations allowed. – the input combinations allowed.– Next-stateNext-state – the value of the state at time (t+1) – the value of the state at time (t+1)

based on the based on the present statepresent state and the and the inputinput..– OutputOutput – the value of the output as a function – the value of the output as a function

of the of the present statepresent state and (sometimes) the and (sometimes) the inputinput.. From the viewpoint of a truth table:From the viewpoint of a truth table:

– the inputs are Input, Present Statethe inputs are Input, Present State– and the outputs are Output, Next Stateand the outputs are Output, Next State

143143

Example 1: State TableExample 1: State Table

The state table can be filled in using the next The state table can be filled in using the next state and output equations: state and output equations: A(t+1) = A(t)x(t) + A(t+1) = A(t)x(t) + B(t)x(t) B(t+1) =B(t)x(t) B(t+1) =A (t)x(t) A (t)x(t) y(t) = y(t) =x (t)(B(t) + A(t))x (t)(B(t) + A(t))

Present State Input Next State Output A(t) B(t) x(t) A(t+1) B(t+1) y(t)

0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0

144144

Example 2: Alternative State Example 2: Alternative State TableTable

2-dimensional table that matches well to a K-2-dimensional table that matches well to a K-map. Present state rows and input columns in map. Present state rows and input columns in Gray code order. Gray code order. – A(t+1) = A(t)x(t) + B(t)x(t)A(t+1) = A(t)x(t) + B(t)x(t)– B(t+1) =B(t+1) =A (t)x(t)A (t)x(t)– y(t) =y(t) =x (t)(B(t) + A(t))x (t)(B(t) + A(t))

Present State

Next State x(t)=0 x(t)=1

Output x(t)=0 x(t)=1

A(t) B(t) A(t+1)B(t+1) A(t+1)B(t+1) y(t) y(t) 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0

145145

Design of Design of Synchronous Binary Synchronous Binary

CountersCounters

1.1. Using D flip-fops Using D flip-fops

2.2. Using JK flip-flopsUsing JK flip-flops

146146

Q

D Latch D Latch Detailed Detailed Function Function

TableTable

DD QQ Q+Q+

00 00 00

00 11 00

11 00 11

11 11 11

00 11

00 00 1111 00 11

D

Excitation Excitation TableTable

QQ Q+Q+ DD

00 00 00

00 11 11

11 00 00

11 11 11

Characteristic EquationQ+ = D

State Transition Diagram

0

1

0

1

1

0

147147

Counting Sequence of a 4-bit Counting Sequence of a 4-bit Binary CounterBinary Counter

148148

4-bit Binary Counter4-bit Binary Counter

Using D flip-flopUsing D flip-flop

149149

State Table and Flip-Flop Inputs for State Table and Flip-Flop Inputs for Binary CounterBinary Counter

150150

What’s next? .. What’s next? ..

K-maps (4) K-maps (4)

Minimized Equations for:Minimized Equations for: D0D0 D1D1 D2D2 D3D3

151151

4-Bit Binary Counter with D Flip-4-Bit Binary Counter with D Flip-FlopsFlops

152152

4-bit Binary Counter4-bit Binary Counter

Using JK flip-flopUsing JK flip-flop

153153

State Table and Flip-Flop Inputs for State Table and Flip-Flop Inputs for Binary CounterBinary Counter

154154

K-MapsK-Maps

155155

Count-Enable InputCount-Enable Input

To control the operation of counter, EN.To control the operation of counter, EN.JJQ0Q0 = K = KQ0Q0 = EN = EN

JJQ1Q1 = K = KQ1Q1 = Q = Q0 0 . EN. EN

JJQ2Q2 = K = KQ2Q2 = Q = Q00 . Q . Q1 1 . EN. EN

JJQ3Q3 = K = KQ3Q3 = Q = Q00 . Q . Q1 1 . Q. Q22 . EN . EN

EN = 0; all J and K inputs equal to 0, FFs- EN = 0; all J and K inputs equal to 0, FFs- no change.no change.

EN = 1; JEN = 1; JQ0Q0 = K = KQ0Q0 = 1, and the other = 1, and the other equations follow Fig. 5-9.equations follow Fig. 5-9.

156156

4-Bit Synchronous Binary Counter4-Bit Synchronous Binary Counter

157157

Binary Counter with Parallel Binary Counter with Parallel LoadLoad

Counters in digital systems, e.g. Counters in digital systems, e.g. computers, often require a parallel-computers, often require a parallel-load capability.load capability.– To transfer an initial binary number into To transfer an initial binary number into

the counter before the count operation.the counter before the count operation.– Load = 1; count operation disabled, data Load = 1; count operation disabled, data

transferred from the 4 parallel inputs transferred from the 4 parallel inputs into the 4 FFs.into the 4 FFs.

– Load = 0 and Count = 1; normal Load = 0 and Count = 1; normal operation. operation.

158158

4-Bit Binary Counter with Parallel 4-Bit Binary Counter with Parallel LoadLoad

159159

Up-Down Binary Up-Down Binary CounterCounter

160160

Synchronous Count Down Synchronous Count Down CounterCounter

Sequence (reverse):Sequence (reverse):– From 1111 to 0000 and back to 1111 to From 1111 to 0000 and back to 1111 to

repeat the count.repeat the count.

The logic diagram is similar to the The logic diagram is similar to the count-up counter, except that the count-up counter, except that the inputs to the AND gates must come inputs to the AND gates must come from the complement outputs of the from the complement outputs of the flip-flops.flip-flops.

161161

Synchronous Up-Down Synchronous Up-Down CounterCounter

Needs a mode input to select Needs a mode input to select between the two operations.between the two operations.– S=1: count upS=1: count up– S=0: count downS=0: count down

Also need a count enable input, EN:Also need a count enable input, EN:– EN=1; normal operation (up/down)EN=1; normal operation (up/down)– EN=0; disable both countsEN=0; disable both counts

162162

4-bit BCD Counter4-bit BCD Counter

Using T flip-flopUsing T flip-flop

163163

State Table and Flip-Flop Inputs for State Table and Flip-Flop Inputs for BCD CounterBCD Counter

164164

The scHeMatiCThe scHeMatiC

Draw the K-maps and get the Draw the K-maps and get the minimized equations. minimized equations.

.. Draw with four T flip-flops, four .. Draw with four T flip-flops, four AND gates and one Or gate.AND gates and one Or gate.

165165

ExerciseExercise

Design a 4-bit Gray Code Counter Design a 4-bit Gray Code Counter using D flip-flopsusing D flip-flops

166166

Arbitrary Sequence Arbitrary Sequence CounterCounter

Using JK flip-flopUsing JK flip-flop

167167

Counter with Arbitrary CountCounter with Arbitrary Count

168168

State Table and Flip-Flop Inputs for State Table and Flip-Flop Inputs for CounterCounter

169169

Additional BOOK Additional BOOK slides slides

170170

Comparison of 4-bit modulus Comparison of 4-bit modulus 16 and modulus 10 16 and modulus 10

Modulus 16

Modulus 10

171171

Timing diagramTiming diagram

Modulus 16

172172

Q0

Q1

Q2

Q3

For For modulus 10modulus 10, pay , pay attention at clock 9 , and 10 attention at clock 9 , and 10 of modulus 16of modulus 16

At At clock 9clock 9, Q3..Q0 o/p = , Q3..Q0 o/p = 10011001 ( in decimal = 9) ( in decimal = 9)

For For modulus 16modulus 16– At At clock 10clock 10, Q3..Q0 o/p = 1010 , Q3..Q0 o/p = 1010

( in decimal = 10).( in decimal = 10).– Here Q3 = 1, Q1 = 1Here Q3 = 1, Q1 = 1

For For modulus 10modulus 10– Q3 AND Q1 Q3 AND Q1 connected byconnected by

NAND NAND gate.gate.– Means when Q1 =1 AND Q3 = Means when Q1 =1 AND Q3 =

1, o/p of NAND = 0 1, o/p of NAND = 0 – Happened at Happened at clock 10clock 10, Q1 = 1 , Q1 = 1

AND Q3 = 1AND Q3 = 1

Taken from modulus 16 o/p

Q1

Q3

CLR

173173

CLR

FF0 FF1 FF2 FF3

Here the o/p of NAND gate will Here the o/p of NAND gate will fed into ACTIVE LOW input of CLR.fed into ACTIVE LOW input of CLR.

Since NAND o/p =0, the Flip-flop Since NAND o/p =0, the Flip-flop will be will be CLEAREDCLEARED..

This introduce glitch in the This introduce glitch in the modulus 10 o/p.modulus 10 o/p.– Data transmission as described above Data transmission as described above

only happens in a very short timeonly happens in a very short time glitch. glitch.

– Data being cleared at Data being cleared at clock 10clock 10

CLR

174174

eXerCisE quEstioNseXerCisE quEstioNs

175175

Design these Sequential Design these Sequential Counters…Counters…

3-bit Up-Counter3-bit Up-Counter

Arbitrary Sequence Counter: 000, Arbitrary Sequence Counter: 000, 010,011,101,110, 000, ...010,011,101,110, 000, ...

3-bit Gray Code Counter3-bit Gray Code Counter

176176

Design these Sequential Design these Sequential Counters ..Counters ..

4-bit Up-Counter4-bit Up-Counter

Modulus-10 CounterModulus-10 Counter

Arbitrary Sequence Counter: 0, 2, 4, Arbitrary Sequence Counter: 0, 2, 4, 6, 8, 10, 12, 14, 0, … (in decimal)6, 8, 10, 12, 14, 0, … (in decimal)

top related