Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit...

18
1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) Outputs, at any given time, dependent only on inputs at that time (after signal propagation) Equivalent to one boolean formula per output x 2 y 2 z 2 c 1 c 2

Transcript of Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit...

Page 1: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

1

1

Sequential Circuits

CS 217

2

Combinational circuit• Directed acyclic graph (no loops)

• Outputs, at any given time, dependent only on inputs at that time (after signal propagation)

• Equivalent to one boolean formula per output

x2 y2

z2

c1c2

Page 2: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

2

3

Cycles in the circuit• What happens if there are cycles?

4

Cycles in the circuit• Simulate . . .

0

Page 3: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

3

5

Cycles in the circuit• Simulate . . .

0 1

6

Cycles in the circuit• Simulate . . .

0 1 0

Page 4: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

4

7

Cycles in the circuit• Simulate . . .

1 1 0

8

Cycles in the circuit• Simulate . . .

1 0 0

Page 5: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

5

9

Cycles in the circuit• Simulate . . .

1 0 1

10

Cycles in the circuit• Simulate . . .

0 0 1

0

1

time

Outputs, at any given time, dependent not only on inputs at that time;

also dependent on history. A “sequential” circuit.

Page 6: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

6

11

Another circuit with cyclesThree inverters:

astable 0 0 1

0

1

time

0 1

Two inverters:

bistable 1 0

0

1

time

0

1

time

12

R-S Latch

= NOR gate

Reset

Set

Q

Q

Page 7: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

7

13

R-S Latch

= NOR gate

Reset

Set

Q

Q

0

0

0

1

R

S

Q

Q

14

R-S Latch

= NOR gate

Reset

Set

Q

Q

0

1

1

0

R

S

Q

Q

Page 8: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

8

15

R-S Latch

= NOR gate

Reset

Set

Q

Q

0

0

1

0

R

S

Q

Q

16

R-S Latch

= NOR gate

Reset

Set

Q

Q

1

0

0

1

R

S

Q

Q

Page 9: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

9

17

R-S Latch

= NOR gate

Reset

Set

Q

Q

0

0

0

1

R

S

Q

Q

18

R-S Latch

= NOR gate

Reset

Set

Q

Q

1

0

0

1

R

S

Q

Q

Page 10: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

10

19

R-S Latch

= NOR gate

Reset

Set

Q

Q

0

0

0

1

R

S

Q

Q

20

Clocked flipflop

Q

Clock

D

Q

D

ClockClock high:

copy D to Q

Clock low:

ignore D, remember Q

Page 11: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

11

21

Master/Slave flipflop

Clock

D

Q

D

ClockClock high:

copy D to X; keep Q

Clock low:

copy X to Q; keep X

Q

X

22

Master/Slave flipflop

D

Clock

Q

X

D QCircuit symbol:

Page 12: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

12

23

Synchronous sequential circuits

D Q

D Q

D Q D0

D1

D2

11

Clock

Q0

Q1

Q2

• Flipflops all clocked simultaneously

• Combinational circuit determines next flipflop values (calculates D’s from Q’s).

24

Analysis of sequential circuits

D Q

D Q

D Q D0

D1

D2

1

Clock

Q0

Q1

Q2

Q2 Q1 Q0 D2 D1 D0

0 0 0 0 0 1

0 0 1 0 1 0

0 1 0 0 1 1

0 1 1 1 0 0

1 0 0 1 0 1

1 0 1 1 1 0

1 1 0 1 1 1

1 1 1 0 0 0

Page 13: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

13

25

Input / Output

D Q

D Q

D Q

Q2Q1Q0 I 2I 1 D2D1D0 O0

0 0 0 0 0 0 1 0 10 0 0 0 1 0 0 0 00 0 0 1 0 0 0 0 0

.

.

.

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

combinational

circuit

outputs

next state

inputs

State Inputs NextS Outputs

26

Circuit with I/O

D Q

D Q D0

D1

I0

Clock

Q0

Q1

O0

Q1 Q0 I 0 D1 D0 O0

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 1 0

0 1 1 1 0 0

1 0 0 1 0 0

1 0 1 1 1 0

1 1 0 1 1 0

1 1 1 0 0 1

Page 14: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

14

27

State Machine

Q1 Q0 I 0 D1 D0 O0

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 1 0

0 1 1 1 0 0

1 0 0 1 0 0

1 0 1 1 1 0

1 1 0 1 1 0

1 1 1 0 0 1

00 01

11 10

1/0

0/0 0/0

