electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

How to simulate SFDR of a 12-Bit DAC


Post new topic  Reply to topic    EDAboard.com Forum Index -> Analog Circuit Design -> How to simulate SFDR of a 12-Bit DAC
Author Message
waosai



Joined: 22 Aug 2004
Posts: 48


Post18 Apr 2006 2:30   

dac sfdr


I want to test my DAC's SFDR spec in Hspice.
The spec. of the DAC is: 125-MHz/12-Bit
Someone tells me use the following relationship to setup my FFT analysis in hspice:
np*Tck=Tsig*N
where np is the sampling points with the value of 1024 usually; Tck=1/125MHz is the period of clock; Tsig is the period of sine wave; N the numbers of signal (N must be odd).
Then using FFT statement in hspice:

..................................
.param N=99
.param np=1024
.param fck=125E6
.param Tck=1/fck
.param starttime=100n
.param stoptime='starttime+np*Tck'
.fft v(out) np=1024 from=starttime to=stoptime
......................................

Anyone can tell me whether the above statement is right?
And another question. The scale of the circuit is very large. So it requires large time to complete the simulation for hspice(about two weeks on my pc, using hsim). Is there any method to solve this problem?
Back to top
chungming



Joined: 23 Mar 2006
Posts: 100
Helped: 7


Post18 Apr 2006 3:24   

sfdr dac


waosai wrote:
I want to test my DAC's SFDR spec in Hspice.
The spec. of the DAC is: 125-MHz/12-Bit
Someone tells me use the following relationship to setup my FFT analysis in hspice:
np*Tck=Tsig*N
where np is the sampling points with the value of 1024 usually; Tck=1/125MHz is the period of clock; Tsig is the period of sine wave; N the numbers of signal (N must be odd).
Then using FFT statement in hspice:

..................................
.param N=99
.param np=1024
.param fck=125E6
.param Tck=1/fck
.param starttime=100n
.param stoptime='starttime+np*Tck'
.fft v(out) np=1024 from=starttime to=stoptime
......................................

Anyone can tell me whether the above statement is right?
And another question. The scale of the circuit is very large. So it requires large time to complete the simulation for hspice(about two weeks on my pc, using hsim). Is there any method to solve this problem?


First i am not fimiliar with DAC , i just a beginer of sigma delta ADC.
But I find your statement have a problem.......
N is not just an odd number , it must be a prime number like: 7, 11,13,17,19,23,29,31.........
N/np=Fin/(sampling freq)
And your spec is 12bit , your np may be too samll , may be np=4096 will have a better result, but longer simulation time............
Back to top
waosai



Joined: 22 Aug 2004
Posts: 48


Post18 Apr 2006 4:00   

sfdr simulation


That's a good advice. However I also have questions.
(1)What's the meaning of "better results" and how to determine the value of np?
(2)Why should N be a prime number? If Fin/(sampling freq)=4, np=4096, then N=1024? How is prime number got?

Thanks a lot!
Back to top
chungming



Joined: 23 Mar 2006
Posts: 100
Helped: 7


Post18 Apr 2006 4:39   

sfdr hspice


sorry i am not english native
my english is not so good can explain it
the pdf is the reference of it
may be can help you

http://www.analog.com/UploadedFiles/Associated_Docs/495568568Section8.pdf
Back to top
waosai



Joined: 22 Aug 2004
Posts: 48


Post18 Apr 2006 4:59   

hspice dac sfdr


Anyway thanks a lot!
Back to top
lovseed



Joined: 16 Mar 2006
Posts: 50


Post19 Apr 2006 7:47   

dac fft


The basic idea to have np*Tck=Tsig*N lies in that when you have np samping points, the total time is np*Tck, and the signal will have experienced N complete cycles. It is very important to have integer data cycles, otherwise spectral leakage will occur in FFT analysis.

usually np should be power of 2 because of the FFT intrinsic characterics. To determine Tsig, you can use two method:
(1) nyquist frequency : when you saying that your DAC can work with 125M sampling, it means that for data frequency up to nyquist frequency rate, the DAC will still work properly. In reality, you can choose a data freq very close nyquist frequency(75.5MhZ). i.e you can choose 15/32 * 125M or 31/64*125M
(because np is power of 2, you can see why we use 32, 64 ...)
(2) just set data freq to 1M-10M as your application cares. you DAC will surely show better performance than (1).

As for np, 512 point is enough, otherwise the simualtion time is un-endurablely long, and you have no other method to speed up the post-layout simulation with enough accuracy.

