Chapter 3 Professor Brendan Morris, SEB 3216, - - PowerPoint PPT Presentation

chapter 3
SMART_READER_LITE
LIVE PREVIEW

Chapter 3 Professor Brendan Morris, SEB 3216, - - PowerPoint PPT Presentation

Chapter 3 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe100/ CPE100: Digital Logic Design I Section 1004: Dr. Morris Sequential Logic Design Chapter 3 <1> Chapter 3 :: Topics


slide-1
SLIDE 1

Chapter 3 <1>

Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe100/

Chapter 3

CPE100: Digital Logic Design I

Section 1004: Dr. Morris Sequential Logic Design

slide-2
SLIDE 2

Chapter 3 <2>

Chapter 3 :: Topics

  • Introduction
  • Latches and Flip-Flops
  • Synchronous Logic Design
  • Finite State Machines
  • Timing of Sequential Logic
  • Parallelism
slide-3
SLIDE 3

Chapter 3 <3>

  • Previously, Combinational Logic design had
  • utputs only depend on current value of inputs
  • Outputs of sequential logic depend on current

and prior input values – it has memory.

  • Some definitions:
  • State: all the information about a circuit necessary to

explain its future behavior

  • Latches and flip-flops: state elements that store one

bit of state

  • Synchronous sequential circuits: combinational logic

followed by a bank of flip-flops

Introduction

slide-4
SLIDE 4

Chapter 3 <4>

  • Give sequence to events (i.e. a notion of time)
  • Have memory (short-term)
  • Use feedback from output to input to store

information

  • Need to “remember” past output

Sequential Circuits

slide-5
SLIDE 5

Chapter 3 <5>

  • The state of a circuit influences its future

behavior

  • State elements store state
  • Bistable circuit
  • SR Latch
  • D Latch
  • D Flip-flop

State Elements

slide-6
SLIDE 6

Chapter 3 <6>

Q Q Q Q I1 I2 I2 I1

  • Fundamental building block of other state

elements

  • Two outputs: Q, Q (state)
  • No inputs

Bistable Circuit

0 1 0 1 0 1 Redrawn circuit to emphasize symmetry

slide-7
SLIDE 7

Chapter 3 <7>

Q Q I1 I2 1 1

  • Consider the two possible cases:
  • Q = 0:

then Q = 1, Q = 0 (consistent)

Bistable Circuit Analysis

slide-8
SLIDE 8

Chapter 3 <8>

Q Q I1 I2 1 1 Q Q I1 I2 1 1

  • Consider the two possible cases:
  • Q = 0:

then Q = 1, Q = 0 (consistent)

  • Q = 1:

then Q = 0, Q = 1 (consistent)

  • Stores 1 bit of state in the state variable, Q (or Q)
  • But there are no inputs to control the state

Bistable Circuit Analysis

slide-9
SLIDE 9

Chapter 3 <9>

R S Q Q N1 N2

  • SR Latch
  • S – set Q=1
  • R – reset Q=0

SR (Set/Reset) Latch

slide-10
SLIDE 10

Chapter 3 <10>

R S Q Q N1 N2

  • SR Latch
  • Consider the four possible cases:
  • S = 1, R = 0
  • S = 0, R = 1
  • S = 0, R = 0
  • S = 1, R = 1

SR (Set/Reset) Latch

slide-11
SLIDE 11

Chapter 3 <11>

  • S = 1, R = 0:

then Q = 1 and Q = 0

SR Latch Analysis

R S Q Q N1 N2 1 1

slide-12
SLIDE 12

Chapter 3 <12>

  • S = 1, R = 0:

then Q = 1 and Q = 0

SR Latch Analysis

R S Q Q N1 N2 1 1

slide-13
SLIDE 13

Chapter 3 <13>

  • S = 1, R = 0:

then Q = 1 and Q = 0

  • S = 0, R = 1:

then Q = 0 and Q = 1

SR Latch Analysis

R S Q Q N1 N2 1 1 R S Q Q N1 N2 1 1 1

slide-14
SLIDE 14

Chapter 3 <14>

  • S = 1, R = 0:

then Q = 1 and Q = 0 Set the output

  • S = 0, R = 1:

then Q = 0 and Q = 1 Reset the output

SR Latch Analysis

R S Q Q N1 N2 1 1 R S Q Q N1 N2 1 1 1

slide-15
SLIDE 15