1/0

1/0

1/1

0/0 0/0

input output

28

What does it do?

00 01

11 10

1/0

0/0 0/0

1/0

1/0

1/1

0/0 0/0

input outputCounts up if input=1; stays stationary if input=0.

Output is “carry” when counter wraps around.

Page 15: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

15

29

Synthesis procedure1. State purpose of circuit in words

2. Make state machine

3. Make truth tables

4. Apply combinational-circuit synthesis procedure:

• Identify “true” rows

• Construct sum-of-products expression

• Construct circuit

30

Vending machine1. State purpose of circuit in words

Accept nickels and dimes

Candy costs 15¢

Dispense candy bar and appropriate change

Inputs: D (dime), N (nickel) Outputs: C (candy), O (nickel change)

2. Make state machine

00 01

10

01/0000/0000/00

01/0001/10

00/00

10/11

10/10States:

00: 0¢ credit

01: 5¢ credit

10: 10¢ credit10/00

Page 16: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

16

31

Vending machine3. Make truth table

Assume: D&N impossible

“x” means don’t-care

00 01

10

01/0000/0000/00

01/0001/10

00/00

10/11

10/10

10/00

Q1Q0D N D1D0 C O

0 0 0 0 0 0 0 00 0 0 1 0 1 0 00 0 1 0 1 0 0 00 0 1 1 x x x x0 1 0 0 0 1 0 00 1 0 1 1 0 0 00 1 1 0 0 0 1 00 1 1 1 x x x x1 0 0 0 1 0 0 01 0 0 1 0 0 1 01 0 1 0 0 0 1 11 0 1 1 x x x x1 1 0 0 x x x x1 1 0 1 x x x x1 1 1 0 x x x x1 1 1 1 x x x x

32

Vending machine4. Make sum-of-products

expressions

D1= Q1Q0DN + Q1Q0DN + Q1Q0DN

Q1Q0D N D1D0 C O

0 0 0 0 0 0 0 00 0 0 1 0 1 0 00 0 1 0 1 0 0 00 0 1 1 x x x x0 1 0 0 0 1 0 00 1 0 1 1 0 0 00 1 1 0 0 0 1 00 1 1 1 x x x x1 0 0 0 1 0 0 01 0 0 1 0 0 1 01 0 1 0 0 0 1 11 0 1 1 x x x x1 1 0 0 x x x x1 1 0 1 x x x x1 1 1 0 x x x x1 1 1 1 x x x x

Page 17: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

17

33

Vending machine4. Make sum-of-products

expressions

D1= Q1Q0DN + Q1Q0DN + Q1Q0DN

D0= Q1Q0DN + Q1Q0DN

C = Q1Q0DN + Q1Q0DN + Q1Q0DN

O = Q1Q0DN

Q1Q0D N D1D0 C O

0 0 0 0 0 0 0 00 0 0 1 0 1 0 00 0 1 0 1 0 0 00 0 1 1 x x x x0 1 0 0 0 1 0 00 1 0 1 1 0 0 00 1 1 0 0 0 1 00 1 1 1 x x x x1 0 0 0 1 0 0 01 0 0 1 0 0 1 01 0 1 0 0 0 1 11 0 1 1 x x x x1 1 0 0 x x x x1 1 0 1 x x x x1 1 1 0 x x x x1 1 1 1 x x x x

34

Vending machine4. Make gates Q1Q0D N D1D0 C O

0 0 0 0 0 0 0 00 0 0 1 0 1 0 00 0 1 0 1 0 0 00 0 1 1 x x x x0 1 0 0 0 1 0 00 1 0 1 1 0 0 00 1 1 0 0 0 1 00 1 1 1 x x x x1 0 0 0 1 0 0 01 0 0 1 0 0 1 01 0 1 0 0 0 1 11 0 1 1 x x x x1 1 0 0 x x x x1 1 0 1 x x x x1 1 1 0 x x x x1 1 1 1 x x x x

Q1

Q0

D

N

D1

D0

C

O

Page 18: Sequential Circuits - cs.princeton.edu · 1 1 Sequential Circuits CS 217 2 Combinational circuit • Directed acyclic graph (no loops) • Outputs, at any given time, dependent only

18

35

Vending machine5. Hook up flipflops, clocks, inputs, outputs

Q1

Q0

D

N

D1

D0

C

O

D Q

D Q

Clock

36

Summary• Sequential circuits

� Store state in latches� Connect latches with combinational circuits

• Next time� Building a computer out of sequential circuits