you'd better pick out the discrete stable sampling points(not with those points still in oscillating) from your post-layout simulation and use this data to run discrete FFT with matlab. This gives the true SFDR,SNDR when DAC settles down.
Direct FFT analysis in HSPICE surely will have a worse result, because the overshoots, noise, oscillation are all contained in the transient result.

Finally you need to make sure your input digital code is right at the beginning of your simulation. This digital code usually is generated by a script asuming a fsig data sampled and converted by an ideal ADC and the output of the ADC is the digital code to be feed to DAC.
Back to top
gdhp



Joined: 07 Jan 2005
Posts: 119
Helped: 1


Post01 Jun 2006 9:43   

simulating sfdr


hi waosai
for simulate SFDR in hsice, how can i generate a digital sin wave? Can you tell me the detail?
Thank you!
Back to top
Vamsi Mocherla



Joined: 06 Sep 2004
Posts: 482
Helped: 62


Post01 Jun 2006 9:52   

how to measure period of a wave in hspice


Hey very importantly for a DAC, you should make sure that the width of sampling period should match the settling of your sampled output. That means you have to take atleast a point after every settled sample of the DAC. This period is very critical to give the right SFDRs.

If you are using HSPICE, only punch values at the end of each sampling period @ 125 MHz. These values shall be subjected to FFT then. Or else, the measured values will give rise to distortion components.

Digital Sinewave can be generated using MATLAB or Verilog A models. If you have access to Cadence environment, use Verilog A model for 12 bit ADC @ 125 MHz to generate the digital sinewave. If you use MATLAB, then you have to convert the signals to analog PWL sources in SPICE. A program called BITGEN can be used for this. It should be freely available on the web
Back to top
paladinzlp



Joined: 02 Feb 2005
Posts: 149
Helped: 4


Post06 Jun 2006 16:05   

sfdr simulation of dac


hai gdhp
You can design a ideal 12bit ADC using hspice and
input sin wave when you only hspice.
Of course , you can use verilog-A design model to design the ideal ADC when cadence environment.
Back to top
Google
AdSense
Google Adsense




Post06 Jun 2006 16:05   

Ads




Back to top
gdhp



Joined: 07 Jan 2005
Posts: 119
Helped: 1


Post07 Jun 2006 2:53   

hspice dac sfdr fft


thank you paladinzlp
i know your mean
Back to top
gdhp



Joined: 07 Jan 2005
Posts: 119
Helped: 1


Post21 Jul 2006 6:34   

what is sfdr and how is it measured


hi lovseed:
in you reply"you'd better pick out the discrete stable sampling points(not with those points still in oscillating) from your post-layout simulation and use this data to run discrete FFT with matlab. This gives the true SFDR,SNDR when DAC settles down.
Direct FFT analysis in HSPICE surely will have a worse result, because the overshoots, noise, oscillation are all contained in the transient result. "

i have some question about the fft simulation:
1) how can you verify the point you get in the fft is the settled points? Especially in MATLAB how to choose the point ?
Back to top
lovseed



Joined: 16 Mar 2006
Posts: 50


Post26 Jul 2006 3:39   

12-bit sinewave on matlab


gdhp wrote:
hi lovseed:
in you reply"you'd better pick out the discrete stable sampling points(not with those points still in oscillating) from your post-layout simulation and use this data to run discrete FFT with matlab. This gives the true SFDR,SNDR when DAC settles down.
Direct FFT analysis in HSPICE surely will have a worse result, because the overshoots, noise, oscillation are all contained in the transient result. "

i have some question about the fft simulation:
1) how can you verify the point you get in the fft is the settled points? Especially in MATLAB how to choose the point ?


I think your design spec will specify the settling time of your DAC (say 15ns).
First make sure your design meet the spec, then you can measure the point 15ns after the ouput begin to transition.

Correction to my previous statement.
HSPICE fft analysis can also gain good result, if you specify the fft start time point , end time point, and np correctly. make sure the waveform duration you performed fft is of interger times of the data period.
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> Analog Circuit Design -> How to simulate SFDR of a 12-Bit DAC
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
how to simulate the INL DNL and SFDR of DAC with hspice? (5)
Maximum SFDR for a 10 bit DAC (3)
If I want to simulate the SFDR of a 8bit DAC (8)
How to hspice simulate PWM one bit DAC INL DNL (2)
How to measure SFDR of DAC (5)
how to simulate the INL and DNL, SFDR in hspice? (1)
How simulate SNR,SNDR, and SFDR of ADC with candence??? (4)
How to simulate a DAC (2)
How to simulate an analog DAC?? (3)
DAC & SFDR (9)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS