EE 459/500 HDL Based Digital Design with Programmable ... · PDF file5 Clock Nonidealities...

Post on 02-Feb-2018

223 views 1 download

transcript

1

1

EE 459/500 – HDL Based Digital

Design with Programmable Logic

Lecture 16

Timing and Clock Issues

Overview

Sequential system timing requirements

Impact of clock skew on timing

Impact of clock jitter on timing

Clock distribution

2

2

Clocked Synchronous State Machine

Flip-Flop Timing Parameters

3

Latch Timing Parameters

State Machine Timing

4

Satisfying Timing Requirements

The period must be long enough for the data to propagate through the registers and logic and to be set up at the destination register before the next rising edge of the clock. Satisfied by making T long enough. Cycle time: TCLK > tc-q + tlogic + tsu

The hold time at the destination register must be shorter than

the minimum propagation delay through the logic network. This requirement is independent of system clock; manufacturer’s minimum delay specifications are needed. Guarantee that minimum combinational logic delay is larger than hold time. Race margin: thold < tc-q,cd + tlogic,cd

Clock Uncertainties

2

4

3

Power Supply

Interconnect

5 Temperature

6 Capacitive Load

7 Coupling to Adjacent Lines

1 Clock Generation

Devices

5

Clock Nonidealities

Clock Skew

• Spatial variations in equivalent clock edges

• Mostly deterministic

Clock Jitter

• Temporal variations in consecutive clock edges

• Mostly random

Pulse Width Variation

Clock Skew and Clock Jitter

Clk

Clk

tSK

tJS

Clock skew and jitter can affect the cycle times

Clock skew can cause race conditions

6

Overview

Sequential system timing requirements

Impact of clock skew on timing

Impact of clock jitter on timing

Clock distribution

Clock Skew

Bad design

7

Clock Skew

Clock Skew

R1

D QCombinational

Logic

In

CLK tCLK1

R2

D Q

tCLK2

tc - qtc - q, cdtsu, thold

tlogictlogic, cd

Assume the following timing parameters are available:

Contamination or minimum delay (tc-q,cd) and maximum

propagation delay (tc-q) of the register

Setup (tsu) and Hold (thold) times for registers

Contamination delay (tlogic,cd) and maximum delay (tlogic) of the

combinational logic

The positions of the rising edges of clocks CLK1 and CLK2 (tCLK1

and tCLK2) relative to a global reference. Ideally tCLK1 = tCLK2.

8

Positive Clock Skew

Launching edge arrives before the

receiving edge

Minimum clock cycle:

T+ tc-q + tlogic + tsu

R1

D QCombinational

Logic

In

CLK tCLK1

R2

D Q

tCLK2

tc - qtc - q, cdtsu, thold

tlogictlogic, cd

Negative Clock Skew

Receiving edge arrives before the

launching edge

Minimum clock cycle:

T+ tc-q + tlogic + tsu

R1

D Q Combinational

Logic

In

CLK

t CLK1

R2

D Q

t CLK2

t c - q t c - q, cd t su, t hold

t logic t logic, cd

9

Positive and Negative Clock Skew

Impact of Clock Skew on Timing:

Cycle Time (Long Path)

10

Impact of Clock Skew on Timing:

Race Margin (Short Path)

Overview

Sequential system timing requirements

Impact of clock skew on timing

Impact of clock jitter on timing

Clock distribution

11

Clock Jitter

CLK

-tji tter

TC LK

t j itter

CLK

InCombinational

Logic

tc-q , tc-q, cd

t log ict log ic, cd

tsu, thold

REGS

tjitter

TCLK - 2tjitter tc-q + tlogic + tsu

2tjitter+ thold < tc-q,cd + tlogic,cd

Impact of Clock Jitter on Timing:

Cycle Time (Late-Early Problem)

12

Impact of Clock Jitter on Timing

Impact of Clock Skew and Jitter:

Cycle Time (Late-Early Problem)

13

Impact of Clock Skew and Jitter:

Race Margin (Early-Late Problem)

Combined Impact of Clock Skew and Jitter

Minimum clock cycle (cycle time)

• TCLK > tc-q + tlogic + tsu - + 2tjitter

Positive skew improves performance

Negative skew reduces performance

Jitter reduces performance

Minimum logic delay (race)

• tlogic,cd + tc-q,cd > thold + + 2tjitter

Skew reduces race margin

Jitter reduces acceptable skew

Notes:

Absolute delay through a clock distribution path is not important

What matters is the relative arrival time at the register points at

the end of each path

14

Overview

Sequential system timing requirements

Impact of clock skew on timing

Impact of clock jitter on timing

Clock distribution

Dealing with Clock Skew and Jitter

Balance clock paths (tree distribution)

Don’t use gated clocks

Use negative skew to eliminate race conditions (at the cost of performance): • Add up the components that result in the time

budget - the period must be greater than this value

TCLK > tc-q + tlogic + tsu - ( <0)

15

Clock Distribution

Clock Distribution

Distribute clock in a tree fashion

H-Tree

CLK

16

More Realistic H-Trees

Example: EV6 (Alpha 21264) Clocking

600 MHz – 0.35 micron CMOS

17

Spartan-6 FPGA

Spartan-6 FPGA Global Clock Network

18

Spartan-6 FPGA I/O Clock Network

Spartan-6 FPGA Clock Management Tile (CMT)

19

Digital Clock Manager (DCM)

Eliminating Clock Skew

20

Eliminating Clock Skew

Quadrant Phase Shifting

21

Fine Phase Shifting

Summary

Clock skew and clock jitter – increasingly

important issues with technology downscaling

CAD tools (e.g., ISE WebPack) take care of

many issues automatically

22

References and Credits

Chapter 10 of:

• Jan M. Rabaey, Anantha Chandrakasan, Borivoje

Nikolic, Digital Integrated Circuits, 2nd Edition,

Prentice Hall, 2003.

Spartan-6 FPGA Clocking Resources:

• http://www.xilinx.com/support/documentation/user

_guides/ug382.pdf

Appendix A: Asynchronous Inputs

23

Asynchronous Inputs: Multiple

Synchronizers