![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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040420/5e076e27308bd10fcd49b962/html5/thumbnails/18.jpg)
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