8
1 ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 18: March 24, 2016 Sequential MOS Logic and Timing Hazards Penn ESE 570 Spring 2016 – Khanna Lecture Outline ! Finish: Design Space Exploration " Design Problem Example: Match Circuit ! Sequential MOS Logic ! Timing Hazards 2 Penn ESE 570 Spring 2016 – Khanna Design Space Exploration 3 Penn ESE 570 Spring 2016 – Khanna Design Problem ! Function: Identify equivalence of two 32bit inputs ! Optimize: Minimize total energy ! Assumptions: Match case uncommon " Ie. Most of the time, the inputs won’t be matched ! Deliberately focus on Energy to complement project " …but will still talk about delay 4 Penn ESE 570 Spring 2016 – Khanna Design Space Dimensions ! Vdd ! Topology " Gate choice, logical optimization " Fanin, fanout, Serial vs. parallel ! Gate style / logic family " CMOS, Ratioed (N load, P load) ! Transistor Sizing ! Vth ! The choices you make impact area, speed (delay), power 5 Penn ESE 570 Spring 2016 – Khanna Ideas ! Three components of power " P tot = P static + P dyn + P sc ! We know many things we can do to our circuits ! Design space is large ! Systematically identify dimensions ! Identify continuum (trends) tuning when possible ! Watch tradeoffs " …don’t over-tune 6 Penn ESE 570 Spring 2016 – Khanna

Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

1

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Lec 18: March 24, 2016 Sequential MOS Logic and Timing Hazards

Penn ESE 570 Spring 2016 – Khanna

Lecture Outline

!  Finish: Design Space Exploration "  Design Problem Example: Match Circuit

!  Sequential MOS Logic !  Timing Hazards

2 Penn ESE 570 Spring 2016 – Khanna

Design Space Exploration

3 Penn ESE 570 Spring 2016 – Khanna

Design Problem

!  Function: Identify equivalence of two 32bit inputs !  Optimize: Minimize total energy !  Assumptions: Match case uncommon

"  Ie. Most of the time, the inputs won’t be matched

!  Deliberately focus on Energy to complement project "  …but will still talk about delay

4 Penn ESE 570 Spring 2016 – Khanna

Design Space Dimensions

!  Vdd !  Topology

"  Gate choice, logical optimization "  Fanin, fanout, Serial vs. parallel

!  Gate style / logic family "  CMOS, Ratioed (N load, P load)

!  Transistor Sizing !  Vth

!  The choices you make impact area, speed (delay), power

5 Penn ESE 570 Spring 2016 – Khanna

Ideas

!  Three components of power "  Ptot = Pstatic + Pdyn+ Psc

!  We know many things we can do to our circuits !  Design space is large !  Systematically identify dimensions !  Identify continuum (trends) tuning when possible !  Watch tradeoffs

"  …don’t over-tune

6 Penn ESE 570 Spring 2016 – Khanna

Page 2: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

2

Sequential MOS Logic

Penn ESE 570 Spring 2016 – Khanna

Classes of Logic Circuits

8

Kenneth R. Laker,

University of Pennsylvania,

updated 25Mar15

two stable op. pts. Latch – level triggered.

Flip-Flop – edge triggered.

one stable op. pt. One-shot – single

pulse output

no stable op. pt. Ring Oscillator

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 Spring 2016 – Khanna

Functions Using Sequential Operations

9 Penn ESE 570 Spring 2016 – Khanna

Sequential Circuit (or State Machine) Construct

10

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

-> Register is used to Store Past Values of State(s) and Output(s) -> Synchronous Sequential Circuit – clock, outputs change with clock event -> Asynchronous Sequential Circuit – no clock, outputs change after inputs change

Vo1 Vo2

.

.

.

.

.

.

.

.

Vo3

Present State

Next State

Inputs Outputs

Clock

REGISTER

Penn ESE 570 Spring 2016 – Khanna

Static Bistable Sequential Circuits

11

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

Basic Cross-coupled Inverter

pair

Q

Q

Penn ESE 570 Spring 2016 – Khanna

12

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

Basic Cross-coupled Inverter

pair

Q

Q

Static Bistable Sequential Circuits

Penn ESE 570 Spring 2016 – Khanna

Page 3: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

3

13

Basic Cross-coupled Inverter

pair

Static Bistable Sequential Circuits

Q

Q

Penn ESE 570 Spring 2016 – Khanna

14

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

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

Basic Cross-coupled Inverter

pair Q

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 Spring 2016 – Khanna

Basic Sequential Circuits (Cells)

!  Latches !  Registers

15 Penn ESE 570 Spring 2016 – Khanna

Latch

16

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 Spring 2016 – Khanna

Register

17

!  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 Spring 2016 – Khanna

Shift Register

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

18 Penn ESE 570 Spring 2016 – Khanna

Page 4: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

4