Chapter 3 <15>

R S Q Q N1 N2 R S Q Q N1 N2 Qprev = 0 Qprev = 1 1

  • S = 0, R = 0:

then Q = Qprev

SR Latch Analysis

slide-16
SLIDE 16

Chapter 3 <16>

R S Q Q N1 N2 R S Q Q N1 N2 Qprev = 0 Qprev = 1 1

  • S = 0, R = 0:

then Q = Qprev

SR Latch Analysis

slide-17
SLIDE 17

Chapter 3 <17>

R S Q Q N1 N2 R S Q Q N1 N2 Qprev = 0 Qprev = 1 1

  • S = 0, R = 0:

then Q = Qprev

  • S = 1, R = 1:

then Q = 0, Q = 0

SR Latch Analysis

R S Q Q N1 N2 1 1

slide-18
SLIDE 18

Chapter 3 <18>

R S Q Q N1 N2 R S Q Q N1 N2 Qprev = 0 Qprev = 1 1

  • S = 0, R = 0:

then Q = Qprev

  • S = 1, R = 1:

then Q = 0, Q = 0

SR Latch Analysis

R S Q Q N1 N2 1 1

slide-19
SLIDE 19

Chapter 3 <19>

R S Q Q N1 N2 R S Q Q N1 N2 Qprev = 0 Qprev = 1

  • S = 0, R = 0:

then Q = Qprev Memory!

  • S = 1, R = 1:

then Q = 0, Q = 0 Invalid State Q ≠ NOT Q

SR Latch Analysis

R S Q Q N1 N2 1 1

slide-20
SLIDE 20

Chapter 3 <20>

S R Q Q SR Latch Symbol

  • SR stands for Set/Reset Latch

– Stores one bit of state (Q)

  • Control what value is being stored with S, R

inputs

  • Set: Make the output 1

(S = 1, R = 0, Q = 1)

  • Reset: Make the output 0

(S = 0, R = 1, Q = 0)

  • SR Latch Symbol
slide-21
SLIDE 21

Chapter 3 <21>

D Latch Symbol CLK D Q Q

  • Two inputs: CLK, D
  • CLK: controls when the output changes
  • D (the data input): controls what the output changes to
  • Function
  • When CLK = 1,

D passes through to Q (transparent)

  • When CLK = 0,

Q holds its previous value (opaque)

  • Avoids invalid case when

Q ≠ NOT Q

D Latch

slide-22
SLIDE 22

Chapter 3 <22>

S R Q Q Q Q D CLK

D R S

CLK D Q Q

S R Q Q CLK D X 1 1 1 D

D Latch Internal Circuit

slide-23
SLIDE 23

Chapter 3 <23>

S R Q Q Q Q D CLK

D R S

CLK D Q Q

S R Q Qprev 1 1 1 Q 1 CLK D X 1 1 1 D X 1 Qprev

D Latch Internal Circuit

slide-24
SLIDE 24

Chapter 3 <24>

D Flip-Flop Symbols D Q Q

  • Inputs: CLK, D
  • Function

– Samples D on rising edge of CLK

  • When CLK rises from 0 to 1, D

passes through to Q

  • Otherwise, Q holds its previous

value – Q changes only on rising edge of CLK

  • Called edge-triggered
  • Activated on the clock edge

D Flip-Flop

slide-25
SLIDE 25

Chapter 3 <25>

CLK D Q Q CLK D Q Q Q Q D N1 CLK L1 L2

  • Two back-to-back latches (L1 and L2) controlled by

complementary clocks

  • When CLK = 0
  • L1 is transparent
  • L2 is opaque

– D passes through to N1

D Flip-Flop Internal Circuit

slide-26
SLIDE 26

Chapter 3 <26>

CLK D Q Q CLK D Q Q Q Q D N1 CLK L1 L2

  • Two back-to-back latches (L1 and L2) controlled by

complementary clocks

  • When CLK = 0

– L1 is transparent – L2 is opaque – D passes through to N1

  • When CLK = 1

– L2 is transparent – L1 is opaque – N1 passes through to Q

D Flip-Flop Internal Circuit

slide-27
SLIDE 27

Chapter 3 <27>

CLK D Q Q CLK D Q Q Q Q D N1 CLK L1 L2

  • Two back-to-back latches (L1 and L2) controlled by

complementary clocks

  • When CLK = 0

