classes of logic circuits sequential mos logicese570/fall2020/handouts/lec... · 2020. 11. 9. ·...

12
1 ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 18: November 9, 2020 Sequential Logic, Timing Hazard, Dynamic Logic Penn ESE 570 Fall 2020 – Khanna 1 Lecture Outline ! Sequential Logic ! Timing hazards ! Dynamic Logic 2 Penn ESE 570 Fall 2020 – Khanna 2 Sequential MOS Logic Penn ESE 570 Fall 2020 – Khanna 3 Classes of Logic Circuits 4 Combinational Circuits: a. Current Output(s) depend ONLY on Current Inputs. b. Suited to problems that can be solved using truth tables. Sequential Circuits or State Machines: a. Current Output(s) depend on Current Inputs and Past Inputs via State(s). b. Suited to problems that are solved by completing several steps using current inputs and past outputs in a specific order or a sequential manner. Penn ESE 570 Fall 2020 – Khanna 4 Synchronous Discipline ! Add state elements (registers, latches) ! Compute " From state elements " Through combinational logic " To new values for state elements 5 Penn ESE 570 Fall 2020 – Khanna 5 Static Bistable Sequential Circuits 6 Basic Cross- coupled Inverter pair Q Q Penn ESE 570 Fall 2020 – Khanna 0 1 1 0 6

Upload: others

Post on 11-Jun-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

1

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Lec 18: November 9, 2020Sequential Logic, Timing Hazard, Dynamic

Logic

Penn ESE 570 Fall 2020 – Khanna

1

Lecture Outline

! Sequential Logic! Timing hazards! Dynamic Logic

2Penn ESE 570 Fall 2020 – Khanna

2

Sequential MOS Logic

Penn ESE 570 Fall 2020 – Khanna

3

Classes of Logic Circuits

4

Combinational Circuits: a. Current Output(s) depend ONLY on Current Inputs.b. Suited to problems that can be solved using truth tables.

Sequential Circuits or State Machines: a. Current Output(s) depend on Current Inputs and Past Inputs via State(s).b. Suited to problems that are solved by completing several steps using current inputs and past outputs in a specific order or a sequential manner.

Penn ESE 570 Fall 2020 – Khanna

4

Synchronous Discipline

! Add state elements (registers, latches)! Compute

" From state elements" Through combinational logic" To new values for state elements

5Penn ESE 570 Fall 2020 – Khanna

5

Static Bistable Sequential Circuits

6

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Fall 2020 – Khanna

0 1

10

6

Page 2: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

2

Static Bistable Sequential Circuits

7

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Fall 2020 – Khanna

Vi1

Vo1

Vi2

Vo2

7

Static Bistable Sequential Circuits

8

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Fall 2020 – Khanna

Vo1

Vo2

Vi1=Vo2Vo1=Vi2

Vi1

Vi2

8

Static Bistable Sequential Circuits

9

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Fall 2020 – Khanna

Vo1

Vi1=Vo2Vo1=Vi2

Vi1V

o2

Vi2

9

Static Bistable Sequential Circuits

10

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Fall 2020 – Khanna

Vi1, Vo2

Vo1, Vi2

Vi1=Vo2Vo1=Vi2

10

Static Bistable Sequential Circuits

11

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Fall 2020 – Khanna

Vi1, Vo2

Vo1, Vi2

Vi1=Vo2Vo1=Vi2

11

12

Basic Bistable Cross-coupled Inverter Pair has no means to apply input(s) to change the circuit's State.

Basic Cross-coupled Inverter

pairQ

Q

VOH = VDD

VOL = 0

maintain stable state.STATIC: VDD and GND are required to maintain a stable state.

Static Bistable Sequential Circuits

Penn ESE 570 Fall 2020 – Khanna

12

Page 3: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

3

Basic Sequential Circuits (Cells)

! Latches! Registers

13Penn ESE 570 Fall 2020 – Khanna

13

Latch

14

Q =CLK ⋅Q+CLK ⋅ In

! Level-sensitive device! Positive Latch

" Output follows input if CLK high

! Negative Latch" Output follows input if

CLK low

Penn ESE 570 Fall 2020 – Khanna

14

Register

15

! Edge-triggered storage element

! Positive edge-triggered" Input sampled on

rising CLK edge

! Negative edge-triggered" Input sampled on

falling CLK edge

Penn ESE 570 Fall 2020 – Khanna

15

Shift Register

! How do you make a shift register out of latches?

16Penn ESE 570 Fall 2020 - Khanna

16

Positive-Edge Triggered Register

! Build register from pair of positive latches! What happens when f0 is high?! What happens when f1 is high?

17Penn ESE 570 Fall 2020 – Khanna

QM

17

Positive-Edge Triggered Register

! Build register from pair of positive latches

18Penn ESE 570 Fall 2020 – Khanna

