Noise Margin Analysis for Dynamic Logic Circuits - Semantic Scholar

Report 6 Downloads 13 Views
Noise Margin Analysis for Dynamic Logic Circuits Suwen Yang and Mark Greenstreet University of British Columbia

{swyang, mrg}@cs.ubc.ca

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.1/30

Contribution Introduced a sensitivity matrix for robustness analysis of a circuit applied the sensitivity matrix for small signal analysis developed a non-linear constrained optimization model to calculate the dynamic noise margin.

Quantified the noise margin of dynamic logic circuits

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.2/30

Overview Robustness Small Signal Analysis

Large Signal Analysis

A circuit is a dynamic system

min ∆ in , s.t. ∆ out > ∆ in

Sensitivity Matrix

Eigenvalues identify propagating modes

Use numerical optimization to find propagating modes

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.3/30

Outline Overview of Noise Analysis Sensitivity Matrix Small Signal Stability Large Signal Stability Conclusion

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.4/30

Outline Noise Analysis Static Noise Margin Dynamic Noise Margin

Sensitivity Matrix Small Signal Stability Large Signal Stability Conclusion

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.5/30

Static Noise Analysis Vout VOH VOUH +1

+1 VOUL VOL VOL

VIL

NM L

VIH

VOH

Vin

NM H

Guarantees disturbances won’t propagate through a chain of gates. Neglects dynamic behaviour: noise often exhibits a narrow pulse width gates act as low pass filters dynamic gates have time varying response ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.6/30

Dynamic Noise Analysis Previous work: Latch transition failure criterion [Zolotov+ 02] Modeling noise with fixed-shape pulses [Larsson+ 94, Gemmeke+ 04, Shepard+ 00] Static gain failure criterion [Zolotov+ 02] Dynamic gain failure criterion [Shepard+ 00, Shepard+ 96]

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.7/30

Dynamic Noise Analysis Previous work: Latch transition failure criterion [Zolotov+ 02] : Noise creates a failure by changing the state of a memory element. Corresponds to system failure. How to get the worst case scenario? Modeling noise with fixed-shape pulses [Larsson+ 94, Gemmeke+ 04, Shepard+ 00] Static gain failure criterion [Zolotov+ 02] Dynamic gain failure criterion [Shepard+ 00, Shepard+ 96]

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.7/30

Dynamic Noise Analysis Previous work: Latch transition failure criterion [Zolotov+ 02] Modeling noise with fixed-shape pulses [Larsson+ 94, Gemmeke+ 04, Shepard+ 00] : Simplifies search space. Doesn’t correspond to real noise. Provides no guarantee of correct operation. Static gain failure criterion [Zolotov+ 02] Dynamic gain failure criterion [Shepard+ 00, Shepard+ 96]

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.7/30

Dynamic Noise Analysis Previous work: Latch transition failure criterion [Zolotov+ 02] Modeling noise with fixed-shape pulses [Larsson+ 94, Gemmeke+ 04, Shepard+ 00] Static gain failure criterion [Zolotov+ 02] : The output voltage of the victim net exceeds the static noise margin It is still conservative Dynamic gain failure criterion [Shepard+ 00, Shepard+ 96]

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.7/30

Dynamic Noise Analysis Previous work: Latch transition failure criterion [Zolotov+ 02] Modeling noise with fixed-shape pulses [Larsson+ 94, Gemmeke+ 04, Shepard+ 00] Static gain failure criterion [Zolotov+ 02] Dynamic gain failure criterion [Shepard+ 00, Shepard+ 96] : Measure sensitivity of output waveform to DC offset of input in presence of disturbance pulse. Provides no guarantees – it can under- or over-estimate the noise margin.

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.7/30

Noise Analysis The noise margins of dynamic logic circuits depend on the noise’s duration, magnitude, shape, and arrival time.

voltage(V)

Output Prediction Logic [McMurchie+ 00]:

in

out2

out1

1.8 1.6

out 1

in

1.4 1.2 1

out 2

0.8 0.6

clock1

clock2

clock1

0.4 0.2 0

clock2 2.6

2.7

2.8

2.9

time(s)

3

3.1 −9

x 10

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.8/30

Noise Analysis The noise margins of dynamic logic circuits depend on the noise’s duration, magnitude, shape, and arrival time.

voltage(V)

Output Prediction Logic [McMurchie+ 00]:

in

out2

out1

t1

1.8 1.6

t2

out 1

in

1.4 1.2 1

out 2

0.8 0.6

clock1

clock2

clock1

0.4 0.2 0

clock2 2.6

2.7

2.8

2.9

3

time(s)

3.1 −9

x 10

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.8/30

Outline Overview of Noise Analysis Sensitivity Matrix Definition How to Calculate the Sensitivity Matrix

Small Signal Stability Large Signal Stability Conclusion

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.9/30

The Sensitivity Matrix (part 1)

in

out t

i

t j+d