– L1 is transparent – L2 is opaque – D passes through to N1

  • When CLK = 1

– L2 is transparent – L1 is opaque – N1 passes through to Q

  • Thus, on the edge of the clock (when CLK rises from 0 1)

– D passes through to Q

D Flip-Flop Internal Circuit

slide-28
SLIDE 28

Chapter 3 <28>

CLK D Q Q D Q Q

CLK D Q (latch) Q (flop)

D Latch vs. D Flip-Flop

slide-29
SLIDE 29

Chapter 3 <29> CLK D Q (latch) Q (flop)

D Latch vs. D Flip-Flop

CLK D Q Q D Q Q

slide-30
SLIDE 30

Chapter 3 <30>

Review

S R Q Q SR Latch Symbol

CLK D Q Q

D Q Q

SR Latch D Latch D Flip-flop

S = 1, R = 0: Q = 1 S = 0, R= 1: Q = 0 CLK = 1: Q = D CLK = 0: Q = Qprev CLK = 0→1: Q = D Otherwise: Q = Qprev

slide-31
SLIDE 31

Chapter 3 <31>

CLK D Q D Q D Q D Q D0 D1 D2 D3 Q0 Q1 Q2 Q3

D3:0

4 4

CLK Q3:0

Registers

slide-32
SLIDE 32

Chapter 3 <32>

Internal Circuit D Q CLK EN D Q 1 D Q EN Symbol

  • Inputs: CLK, D, EN

– The enable input (EN) controls when new data (D) is stored

  • Function
  • EN = 1: D passes through to Q on the clock edge
  • EN = 0: the flip-flop retains its previous state

Enabled Flip-Flops

slide-33
SLIDE 33

Chapter 3 <33>

Internal Circuit D Q CLK EN D Q 1 D Q EN Symbol

  • Inputs: CLK, D, EN

– The enable input (EN) controls when new data (D) is stored

  • Function
  • EN = 1: D passes through to Q on the clock edge
  • EN = 0: the flip-flop retains its previous state

Enabled Flip-Flops

slide-34
SLIDE 34

Chapter 3 <34>

Symbols D Q

Reset r

  • Inputs: CLK, D, Reset
  • Function:
  • Reset = 1: Q is forced to 0
  • Reset = 0: flip-flop behaves as ordinary D flip-flop

Resettable Flip-Flops

slide-35
SLIDE 35

Chapter 3 <35>

  • Two types:

– Synchronous: resets at the clock edge only – Asynchronous: resets immediately when Reset = 1

  • Asynchronously resettable flip-flop requires

changing the internal circuitry of the flip-flop

  • Synchronously resettable flip-flop?

Resettable Flip-Flops

slide-36
SLIDE 36

Chapter 3 <36>

  • Two types:

– Synchronous: resets at the clock edge only – Asynchronous: resets immediately when Reset = 1

  • Asynchronously resettable flip-flop requires

changing the internal circuitry of the flip-flop

  • Synchronously resettable flip-flop?

Resettable Flip-Flops

Internal Circuit D Q CLK D Q Reset

slide-37
SLIDE 37

Chapter 3 <37>

Symbols D Q

Set s

  • Inputs: CLK, D, Set
  • Function:
  • Set = 1: Q is set to 1
  • Set = 0: the flip-flop behaves as ordinary D flip-

flop

Settable Flip-Flops

slide-38
SLIDE 38

Chapter 3 <38>

  • Registers inserted between combinational

logic

  • Registers contain state of the system
  • State changes at clock edge: system

synchronized to the clock

Synchronous Sequential Logic Design

slide-39
SLIDE 39

Chapter 3 <39>

  • Rules of synchronous sequential circuit

composition:

  • Every circuit element is either a register or a

combinational circuit

  • At least one circuit element is a register
  • All registers receive the same clock signal
  • Every cyclic path contains at least one register

Synchronous Sequential Logic Design

slide-40
SLIDE 40

Chapter 3 <40>

  • Rules of synchronous sequential circuit

composition:

  • Every circuit element is either a register or a

combinational circuit

  • At least one circuit element is a register
  • All registers receive the same clock signal
  • Every cyclic path contains at least one register
  • Two common synchronous sequential circuits
  • Finite State Machines (FSMs)
  • Pipelines

Synchronous Sequential Logic Design

slide-41
SLIDE 41

Chapter 3 <41>