QM

QM

18

Page 4: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

4

Positive-Edge Triggered Register

! Build register from pair of positive latches! What could go wrong if clocks overlap?

19Penn ESE 570 Fall 2020 – Khanna

QM

QM

19

Positive-Edge Triggered Register

! Build register from pair of positive latches! Control with non-overlapping clocks

20Penn ESE 570 Fall 2020 – Khanna

QM

20

Non-overlapping Clocks

! Play with in Cadence" Will need for project 2

Penn ESE 570 Fall 2020 - Khanna 21

21

Latch

22

Q =CLK ⋅Q+CLK ⋅ In

! Level-sensitive device! Positive Latch

" Output follows input if CLK high

! Negative Latch" Output follows input if

CLK low

Penn ESE 570 Fall 2020 – Khanna

22

23

QQ

D

CKCK

CK

CK

Static CMOS TG D-LATCH

Penn ESE 570 Fall 2020 – Khanna

23

Static CMOS TG D-LATCH – 8 Transistors

24

8 Transistors

Penn ESE 570 Fall 2020 – Khanna

24

Page 5: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

5

25

Static CMOS TG D-LATCH

When CK = 1 output Q = D, and tracks D until CK = 0, the D-Latch is referred to positive level triggered.

When CK → 1 to 0, the Q = D is captured, held (or stored) in the Latch.

Penn ESE 570 Fall 2020 – Khanna

25

D-LATCH Timing Requirements

26Penn ESE 570 Fall 2020 – Khanna

26

Timing Hazards

27Penn ESE 570 Fall 2020 – Khanna

27

Clocking Discipline

! Follow discipline of combinational logic broken by registers

! Compute " From state elements" Through combinational logic" To new values for state elements

! As long as clock cycle long enough," Will get correct behavior

28Penn ESE 570 Fall 2020 - Khanna

28

Latch Timing Issues

Penn ESE 570 Fall 2020 - Khanna 29

Worst case delays

Minimum delays

29

Latch Timing Issues

Penn ESE 570 Fall 2020 - Khanna 30

! tsu = time data (D) must be valid before CLK edge! tplogic = worst case propagation delay of logic! tc-p = worst case propagation delay of latch

30

Page 6: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

6

Latch Timing Issues

Penn ESE 570 Fall 2020 - Khanna 31

! tcdregister = minimum propagation delay of latch! tcdlogic = minimum propagation delay of logic! thold = time data (D) must stay valid after CLK edge

31

Timing Example

Penn ESE 570 Fall 2020 - Khanna 32

32

Timing Example

Penn ESE 570 Fall 2020 - Khanna 33

33

Timing Example

Penn ESE 570 Fall 2020 - Khanna 34

34

Timing Example

Penn ESE 570 Fall 2020 - Khanna 35

35

Clocking Highlights

! Clock discipline simplifies logic composition" Abstracts many internal timing details" Just concerned with making clock period long enough

! Breaking logic up with registers allows circuit to run at high frequency " Inputs decoupled from outputs

! Design Discipline – keeping data stable around clock edge" Setup, hold time – determined by latch circuit" Worst case and minimum Clk#Q delay for latch

36Penn ESE 570 Fall 2020 - Khanna

36

Page 7: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

7

System Timing Constraints

Penn ESE 570 Fall 2020 - Khanna 37

37

Latch Timing Metrics

Penn ESE 570 Fall 2020 - Khanna 38

38

Mux Based Latches

! Change the stored value by cutting the feedback loop

Penn ESE 570 Fall 2020 - Khanna 39

39

PassT Implementation of Mux

Penn ESE 570 Fall 2020 - Khanna 40

40

Tx Gate Implementation of Mux

Penn ESE 570 Fall 2020 - Khanna 41

41

Controller/Controlled ET Flip Flop

Penn ESE 570 Fall 2020 - Khanna 42

ControllerControlled

42

Page 8: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

8

Controller/Controlled Implementation

Penn ESE 570 Fall 2020 - Khanna 43

Controller Controlled

43

Controller/Controlled Implementation

Penn ESE 570 Fall 2020 - Khanna 44

Controller Controlled

Controller transparentControlled hold

Controller hold

Controlled transparent

44

Timing Properties

! Assume propagation delays are tpd_inv and tpd_tx, and that the inverter delay to derive !clk is 0

! Set-up time - time before rising edge of clk that D must be valid" tsu = 3 * tpd_inv + tpd_tx

! Propagation delay - time for QM to reach Q" tc-q = tpd_inv + tpd_tx

! Hold time - time D must be stable after rising edge of clk" thold = zero

Penn ESE 570 Fall 2020 - Khanna 45

45

Setup Time Simulation

Penn ESE 570 Fall 2020 - Khanna 46

46

Setup Time Simulation

