The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> noise_table function
https://designers-guide.org/forum/YaBB.pl?num=1202431856

Message started by ORNITORINCO on Feb 7th, 2008, 4:50pm

Title: noise_table function
Post by ORNITORINCO on Feb 7th, 2008, 4:50pm

Hello everyone,

I am trying to simulate PLL phase-noise in phase-domain using verilog-AMS description of each block under SpectreRF (I perform AC and NOISE analysis with analog_environment). To include the output phase noise spectrum I am following Kundert's guide "Predicting the Phase Noise of PLL-Based Frequency Synthesizers" and I am using the noise_table function to give the values of phase-noise for discrete points in frequency.

My problem is that I would like to have a piecewise-linear interpolation of the points in the log-log plot as it is usual in phase-noise spectrum description (dBc/Hz vs log(freq)). Is there anyone knowing how to do that?

Thanks!

Title: Re: noise_table function
Post by Geoffrey_Coram on Feb 12th, 2008, 6:40am

Your request has already been brought up for the next version of the V-AMS standard.

Title: Re: noise_table function
Post by Christoph on Feb 29th, 2008, 6:50am

Hi!
I was trying to do a similar thing in a Verilog-AMS model for spectre. Unfortunately spectre did not seem to support arrays. Did someone managed to create an array of (constant) real values?

Kind regards,

Christoph

Title: Re: noise_table function
Post by Geoffrey_Coram on Feb 29th, 2008, 12:57pm

Are you using a current version of Spectre?  I'm pretty sure it does support arrays.  

I have this in one of my modules ...

I(a,b) <+ noise_table({10.0,5.0,100.0,6.0,1000.0,10.0,1.0G,6.0},"tabnoi");

Title: Re: noise_table function
Post by Marq Kole on Mar 19th, 2008, 2:29pm

Currently Spectre still does not support array parameters and it will give an error when trying to initialize such a parameter with an array literal.
You will have to create a real array variable and assign it a value in an initial_step event if you want to use it that way.

Cheers,
Marq

Title: Re: noise_table function
Post by Geoffrey_Coram on Mar 20th, 2008, 6:14am

Marq -
I recall some problem with using array variables for noise_table; are you sure spectre supports this?

Title: Re: noise_table function
Post by neoflash on Oct 29th, 2009, 10:10am


Geoffrey_Coram wrote on Feb 29th, 2008, 12:57pm:
Are you using a current version of Spectre?  I'm pretty sure it does support arrays.  

I have this in one of my modules ...

I(a,b) <+ noise_table({10.0,5.0,100.0,6.0,1000.0,10.0,1.0G,6.0},"tabnoi");


Hi, Geoffery:

Is there any way that we put the table data in a file, then call it in the noise_table(function)?

I'm using verilogA in hspice.

Regards,
Neo

Title: Re: noise_table function
Post by Geoffrey_Coram on Nov 2nd, 2009, 5:33am

Verilog-AMS LRM 2.3 added support for using a filename input for noise_table.  I don't know how many simulators have implemented this as yet.


Quote:
When the input is a file name, the indicated file will contain the frequency / power pairs. The file name argument shall be constant and will be either a string literal or a string parameter. Each frequency / power pair shall be separated by a newline and the numbers in the pair shall be separated by one or more spaces or tabs. To increase the readability of the data file, comments may be inserted before or after any frequency / power pair. Comments begin with ‘#’ and end with a newline. The input file shall be in text format only and the numbers shall be real or integer.

Title: Re: noise_table function
Post by neoflash on Nov 2nd, 2009, 6:02am


Geoffrey_Coram wrote on Nov 2nd, 2009, 5:33am:
Verilog-AMS LRM 2.3 added support for using a filename input for noise_table.  I don't know how many simulators have implemented this as yet.


Quote:
When the input is a file name, the indicated file will contain the frequency / power pairs. The file name argument shall be constant and will be either a string literal or a string parameter. Each frequency / power pair shall be separated by a newline and the numbers in the pair shall be separated by one or more spaces or tabs. To increase the readability of the data file, comments may be inserted before or after any frequency / power pair. Comments begin with ‘#’ and end with a newline. The input file shall be in text format only and the numbers shall be real or integer.

I think that's why I failed to do so in hspice. HSPICE doesn't support AMS extension yet.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.