Next State Current State S’ S CLK

C L

Next State Logic Next State

C L

Output Logic Outputs

  • Consists of:

– State register

  • Stores current state
  • Loads next state at clock edge

– Combinational logic

  • Computes the next state
  • Computes the outputs

Finite State Machine (FSM)

slide-42
SLIDE 42

Chapter 3 <42>

CLK M N k k

next state logic

  • utput

logic

Moore FSM CLK M N k k

next state logic

  • utput

logic

inputs inputs

  • utputs
  • utputs

state state next state next state

Mealy FSM

  • Next state determined by current state and inputs
  • Two types of finite state machines differ in output logic:

– Moore FSM: outputs depend only on current state – Mealy FSM: outputs depend on current state and inputs

Finite State Machines (FSMs)

slide-43
SLIDE 43

Chapter 3 <43>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-44
SLIDE 44

Chapter 3 <44>

TA LA TA LB TB TB LA LB

Academic Ave. Bravado Blvd. Dorms Fields Dining Hall Labs

  • Traffic light controller

– Traffic sensors: TA, TB (TRUE when there’s traffic) – Lights: LA, LB

FSM Example

slide-45
SLIDE 45

Chapter 3 <45>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-46
SLIDE 46

Chapter 3 <46>

TA TB LA LB CLK Reset Traffic Light Controller

  • Inputs: CLK, Reset, TA, TB
  • Outputs: LA, LB

FSM Black Box

Note: multiple bits for output

slide-47
SLIDE 47

Chapter 3 <47>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-48
SLIDE 48

Chapter 3 <48>

S0 LA: green LB: red Reset

  • Moore FSM: outputs labeled in each state
  • States: Circles
  • Transitions: Arcs

FSM State Transition Diagram

TA LA TA LB TB TB LA LB

Academic Ave. Bravado Blvd. Dorms Fields Dining Hall Labs

slide-49
SLIDE 49

Chapter 3 <49>

  • Moore FSM: outputs labeled in each state
  • States: Circles
  • Transitions: Arcs

FSM State Transition Diagram

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

TA LA TA LB TB TB LA LB

Academic Ave. Bravado Blvd. Dorms Fields Dining Hall Labs

slide-50
SLIDE 50

Chapter 3 <50>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-51
SLIDE 51

Chapter 3 <51>

Current State Inputs Next State S TA TB S' S0 X S0 1 X S1 X X S2 X S2 X 1 S3 X X

FSM State Transition Table

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

slide-52
SLIDE 52

Chapter 3 <52>

Current State Inputs Next State S TA TB S' S0 X S1 S0 1 X S0 S1 X X S2 S2 X S3 S2 X 1 S2 S3 X X S0

FSM State Transition Table

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

slide-53
SLIDE 53

Chapter 3 <53>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state

encodings

  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-54
SLIDE 54

Chapter 3 <54>

Current State Inputs Next State S1 S0 TA TB S'1 S'0 X 1 X 1 X X 1 X 1 X 1 1 1 X X State Encoding S0 00 S1 01 S2 10 S3 11

FSM Encoded State Transition Table

Two bits required for 4 states

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

slide-55
SLIDE 55

Chapter 3 <55>

Current State Inputs Next State S1 S0 TA TB S'1 S'0 X 1 1 X 1 X X 1 1 X 1 1 1 X 1 1 1 1 X X State Encoding S0 00 S1 01 S2 10 S3 11 S'1 = S1  S0 S'0 = S1S0TA + S1S0TB

FSM Encoded State Transition Table

Two bits required for 4 states

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

slide-56
SLIDE 56

Chapter 3 <56>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and
  • utput logic
  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-57
SLIDE 57

Chapter 3 <57>

Current State Outputs S1 S0 LA1 LA0 LB1 LB0 1 1 1 1 Output Encoding green 00 yellow 01 red 10

FSM Output Table

Two bits required for 3 outputs

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

slide-58
SLIDE 58

Chapter 3 <58>

Current State Outputs S1 S0 LA1 LA0 LB1 LB0 1 1 1 1 1 1 1 1 1 1 Output Encoding green 00 yellow 01 red 10 LA1 = S1 LA0 = S1S0 LB1 = S1 LB0 = S1S0

FSM Output Table

Two bits required for 3 outputs

S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

slide-59
SLIDE 59

Chapter 3 <59>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-60
SLIDE 60