We use a discrete approximation of time. S(j, i) is the perturbation at the output of a gate at time tj + d when a unit perturbation is applied to the input of the gate at time ti and the input of this gate is then returned to its non-perturbed value at time ti+1 . ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.10/30

The Sensitivity Matrix (part 2)

∆Vout

S

∆Vin

∆Vin represents a perturbation applied to the input of a gate. ∆Vout represents the resulting change in the output waveform. Columns of S correspond to time points of the input sequence. Rows correspond to time points of the output.

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.11/30

Small Signal Stability 2

1.5

undisturbed input disturbed input input noise

1

undisturbed output disturbed output

0.5

output noise 0

λ=0.2391 −0.5 1.9

2

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8 −9

x 10

Eigenvalues of S give the sensitivity of the circuit to small disturbances. If all eigenvalues have magnitudes less than one, then disturbances cannot propagate through a long chain of gates. The eigenvectors are the propagating modes for small disturbances. ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.12/30

Calculating the Sensitivity Matrix Numerical differencing unacceptable slow: requires a separate integration for each input time point. inaccurate: amplifies errors of the numerical integrator. Our approach: Let Γtj ,ti (y, x) be the response on node y at time tj to a perturbation of node x at time ti . Two handy properties of Γ: Γ˙

= Jac(f (v)),

Γtk ,ti

= Γtk ,tj Γtj ,ti

where v˙

= f (v) is the circuit model

S(j, i) = Γtj ,ti (in, out). We calculate Γ in a single integration pass. No numerical differencing. ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.13/30

Outline Robustness Small Signal Analysis

Large Signal Analysis

A circuit is a dynamic system

min ∆ in , s.t. ∆ out > ∆ in

Sensitivity Matrix

Eigenvalues identify propagating modes

Use numerical optimization to find propagating modes

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.14/30

Circuits 2.67/1.67

p

16

16

16

out

in 8

keeper

1.67

out

x

in

8

static buffer

8

26.67/12

self_resetting domino

8

8

8

in

out2

out1

8

8

clock1

8

8

clock2

8

OPL buffer ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.15/30

Analysis of Static Buffers 2

undisturbed input

1.5

voltage

1

0.5

λ=0.9934

0

λ=0.9972 −0.5

0

100

200

300 time(*2ps)

400

500

600

maximum eigenvalues: 0.9972, 0.9934, 0.0026, 0.0025, 1.25e-5, and 1.24e-5 eigenvectors shift the timing of transitions ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.16/30

voltage(V)

Analysis of Self-Resetting Domino 2

undisturbed input

1.5

1

0.5

λ=0.9907

λ=0.0404

0

−0.5 2.1

2.15

2.2

2.25

2.3

2.35

2.4

time(ns)

2.45

2.5

2.55

2.6 −9

x 10

maximum eigenvalues: 0.9907, 0.0404 eigenvectors shift the timing of the rising and falling events respectively ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.17/30

voltage(V)

Analysis of an OPL Buffer 2

undisturbed input

1.5

1

0.5

0

λ=0.2413 −0.5 1.8

2

2.2

2.4

2.6

2.8

time(s)

3 −9

x 10

input is 1, maximum eigenvalue: 0.2391 input is 0, maximum eigenvalue value: 0.2413 ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.18/30

voltage(V)

Analysis of an OPL Buffer 2

undisturbed input

1.5

1

0.5

0

λ=0.2391 −0.5 1.9

2

2.1

2.2

2.3

2.4

2.5

time(s)

2.6

2.7 −9

x 10

input is 1, maximum eigenvalue: 0.2391 input is 0, maximum eigenvalue value: 0.2413 ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.18/30

Eigenvalues and Noise Propagation Buffer with ideal maximum eigenvalue equal to 1: 1.8 1.6 1.4

voltage(V)

1.2 1 0.8 0.6 0.4 0.2 0 1.95

2

2.05

2.1

2.15 time(s)

2.2

2.25

2.3

2.35 −9

x 10

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.19/30

Eigenvalues and Noise Propagation OPL with maximum eigenvalue less than 1:

1.7

voltage(V)

1.6

1.5

1.4

1.3

1.2

2

2.2

2.4

2.6 time(s)

2.8

3

3.2 −9

x 10

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.19/30

Application to Circuit Design largest eigenvalue

Effects of varying stage delay 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10

15

20

25

30

35

time(ps)

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.20/30

Outline Robustness Small Signal Analysis

Large Signal Analysis

A circuit is a dynamic system

min ∆ in , s.t. ∆ out > ∆ in

Sensitivity Matrix

Eigenvalues identify propagating modes

Use numerical optimization to find propagating modes

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.21/30

Problem Formulation Measure disturbances with respect to a circuit with undisturbed signals. What is the smallest disturbance at the input of a gate that will create a disturbance that is at least as large as the input? Dynamic noise margin: min

P

P

P

△in (i)2 , s.t. 2

