Timing and Hazards. Logical levels Positive Logic Negative Logic 5v = 1 0v = 0 0v = 1 5v = 0.

48
Timing and Hazards
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    228
  • download

    2

Transcript of Timing and Hazards. Logical levels Positive Logic Negative Logic 5v = 1 0v = 0 0v = 1 5v = 0.

Timing and Hazards

Logical levels

Positive Logic

Negative Logic

5v = 1

0v = 0

0v = 1

5v = 0

Noise – basic concepts

0

1Ideal World

Noise – basic concepts

0=0v

1=5vIdeal World

0

1Real World

Positive Logic

Voltage

Voltage

Noise – basic concepts

0

1

Real World

Positive Logic

Noise – basic concepts

5v

0v

1v1.5v

Output RangeInput Range

Input Range Output Range4v

3.5v

High Value

Low Value

Timing – basic concepts

0

1Ideal World

“zero” time to change

Timing

0

1Ideal World

“zero” time to change

0

1Real World

measurable time to change

Timing

0

1

Ideal World Input

0

1

Output

Timing

0

1

Ideal World Input

0

1

Output

0

1

Real World

0

1

Timing – Delay Time

0

5V

Input

Output

Time

50%

50%

50%

50%

tHL

tLH

Propagation delay = tPD = max(tHL,tLH)

Timing – Contamination time

0

5V

Input

Output

Time

50%

tCD

The minimum time in which the input changed (50%) and the output didn’tchange.

Timing Rise and Fall time(measured on the output)

0

1

10%

90%

trRise Time

10%

90%

tfFall Time

Output

The tpd of a circuit

The function : X1*X2 + X3’

A

C

BX3

X2

X1

Data in ns A B C

tHL 100 90 80

tLH 110 70 100

tCD 12 8 10

tr 20 12 14

Tf 17 13 19

Y

The tpd of a circuit a single assignment

The function : X1*X2 + X3’

A

C

BX3=1

X2=01X1=1

Data in ns A B C

tHL 100 90 80

tLH 110 70 100

tCD 12 8 10

tr 20 12 14

Tf 17 13 19

Y

The tpd of a circuit a single assignment

The function : X1*X2 + X3’

A

C

BX3=1

X2=01X1=1

Data in ns A B C

tHL 100 90 80

tLH 110 70 100

tCD 12 8 10

tr 20 12 14

Tf 17 13 19

01

The tpd of a circuit a single assignment

The function : X1*X2 + X3’

A

C

BX3=1

X2=01X1=1

Data in ns A B C

tHL 100 90 80

tLH 110 70 100

tCD 12 8 10

tr 20 12 14

Tf 17 13 19

01

Y 01

The tpd of a circuit a single assignment

X2=01

Output of A

Output of C

tLH(A)

tLH(B)

The tpd of a circuit a single assignment

X2=01

Output of A

Output of C

tLH(A)

tLH(B)

tLH(A) + tLH(B)

The tpd of a circuit

The tpd of a circuit is the maximal value

Over all the possible single assignments

The tcd of a circuit a single assignment

X2=01

Output of A

Output of C

Real tCD(Circuit)

The tcd of a circuit a single assignment

X2=01

Output of A

Output of C

tCD(A)

tCD(B)R

The tcd of a circuit a single assignment

X2=01

Output of A

Output of C

tCD(A)

tCD(B)R

Real tCD(Circuit) = tCD(A) + tCD(B) + R

The tcd of a circuit a single assignment

tCD(Circuit) = tCD(A) + tCD(B) <

tCD(A) + tCD(B) +R = Real tCD(circuit)

Since tCD is the minimum

The tCD of a circuit

The tCD of a circuit is the minimal value

Over all the possible single assignments

Timing The minimum time for the output to change

What is the minimal time that the output will change over a single assignment?

The minimum time for the output to change a single assignment

X2=01

Output of A

Output of C

tLH(A)

tLH(B)

tLH(A) + tLH(B)

The minimum time for the output to change a single assignment

X2=01

Output of A

Output of C

tLH(A)

tLH(B)

tLH(A) + tLH(B)

The minimum time for the output to change a single assignment

Real Minimum Time =

tLH(A) + tHL(A) + Tr(X2) + Tr(C)

2

The minimum time for the output to change a single assignment

Real Minimum Time =

tLH(A) + tHL(A) + Tr(X2) + Tr(C)

2

< Max(Tr(X2), Tr(C))

The minimum time for the output to change a single assignment

Estimated Minimum Time =

tLH(A) + tHL(A) +Max(Tr(X2),Tr(C)) >

Real Minimum time

Problems in timing

Y = X2*X3 + X1*X2’

B

DA

C

X1

X2

X3

Y

Assume tHL=tLH > 0 And equal for all gates

Problems in timing

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=1

X3=1

Y=1

Problems in timing

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=1

X3=1

Y=1

0

0

1

Change in input – final state

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=10

X3=1

Y=1

We changed the input But the result remained the same

1

1

0

Change in input – Time slice 1

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=10

X3=1

Y=1

Change in input – Time slice 2

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=10

X3=1

Y=1

01

0

10

1

Change in input – Time slice 3

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=10

X3=1

Y=0

1

01

0

10

Change in input – Time slice 4

Y = X2*X3 + X1*X2’

B

DA

C

X1=1

X2=10

X3=1

Y=1

1

1

0

01

Input Change Time 0

X2

A

B

C

Y

1

0

0

1

1

0

1

1

0

0

Input Change Time 1

X2

A

B

C

Y

1

0

0

1

1

0

1

1

0

0

Input Change Time 2

X2

A

B

C

Y

1

0

0

1

1

0

1

1

0

0

Input Change Time 3

X2

A

B

C

Y

1

0

0

1

1

0

1

1

0

0

Input Change Time 4

X2

A

B

C

Y

1

0

0

1

1

0

1

1

0

0

Static Hazard

X2

A

B

C

Y

1

0

0

1

1

0

1

1

0

0

Static Hazard – A change in a single input That should not change the outputLeads to a momentary change.

Static hazard – another point of view

00 01 11 10

0 1

1 1 1 1

X2X3X1

Static hazard – another point of view

00 01 11 10

0 1

1 1 1 1

X2X3X1

Static hazard – another point of view

00 01 11 10

0 1

1 1 1 1

X2X3X1