Chapter 3 <60>

S1 S0 S'1 S'0 CLK

state register

Reset r

FSM Schematic: State Register

S'1 = S1  S0 S'0 = S1S0TA + S1S0TB LA1 = S1 LB1 = S1 LA0 = S1S0 LB0 = S1S0

slide-61
SLIDE 61

Chapter 3 <61>

S1 S0 S'1 S'0 CLK

next state logic state register

Reset TA TB

inputs

S1 S0 r

FSM Schematic: Next State Logic

S'1 = S1  S0 S'0 = S1S0TA + S1S0TB

slide-62
SLIDE 62

Chapter 3 <62>

S1 S0 S'1 S'0 CLK

next state logic

  • utput logic

state register

Reset LA1 LB1 LB0 LA0 TA TB

inputs

  • utputs

S1 S0 r

FSM Schematic: Output Logic

LA1 = S1 LB1 = S1 LA0 = S1S0 LB0 = S1S0

slide-63
SLIDE 63

Chapter 3 <63>

CLK Reset TA TB S'1:0 S1:0 LA1:0 LB1:0 Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10 S1 (01) S2 (10) S3 (11) S0 (00) t (sec) ?? ?? S0 (00) S0 (00) S1 (01) S2 (10) S3 (11) S1 (01) ?? ??

5 10 15 20 25 30 35 40 45 Green (00) Red (10)

S0 (00)

Yellow (01) Red (10) Green (00) Green (00) Red (10) Yellow (01) S0 LA: green LB: red S1 LA: yellow LB: red S3 LA: red LB: yellow S2 LA: red LB: green TA TA TB TB Reset

FSM Timing Diagram

slide-64
SLIDE 64

Chapter 3 <64>

  • Binary encoding:

– i.e., for four states, 00, 01, 10, 11

  • One-hot encoding

– One state bit per state – Only one state bit HIGH at once – i.e., for 4 states, 0001, 0010, 0100, 1000 – Requires more flip-flops – Often next state and output logic is simpler

FSM State Encoding

slide-65
SLIDE 65

Chapter 3 <65>

  • 1. Identify inputs and outputs
  • 2. Sketch state transition diagram
  • 3. Write state transition table
  • 4. Select state encodings
  • 5. Rewrite state transition table with state encodings
  • 6. Write output table
  • 7. Write Boolean equations for next state and output

logic

  • 8. Sketch the circuit schematic

FSM Design Procedure

slide-66
SLIDE 66

Chapter 3 <66>

1. Identify inputs and outputs 2. Sketch state transition diagram 3. Write state transition table 4. Select state encodings 5. Rewrite state transition table with state encodings 6. Write output table 7. Write Boolean equations for next state and output logic 8. Sketch the circuit schematic

FSM Problems

1. Design a circuit to detect 3 or more 1’s in a row in a bit stream 2. Vending machine: Release an item after receiving 15 cents

  • Single coin slot but tells if you put in dime or nickel
  • No change given
slide-67
SLIDE 67

Chapter 3 <67>

  • Flip-flop samples D at clock edge
  • D must be stable when sampled
  • Similar to a photograph, D must be stable

around clock edge

  • Moving right before or after shutter click results

in blurry photo

  • If not, metastability can occur

Timing

slide-68
SLIDE 68

Chapter 3 <68>

CLK tsetup D thold ta

  • Setup time: tsetup = time before clock edge data must be

stable (i.e. not changing)

  • Hold time: thold = time after clock edge data must be stable
  • Aperture time: ta = time around clock edge data must be

stable (ta = tsetup + thold)

Input Timing Constraints

slide-69
SLIDE 69

Chapter 3 <69>

CLK tccq tpcq Q

  • Propagation delay: tpcq = time after clock edge that the
  • utput Q is guaranteed to be stable (i.e., to stop changing)
  • Contamination delay: tccq = time after clock edge that Q

might be unstable (i.e., start changing)

Output Timing Constraints

slide-70
SLIDE 70

Chapter 3 <70>

  • Synchronous sequential circuit inputs must be

stable during aperture (setup and hold) time around clock edge

  • Specifically, inputs must be stable:
  • at least tsetup before the clock edge
  • at least until thold after the clock edge
  • Previously, static discipline:
  • With logically valid inputs, every circuit element

must produce logically valid outputs

Dynamic Discipline

slide-71
SLIDE 71