Penn ESE 570 Fall 2020 - Khanna 47

47

Dynamic Logic

48Penn ESE 570 Fall 2020 – Khanna

48

Page 9: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

9

Logic Comparison Overview

49Penn ESE 570 Fall 2020 – Khanna

DYNAMIC LOGIC GATES: valid logic level are not steady-state op points and depend on temporary storage of charge on parasitic node capacitances. Outputs are generated in response to input voltage levels and a clock. Requires periodic updating or refresh.

49

Logic Comparison Overview

50Penn ESE 570 Fall 2020 – Khanna

DYNAMIC LOGIC GATES: valid logic level are not steady-state op points and depend on temporary storage of charge on parasitic node capacitances. Outputs are generated in response to input voltage levels and a clock. Requires periodic updating or refresh.

CSM1

BL

WL

CBL

WL

X

BL

VDD-VT

VDD/2

VDD

GND

Write "1" Read "1"

sensingVDD/2

DV VBL VPRE– VBIT VPRE–( )CS

CS CBL+------------------------= =

Write: CS is charged or discharged by asserting WL and BL.Read: Charge redistribution takes places between bit line and storage capacitance

Voltage swing is small; typically around 250 mV.

bit bit_b

N1

N2P1

A

P2

N3

N4

A_b

word

50

Comparison of Logic Implementations

51

Y

Ratioed

Penn ESE 570 Fall 2020 – Khanna

51

Comparison of Logic Implementations

52

Y

Ratioed

Penn ESE 570 Fall 2020 – Khanna

52

Comparison of Logic Implementations

53

Y

Ratioed

Penn ESE 570 Fall 2020 – Khanna

53

Comparison of Logic Implementations

54

Y

Ratioed

1

11

VDDmore robust

Penn ESE 570 Fall 2020 – Khanna

54

Page 10: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

10

Dynamic CMOS Precharge

55

VDD

A

CK

Mp

Me

Z

Penn ESE 570 Fall 2020 – Khanna

55

Dynamic CMOS Precharge

56

Z

Z

of C is complete

Penn ESE 570 Fall 2020 – Khanna

56

Dynamic (Clocked) Logic: Example

57

CK = 0 => Z = ?CK = 1 => Z = ?

Penn ESE 570 Fall 2020 – Khanna

57

Comparison of Static and Dynamic Logic

58

ADVANTAGES ?

DISADVANTAGES ?

Penn ESE 570 Fall 2020 – Khanna

58

59

Comparison of Static and Dynamic Logic

Penn ESE 570 Fall 2020 – Khanna

59

60

Comparison of Static and Dynamic Logic

Penn ESE 570 Fall 2020 – Khanna

60

Page 11: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

11

Cascaded Dynamic Logic

61Penn ESE 570 Fall 2020 – Khanna

61

Cascaded Dynamic Logic

62Penn ESE 570 Fall 2020 – Khanna

62

Cascaded Dynamic Logic

63Penn ESE 570 Fall 2020 – Khanna

63

Cascaded Dynamic Logic

64Penn ESE 570 Fall 2020 – Khanna

64

Domino Logic

65Penn ESE 570 Fall 2020 – Khanna

65

Requirements

! Single transition" Once transitioned, it is done # like domino falling

! All inputs at 0 during precharge" ‘Outputs’ pre-charged to 1 then inverted to 0

" I.e. Inputs are pre-charge to 0

! Non-inverting gates

66Penn ESE 570 Fall 2020 – Khanna

66

Page 12: Classes of Logic Circuits Sequential MOS Logicese570/fall2020/handouts/lec... · 2020. 11. 9. · Sequential Logic!Timing hazards!Dynamic Logic Penn ESE 570 Fall 2020–Khanna 2 2

12

Cascaded Domino CMOS Logic Gates

67Penn ESE 570 Fall 2020 – Khanna

67

Cascaded Domino CMOS Logic Gates

68

propagating

Penn ESE 570 Fall 2020 – Khanna

68

Cascaded Domino CMOS Logic Gates

69

propagating

Penn ESE 570 Fall 2020 – Khanna

69

Ideas

! Synchronize circuits" to external events (eg. Clk)" disciplined reuse of circuitry

! Leads to clocked circuit discipline" Uses state holding element (eg. Latches and registers)" Prevents

" Timing assumptions" (More) complex reasoning about all possible timings

! Dynamic/clocked logic" Only build/drive one pulldown network" Fast transition propagation" Domino Logic allows for cascading

70Penn ESE 570 Fall 2020 – Khanna

70

Admin

! Proj 1 out" Due 11/15

! 2 baseline designs (CMOS and pass)" Pick one to optimize and layout

! Proj 1 doesn’t require the output flip flop" will need it eventually for proj 2 so you can add it if you

want and we can give feedback

71Penn ESE 570 Fall 2020 – Khanna

71