△out (i) ≥

P

△in (i)2

△in (i)2 > 0

Matlab’s optimization function fmincon is used to solve this problem. The sensitivity matrix helps to guide the search direction at each iteration. ∇(

P

△out (i)2 ) = 2S T △out

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.22/30

noise margin(V 2*ps)

Noise Margin with Input = 0 180

buffer(delay=75.9ps)

160 140 120

self−resetting domino(delay=70.6ps)

100 80

OPL(delay=70ps)

60

OPL(delay=50ps)

40

OPL(delay=40ps) OPL(delay=26ps)

20 0

0

5

10

15

gates in the chain

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.23/30

voltage(V)

voltage(V)

Noise with Input = 0 1.8

static buffer

1.6 1.4

self−resetting domino

1.6 1.4 1.2

voltage(v)

1.2 voltage(v)

1.8

1 0.8

1 0.8

0.6

0.6

0.4

0.4

0.2

0.2

0 40

50

60

70 80 time(*5ps)

90

0

100

0

5

10

25

opl(delay=70ps)

1

0.9

0.7

0.8

0.6

0.7

voltage(v)

voltage(v)

20

time(*5ps)

opl(delay=40ps)

0.8

15 time(*5ps)

voltage(V)

voltage(V)

time(*5ps)

0.5 0.4

0.6 0.5 0.4

0.3

0.3 0.2 0.2 0.1

0.1

0 35

40

45

50

55

time(*5ps) time(*5ps)

60

65

70

75

0 50

60

70

80

90

100

110

time(*5ps) time(*5ps)

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.24/30

250

buffer(delay=75.9ps)

2

noise margin(V *ps)

Noise Margin with Input = 1

200

150

100

OPL(delay=70ps) OPL(delay=50ps)

50

OPL(delay=40ps) 0

OPL(delay=26ps) 0

2

4

6

8

10

12

14

gates in the chain

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.25/30

Noise Margin of OPL Buffer 70 noise margin with input = 0 y = 2.754x−31.32 noise margin with input = 1 y=2.149x − 23.12

60

noise margin

50

40

30

20

10

0 25

30

35

40

45 50 delay(ps)

55

60

65

70

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.26/30

voltage

Noise Margin of OPL Buffer 0.4

1.2

input is 0

input is 1

0.2

1 0

0.8 −0.2

0.6 −0.4

0.4 −0.6

0.2 −0.8

0 0

10

20

30

40

50

−1

0

10

20

30

40

50

60

70

sample point

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.27/30

computation time(minutes)

Computation Time 200

+ x * o

180

160

OPL with input = 0 OPL with input = 1 inverter with input = 1 inverter with input = 0 domino with input = 0

140

120

100

80

60

40

20

0

0

5

10

15

gates in the chain

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.28/30

Summary Contribution: introduced the sensitivity matrix for robustness analysis of a circuit small signal stability analysis large signal dynamic noise margin quantified the timing stability of dynamic circuits

Future Work: explore other metrics such as l1 and l∞ explore energy vs. delay vs. robustness apply to other classes of circuits can we show global optimality? use “industrial strength” models

ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.29/30

The End Future Work: explore the other metric such as l1 and l∞ how to find a good initial condition? apply more sophisticate transistor models explore the optimization model to other circuits such as Differential Logic, Complex Domino Logic and so on.

Thanks! ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.30/30

The End Future Work: explore the other metric such as l1 and l∞ how to find a good initial condition? apply more sophisticate transistor models explore the optimization model to other circuits such as Differential Logic, Complex Domino Logic and so on.

Thanks! ICCAD 2005 — 08 NOV 2005 — Noise Margin Analysis for Dynamic Logic Circuits – p.30/30

˜ Noll. A physically ori[Gemmeke+ 04] T. Gemmeke and T.G. ented model to quantify the dynamic noise margin. In Proceeding of the 30th European Conference on Solid-State Circuits, pages 467–470, September 2004. [Larsson+ 94] P. Larsson and C. Svensson. Noise in digital dynamic cmos circuits. IEEE Journal of Solid-State Circuits, 29(6):655–662, June 1994. [McMurchie+ 00] Larry McMurchie, Su Kio, et al. Output prediction logic: A high-performance CMOS design technique. In Proceedings of the 2000 International Conference on Computer Design, pages 247–254, 2000. [Shepard+ 00] K.L. Shepard and K. Chou. Cell characterization for noise stability. IEEE 2000 Custom Integrated Circuits Conference, pages 91–94, 2000. [Shepard+ 96] K.L. Shepard and V. Narayanan. Noise in deep submicron digital design. In Proceedings of the 1996 International Conference on Computer Aided Design, pages 406–411, 1996. [Zolotov+ 02] V. Zolotov, D. Blaauw, et al. Noise propagation and failure criteria for vlsi designs. In

30-1

IEEE/ACM International Conference on Computer Aided Design, pages 587–594, November 2002.

30-1