Chapter 3 <71>

  • The delay between registers has a

minimum and maximum delay, dependent

  • n the delays of the circuit elements

C L CLK CLK R1 R2 Q1 D2 (a) CLK Q1 D2 (b) Tc

Dynamic Discipline

slide-72
SLIDE 72

Chapter 3 <72>

  • Depends on the maximum delay from register R1

through combinational logic to R2

  • The input to register R2 must be stable at least tsetup

before clock edge

CLK Q1 D2 Tc tpcq tpd tsetup C L CLK CLK Q1 D2 R1 R2

Tc ≥

Setup Time Constraint

slide-73
SLIDE 73

Chapter 3 <73>

  • Depends on the maximum delay from register R1

through combinational logic to R2

  • The input to register R2 must be stable at least tsetup

before clock edge

CLK Q1 D2 Tc tpcq tpd tsetup C L CLK CLK Q1 D2 R1 R2

Tc ≥ tpcq + tpd + tsetup tpd ≤

Setup Time Constraint

slide-74
SLIDE 74

Chapter 3 <74>

  • Depends on the maximum delay from register R1

through combinational logic to R2

  • The input to register R2 must be stable at least tsetup

before clock edge

CLK Q1 D2 Tc tpcq tpd tsetup C L CLK CLK Q1 D2 R1 R2

Tc ≥ tpcq + tpd + tsetup tpd ≤ Tc – (tpcq + tsetup)

Setup Time Constraint

(tpcq + tsetup): sequencing overhead

slide-75
SLIDE 75

Chapter 3 <75>

  • Depends on the minimum delay from register R1

through the combinational logic to R2

  • The input to register R1 must be stable for at least

thold after the clock edge

CLK Q1 D2 tccq tcd thold C L CLK CLK Q1 D2 R1 R2

thold <

Hold Time Constraint

slide-76
SLIDE 76

Chapter 3 <76>

  • Depends on the minimum delay from register R1

through the combinational logic to R2

  • The input to register R1 must be stable for at least

thold after the clock edge

CLK Q1 D2 tccq tcd thold C L CLK CLK Q1 D2 R1 R2

thold < tccq + tcd tcd >

Hold Time Constraint

slide-77
SLIDE 77

Chapter 3 <77>

  • Depends on the minimum delay from register R1

through the combinational logic to R2

  • The input to register R2 must be stable for at least

thold after the clock edge

CLK Q1 D2 tccq tcd thold C L CLK CLK Q1 D2 R1 R2

thold < tccq + tcd tcd > thold - tccq

Hold Time Constraint

slide-78
SLIDE 78

Chapter 3 <78> CLK CLK A B C D X' Y' X Y

per gate

Timing Characteristics

tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps

tpd = tcd = Setup time constraint: Tc ≥ tpcq + tpd + tsetup fc = Hold time constraint: tccq + tcd > thold ?

Timing Analysis

slide-79
SLIDE 79

Chapter 3 <79> CLK CLK A B C D X' Y' X Y

per gate

Timing Characteristics

tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps

tpd = 3 x 35 ps = 105 ps tcd = 25 ps Setup time constraint: Tc ≥ tpcq + tpd + tsetup Tc ≥ (50 + 105 + 60) ps = 215 ps fc = 1/Tc = 4.65 GHz Hold time constraint: tccq + tcd > thold ? (30 + 25) ps > 70 ps ? No!

Timing Analysis

slide-80
SLIDE 80

Chapter 3 <80>

per gate

Timing Characteristics

tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps

tpd = tcd = Setup time constraint: Tc ≥ fc = Hold time constraint: tccq + tcd > thold ?

Timing Analysis

CLK CLK A B C D X' Y' X Y

Add buffers to the short paths:

slide-81
SLIDE 81

Chapter 3 <81>

per gate

Timing Characteristics

tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps

tpd = 3 x 35 ps = 105 ps tcd = 2 x 25 ps = 50 ps Setup time constraint: Tc ≥ tpcq + tpd + tsetup Tc ≥ (50 + 105 + 60) ps = 215 ps fc = 1/Tc = 4.65 GHz Hold time constraint: tccq + tcd > thold ? (30 + 50) ps > 70 ps ? Yes!

Timing Analysis

CLK CLK A B C D X' Y' X Y

Add buffers to the short paths:

slide-82
SLIDE 82