Two Phase Non-Overlapping Clocks

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

19 Penn ESE 570 Spring 2016 – Khanna

Two Phase Non-Overlapping Clocks

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

20 Penn ESE 570 Spring 2016 – Khanna

Two Phase Non-Overlapping Clocks

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

21 Penn ESE 570 Spring 2016 – Khanna

Two Phase Non-Overlapping Clocks

!  What could go wrong if the overlap?

22 Penn ESE 570 Spring 2016 – Khanna

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

23 Penn ESE 570 Spring 2016 – Khanna 24

CMOS SR Latch – NOR2

* *

Penn ESE 570 Spring 2016 – Khanna

Page 5: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

5

CMOS SR Latch – NOR2

25

basic cross-coupled inverter

pair

Penn ESE 570 Spring 2016 – Khanna

CMOS SR Latch – NOR2

26

basic cross-coupled inverter

pair

Penn ESE 570 Spring 2016 – Khanna

CMOS SR Latch – NOR2

27

basic cross-coupled inverter

pair

SET OP: S = 1, R = 0

CMOS SR Latch – NOR2

28

basic cross-coupled inverter

pair

RESET OP: R = 1, S = 0

Penn ESE 570 Spring 2016 – Khanna

CMOS SR Latch – NOR2

29

basic cross-coupled inverter

pair

HOLD OP: S = 0, R = 0

Penn ESE 570 Spring 2016 – Khanna

CMOS SR Latch – NOR2

30

basic cross-coupled inverter

pair

HOLD OP: S = 0, R = 0

Penn ESE 570 Spring 2016 – Khanna

Page 6: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

6

31

CMOS SR Latch – NOR2

* *

“ACTIVE HIGH”

Penn ESE 570 Spring 2016 – Khanna

32

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

CMOS SR Latch – NAND2

basic cross-coupled inverter pair

Penn ESE 570 Spring 2016 – Khanna

33

CMOS SR Latch – NAND2

* *

“ACTIVE LOW” * *

Penn ESE 570 Spring 2016 – Khanna

Synchronous Latches

34

NAND SR Latch NOTE: S and R are asynchronous.

CK

S’/R'

NAND SR LATCH

S/R

Penn ESE 570 Spring 2016 – Khanna

Synchronous Latches

35

NAND SR Latch NOTE: S and R are asynchronous.

CK

S’/R'

NAND SR LATCH

S/R

SET STATE: CK = 1, S = 1, R = 0 => S' = 0, R' = 1 => Qn+1 = 1, Qn+1 = 0 RESET STATE: CK = 1, S = 0, R = 1 => S' = 1, R' = 0 => Qn+1 = 0, Qn+1 = 1 NOT ALLOWED: CK = 1, S = 1, R = 1 => S' = 0, R' = 0

IS CK = 1, S = 0, R = 0 a HOLD STATE? Penn ESE 570 Spring 2016 – Khanna

36

R

Q error due to glitch on S

T glitch

HOLD STATE: CK = 1, S = 0, R = 0

Synchronous Latches

Penn ESE 570 Spring 2016 – Khanna

Page 7: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

7

Latch

37

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 Spring 2016 – Khanna

Static CMOS D-Latch

38

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

S

R

LATCH

If CK = 1

If CK = 0, HOLD

Penn ESE 570 Spring 2016 – Khanna

Static CMOS D-Latch

39

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

CK D S' R' Qn+1 Qn+1 1 1 0 1 1 0 SR-Set 1 0 1 0 0 1 SR-Reset 0 x 0 0 Qn Qn SR-Hold

+ NO TOGGLE + NO NOT-ALLOWED INPUTS

S

R

LATCH

18 Transistors

If CK = 1

If CK = 0, HOLD

Penn ESE 570 Spring 2016 – Khanna

Static CMOS TG D-LATCH – 8 Transistors

40

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

**Transistor level implementation using transmission gates requires fewer transistors

8 Transistors

Penn ESE 570 Spring 2016 – Khanna

41

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

QQ

D

CKCK

CK

CK

Static CMOS TG D-LATCH

Penn ESE 570 Spring 2016 – Khanna

42

Kenneth R. Laker, University of Pennsylvania,

updated 25Mar15

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 Spring 2016 – Khanna

Page 8: Design Problem Design Space Explorationese570/spring2016/handouts/lec18_6up.pdfSequential Circuit (or State Machine) Construct 10 Kenneth R. Laker, University of Pennsylvania, updated

8

D-LATCH Timing Requirements

43 Penn ESE 570 Spring 2016 – Khanna

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

44

Admin

!  HW 7 due 3/31 "  Design 8 bit adder "  Extra Credit: Modify design for optimized delay (Submit

online before 4/8) "  Get up to 10 points added to your Midterm grade

!  NO LAYOUT

45 Penn ESE 570 Spring 2016 – Khanna