lecture 14 flip-flops section 5.5-5.6. schedule 3/24mondayanalysis of clocked sequential circuit...

34
Lecture 14 Flip-Flops Section 5.5-5.6

Upload: carmella-freeman

Post on 24-Dec-2015

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Lecture 14

Flip-FlopsSection 5.5-5.6

Page 2: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Schedule3/24 Monday Analysis of clocked sequential circuit

(1), 5.5

3/26 Wednesday Analysis of clocked sequential circuit (2)

5.5

3/27 Thursday Clocked sequential circuit  3/31 Monday Shift register (1) 6.1-6.24/2 Wednesday Shift register (2) 6.1-6.24/3 Thursday Universal shift register  4/7 Monday Counters (1) 6.34/9 Wednesday Counter (2) 6.34/10 Thursday Counter  4/14 Monday Review  

Please bring a functional random number generator to class on Thursday(3/27).

Page 3: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Outline

• Review of Flip-flops– D flip-flops– JK flip-flops– T flip-flop

• Analysis of a simple sequential circuit

Page 4: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Symbol of D Flip-Flops

Page 5: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

reset and preset

• When power is first turned on, the state of the flip-flops is unknown.– Reset is used to initialize the output to a

0.– Preset is used to initialize the output to

a 1.

Page 6: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

D Flip-flop with reset

Typo in the book. Should be 1 instead.

Page 7: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

JK Flip-FlopsD=JQ’+K’Q

The next value of D is determined by JQ’+K’Q.At the rising edge of D Flip-flop, Q is updated with the value of D.

Positive edge D flip-flop

Page 8: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

D=JQ’+K’Q

• J=1,K=1→D=Q’• J=0, K=0 →D=Q• J=0, K=1 →D=0• J=1, K=0 →D=Q’+Q=1

Page 9: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Verilog Implementation

Page 10: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

T Flip-Flop

Page 11: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

T Flip-Flop from a D Flip-Flop

DT=TQ’+T’Q

If T=1, D=Q’If T=0, D=Q.

Q is updated with D at the next rising edge.

𝑄DT

rst

Page 12: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Verilog Implementation of a T-FF

𝑄DT

rst

Page 13: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Example of a Sequential Circuit

D flip-flops

Page 14: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Example of a Sequential Circuit

D flip-flops

Page 15: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Construction of a State Table

Example: Start with A=0, B=0, x=0.A(next)=0B(next)=0Y(next)=0

Page 16: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Construction of a State Table

Example: Start with A=0, B=0, x=0.A(next)=0B(next)=0Y(next)=0

Page 17: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

What are A(next), B(next) and y(next) given that A=1, B=1 and X=1?

D flip-flops

Page 18: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Alternate State Table

Page 19: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Alternate State Table

Page 20: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

State Diagram

Each circle is a state

When x=1, y=0.

Page 21: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

State Diagram

Each circle is a state

When x=0, y=1.

Page 22: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Detects 0 in the bit stream of data

Output is a 0 as long as input is a 1. The first 0 after a string of 1s transfers the circuit back to 00.

Page 23: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Detects 0 in the bit stream of data

Output is a 0 as long as input is a 1. The first 0 after a string of 1s transfers the circuit back to 00.

Page 24: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Detects 0 in the bit stream of data

Output is a 0 as long as input is a 1. The first 0 after a string of 1s transfers the circuit back to 00.

Page 25: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Summary

Page 26: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Model a Clocked Sequential Circuit with Verilog

1. Use parameter to represent each state2. Form the next state from x (the input)and the current state3. Form the output4. fork.....join construction

S0

S1

S2

S3

Page 27: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Parameter

S0

S1

S2

S3Define states with parameter

Page 28: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Update States

S0

S1

S2

S3

If reset is 0, set state to S0.

If reset is 1, update state with next_state.

Page 29: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Syntax for always

Page 30: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Implement the States Using State Diagram

S0

S1

S2

S3

The always statement will be initiatedif there is a change in state or x_in

Page 31: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

fork....join

Statements within fork….join block executein parallel, so the time delays are relative to t=0.

Page 32: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Valid Mealy Output

S0

S1

S2

S3

Page 33: Lecture 14 Flip-Flops Section 5.5-5.6. Schedule 3/24MondayAnalysis of clocked sequential circuit (1),5.5 3/26WednesdayAnalysis of clocked sequential circuit

Mealy Glitches

S0

S1

S2

S3

Glitiches occur because x changes before the next rising clock edge