Chapter 3 <82>

  • Two types of parallelism:

– Spatial parallelism

  • duplicate hardware performs multiple tasks at once

– Temporal parallelism

  • task is broken into multiple stages
  • also called pipelining
  • for example, an assembly line

Parallelism

slide-83
SLIDE 83

Chapter 3 <83>

  • Token: Group of inputs processed to produce

group of outputs

  • Latency: Time for one token to pass from

start to end

  • Throughput: Number of tokens produced

per unit time Parallelism increases throughput

Parallelism Definitions

slide-84
SLIDE 84

Chapter 3 <84>

  • Ben Bitdiddle bakes cookies to celebrate traffic light

controller installation

  • 5 minutes to roll cookies
  • 15 minutes to bake
  • What is the latency and throughput without parallelism?

Parallelism Example

slide-85
SLIDE 85

Chapter 3 <85>

  • Ben Bitdiddle bakes cookies to celebrate traffic light

controller installation

  • 5 minutes to roll cookies
  • 15 minutes to bake
  • What is the latency and throughput without parallelism?

Latency = 5 + 15 = 20 minutes = 1/3 hour Throughput = 1 tray/ 1/3 hour = 3 trays/hour

Parallelism Example

slide-86
SLIDE 86

Chapter 3 <86>

  • What is the latency and throughput if Ben

uses parallelism?

– Spatial parallelism: Ben asks Allysa P. Hacker to help, using her own oven – Temporal parallelism:

  • two stages: rolling and baking
  • He uses two trays
  • While first batch is baking, he rolls the

second batch, etc.

Parallelism Example

slide-87
SLIDE 87

Chapter 3 <87>

Latency = ? Throughput = ?

Spatial Parallelism

Spatial Parallelism Roll Bake Ben 1 Ben 1 Alyssa 1 Alyssa 1 Ben 2 Ben 2 Alyssa 2 Alyssa 2 Time

5 10 15 20 25 30 35 40 45 50

Tray 1 Tray 2 Tray 3 Tray 4

Latency: time to first tray

Legend

slide-88
SLIDE 88

Chapter 3 <88>

Latency = 5 + 15 = 20 minutes = 1/3 hour Throughput = 2 trays/ 1/3 hour = 6 trays/hour

Spatial Parallelism

Spatial Parallelism Roll Bake Ben 1 Ben 1 Alyssa 1 Alyssa 1 Ben 2 Ben 2 Alyssa 2 Alyssa 2 Time

5 10 15 20 25 30 35 40 45 50

Tray 1 Tray 2 Tray 3 Tray 4

Latency: time to first tray

Legend

slide-89
SLIDE 89

Chapter 3 <89>

Temporal Parallelism Ben 1 Ben 1 Ben 2 Ben 2 Ben 3 Ben 3 Time

5 10 15 20 25 30 35 40 45 50 Latency: time to first tray

Tray 1 Tray 2 Tray 3

Latency = ? Throughput = ?

Temporal Parallelism

slide-90
SLIDE 90

Chapter 3 <90>

Temporal Parallelism Ben 1 Ben 1 Ben 2 Ben 2 Ben 3 Ben 3 Time

5 10 15 20 25 30 35 40 45 50 Latency: time to first tray

Tray 1 Tray 2 Tray 3

Latency = 5 + 15 = 20 minutes = 1/3 hour  true latency = 30 minutes (with 10 minutes idle) Throughput = 1 trays/ 1/4 hour = 4 trays/hour Using both spatial and temporal techniques, the throughput would be 8 trays/hour

Temporal Parallelism

slide-91
SLIDE 91

Chapter 3 <91>

  • Circuit with no parallelism
  • Registers have:
  • Propagation clock-to-Q = 0.3 ns
  • Setup time = 0.2 ns

Parallelism Example

slide-92
SLIDE 92

Chapter 3 <92>

  • Circuit with no parallelism
  • Find critical path
  • Compute minimum cycle time, latency, and throughput

Parallelism Example

slide-93
SLIDE 93

Chapter 3 <93>

  • Circuit with parallelism: 2 stages
  • Find critical path
  • Compute minimum cycle time, latency, and throughput

Parallelism Example

slide-94
SLIDE 94

Chapter 3 <94>

  • Circuit with parallelism: 3 stages
  • Find critical path
  • Compute minimum cycle time, latency, and throughput

Parallelism Example