Design by DS toolbox - Oregon State...

15
ΔΣ ADC Design Examples by Schreier’s DS Toolbox Derek Chen 5/18/2015 1/15

Transcript of Design by DS toolbox - Oregon State...

Page 1: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

ΔΣ ADC Design Examples by Schreier’s DS Toolbox

Derek Chen5/18/2015

1/15

Page 2: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Resources

2

Tutorial:Brian Young’s final report & presentation slides

Schreier’s Toolbox and manual:http://www.mathworks.com/matlabcentral/fileexchange/19-delta-sigma-toolbox

Simulink toolbox by Prof. Maloberti & Malcovatihttp://ims.unipv.it/Courses/Dataconv.php

Prepare yourself

Page 3: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Project Assignment

3

Pre-design

SQNR, SNRSNR is limited by thermal noise (kT/C) SQNR> SNR +10 dB. Determined by Order, Quantizer’s level.

Architecture of the modulatorfeedback, feedforward.

Simulation techniquesnumber of simulation samples and spectra by FFT

Page 4: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

4

Typical ∆Σ Modulators

0

1 1

( ) 1( ) ( ) ( ) ( ) ( ) ( ) ( )1 ( ) 1 ( )

L zV z STF z U z NTF z E z U z E zL z L z

Page 5: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

1. SQNR vs. Order, OSR

5

Page 6: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Peak SQNR estimation

6

(6.02 1.76) 10 log( ) 20 log OSRSQNR B OSR N

Internal quantization: B-bit

Plain oversampling Noise-shaping

Nth-order

211 1 11

12 / 2 12 2 1

NNLSB LSB

Es

V VP z dff OSR OSR N

2 / 810 log( )FS

E

VSQNRP

oversampling

oversampling + noise‐shaping

Example: 2‐bit, OSR=32, 2nd‐order  peak SQNR = 6*2 + 3*5 + 2*20 = 67 dB

Page 7: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

1.1 NTF Synthesis

7

NTF627 = synthesizeNTF (order, osr, 1, Hinf);

Zero/pole/gain:(z^2 - 1.999z + 1) (z^2 - 1.993z + 1)

---------------------------------------------------------------(z^2 - 1.303z + 0.4368) (z^2 - 1.534z + 0.7037)

103

104

105

106

107

108

-120

-100

-80

-60

-40

-20

0

20NTF STF Spectrum

Mag

nitu

de (

dB)

Frequency (Hz)

-1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1pole/zero diagram

plotPZ(NTF627)[num,den] = tfdata(NTF627, ‘v’);[mag_ntf, wT] = freqz (num_ntf, den_ntf, 8192);semilogx(wT/(2*pi*fs), 20*log10(abs(mag_ntf)) );

Page 8: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

1.2 Verify SQNR by toolbox

8

u = vp*sin(2*pi*fsig/fs*[0:16383]);v = simulateDSM (order, osr, 1, Hinf);

-80 -70 -60 -50 -40 -30 -20 -10 00

20

40

60

80

100

120

Amplitude (dB)

SN

R (d

B)

SNR (dB) v.s. Amplitude (dB)

peak SNR = 107.4dB

Amp = [-80:5:10 -9:0.5:0];v = simulateSNR (ntf, osr, amp, f0, nlev);

Page 9: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

2. Realize NTF into coefficient

9

(z^2 - 1.999z + 1) (z^2 - 1.993z + 1)NTF627 = ---------------------------------------------------------------

(z^2 - 1.303z + 0.4368) (z^2 - 1.534z + 0.7037)

[a,g,b,c]

[a, g, b, c] = realizeNTF(NTF627, CIFB);

ABCD Maxtix

ABCD = stuffABCD (a, g, b, c, CIFB);

Scale the internal nodes

[ABCDs, umax] = scaleABCD (ABCD, nlev, 0, 1, 7);

Adjust the coefficients a, g, b, c

[a, g, b, c] = mapABCD (ABCDs, CIFB);

Page 10: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Verify your final NTF & STF

10

[ntf, stf] = calculateTF (ABCDs, 1);

103

104

105

106

107

108

-120

-100

-80

-60

-40

-20

0

20

Frequency (Hz)

Mag

nitu

de (

dB)

NTF STF Spectrum

NTFSTF

Generate NTF from your ABCDs. Plot PSD (commands on page 2).

Page 11: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

3. Simulink Models

11

delay integratorBuilt-in SDtool in Simulink Library Browser

Page 12: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Peak SQNR @ -2 dBFS

12

104

105

106

107

108

109

-180

-160

-140

-120

-100

-80

-60

-40

-20

04th-Order CIFB Delta Sigma ADC; VP= -2dB; Freq=2.5MHz; CLK=640MHz

SNR = 104.5dB

Page 13: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Simulink simulation vs. synthesized NTF

13

-80 -70 -60 -50 -40 -30 -20 -10 00

20

40

60

80

100

120

Amplitude (dB)

SN

R (d

B)

SNR (dB) v.s. Amplitude (dB)

peak SNR = 107.4dB

SimulinkNTF synthesis

Simulink (p.11) vs. synthesized NTF (p. 8)

Page 14: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Simple Debug Techniques

14

Swing at every integrator node should be bounded within VREF.

Use a smaller input amplitude if not stable.

Sweep the amplitude. Plot SQNR vs. amplitude.

FFT points and window (ds_hann).

Make everything right at Matlab before you start to build the circuits at Cadence.

0 2000 4000 6000 8000 10000 12000 14000 16000 18000-0.2

0

0.2int1 output

0 2000 4000 6000 8000 10000 12000 14000 16000 18000-0.5

0

0.5int2 output

0 2000 4000 6000 8000 10000 12000 14000 16000 18000-0.2

0

0.2int3 output

0 2000 4000 6000 8000 10000 12000 14000 16000 18000-0.2

0

0.2int4 output

0 2000 4000 6000 8000 10000 12000 14000 16000 18000-1

0

1adder output

Page 15: Design by DS toolbox - Oregon State Universityclasses.engr.oregonstate.edu/eecs/spring2016/ece627/Lecture Notes... · Schreier’s Toolbox and manual: ... 0 2000 4000 6000 8000 10000

Summary

15

1. Determine: order, OSR, quantizer level, modulator type.

2. Synthesize NTF.

3. Realize the coefficient [a, b, c, g] of the modulator.

4. Map the coefficient to internal states ABCD and scale the ABCD.

5. Realize again the coefficient [a, b, c, g] by ABCD. Round-off the [a, b, c ,g] manually by yourself.

6. Simulink simulation. Check the SQNR vs amplitude and integrator swing.

7. Circuit simulation at Candence.