Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

question about Hspice analysis accuration

Status
Not open for further replies.

fencl

Member level 1
Member level 1
Joined
Jun 17, 2008
Messages
35
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,562
Hi all.
I have a problem when use hspice for adc snr analysis.that's the ideal sin wave input isn't "ideal", i do snr calculation for this ideal sin gen by hspice ,but only got SNR < 60db(use .measure) ,while is over 140db gen by matlab.
so must have some set in .option i havn't do,since i have set for delmax,accurate,reltol,the time step is only 0.1ns,i read the manual for while,but still can't slove. could you have some idea or tell me how to do?

BTW,when use .print,from .lis we can got the data and the snr is > 80db, but when we do like this:
.tran '1/fs' 'M/fs'
the tstep become big and unaccurate,if tstep is small,such 0.1n,then we should got data pre '1/fs' form so long time by 0.1n step,that's huge
how you got data for snr (use hspice),from .measure or .print?
 

some suggestions:

1. hspice has started using .option runlvl settings that automatically controls your reltol,delmax etc..
i would suggest you to use .option runlvl=5 and remove reltol,delmax etc...

2. i am bit confused on your comments on tstep , can you please eleborate in details

3. are u using .tran t1 t2 sweep a 1 2 (sweep in transient)??

for .measure statements hspice use post processing at end of sim from transient waveform (tr0) file.
while .print are directly taken from simulations, so (3) above may help me to suggest some option to remove difference in .print and .measure data.

u can see .option itrprt and .option interp , measdgt , numdgt
these options will help u in better measure results


please help me with above, i may be able to help you further.
 

ankitgarg0312 said:
some suggestions:

1. hspice has started using .option runlvl settings that automatically controls your reltol,delmax etc..
i would suggest you to use .option runlvl=5 and remove reltol,delmax etc...

2. i am bit confused on your comments on tstep , can you please eleborate in details

3. are u using .tran t1 t2 sweep a 1 2 (sweep in transient)??

please help me with above, i may be able to help you further.

hi ankitgarg0312,
1. i have set accurate=1, in hspice manual ,this means autoset runlvl=5,is this poor priority compare with reltol,delmax etc...?if yes ,i'll remve them,since accurate=1 don't set their value.
2.i'm sorry for it ,i didn't use sweep. just similar with your reply,since measure is not accurate ,i got data from .print ,since .print will print data per tstep.so for my data ,i need catch each period('1/fs'),thus set tstep directly 1/fs will got it easy,
but it seems will influence accurate.especially when use Exx,Gxx in netlist.

thanks for telling me about the difference between .measure and .print.


i feel powerless with hspice sometimes.for eg. i have a test.sp ,it contain 3 unrelated subckt.such a,b,c,when i do simulation and do psd for them.i got vout snr and sfdr etc for them
then,i change subckt a(in it , some part instead of veriloga model for ideal) ,do simulation again, the result of vout_a is different. and the result of vout_b is different also(about several db,not to big)! but absolutely unrelated subckts! it make me so helpless when try to find which part influence result, since same conditon for different result.
i only guess it come from when hspice do opration convergence frist, thus for convergence it will auto set some .option.is it the reason for difference?if yes,how we can control for the same result. if not ,what maybe the reason?
 

hi,

i would suggest to try .option runlvl=6
this is best accuracy mode, and for adc accuracy is important.

other options like reltol,abstol,delmax were creating a lot of problem in term of ease of use so this new .option runlvl automatically sets everything.you can comment other settings.

tstep in .tran does not play any role in simulations algorithms ,this just controls printing resoultions and that too in case of transient sweep.

as your measure and print statement results are varying:

1. if possible try do fft from waveform viewer on same tr0 file and match results coming from hspice and wavefrom viewe.
2. use .option numdgt=10
.OPTION POST_VERSION=2001 POST=2
.option itrprt=1
this will ensure that all simulation data in coming in tr0

reason for changing output behavior of a block can be:
1. change in stimuli of block
2. if circuit can have multiple operating points then u can use .load/save command to load operating points again in new simulations
i will need more details to comments on this particular probelms.

also u can always file a case with solvnet , best way to get fastest support.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top