Hi Paul, Geoffrey,
For all other noise source operators in Verilog-A (white_noise, flicker_noise) the name of the source is always present as a last optional argument, so I like Geoffrey's proposal better as that sticks to this convention.
The suggestion to have a table control string for the noise_table operator as well is intriguing. As an alternative, may I suggest an implementation with a wider scope?
I would really like to have a general 1-port small-signal parameter table that relates values against frequencies. So unlike the laplace operators that require polynomial or root-product descriptions of the transfer function, a 1-port table could use measurement data. By combining multiple 1-port elements you can create multi-port small-signal functions from 1-port functions. I would assume also that by combining a white_noise source by such a 1-port table you could recreate the noise-table functionality, but in a more general way. Such a 1-port table model might also open up the possibilities to support standard S-parameter (noise) formats such as touchstone, something that's not possible with today's noise_table. The 1-port table model would have a structure akin to the $table_model, but as it requires time-frequency conversion (as the laplace operator) it would be an operator rather than a system function.
Cheers,
Marq
-----Original Message-----
From: owner-verilog-ams@eda.org [mailto:owner-verilog-ams@eda.org] On Behalf Of Paul Floyd
Sent: Thursday, April 12, 2012 9:20 PM
To: VerilogAMS Reflector
Cc: Geoffrey Coram
Subject: Re: noise_table question
Geoffrey Coram wrote:
> Was there ever a proposal of how to request log-log interpolation
> for noise_table ?
>
> Does any simulator support it?
Not that I know of.
>
> The current syntax is:
> noise_table ( input [ , name ] )
>
> where input can be a vector or a string (filename), and name is a string.
>
> We could require the noise have a name to request interpolation:
> noise_table ( input [ , name [, interp ] ] )
>
> Or we could let the type of the 2nd argument determine what it is:
> noise_table ( input [ , name ] )
> noise_table ( input [ , log_interp ] [, name ] )
>
> where log_interp would be 0 or 1 (an integer).
>
For the grammar I would suggest
noise_table ( input [ , name_or_null [, interp ] ] )
There is some similarity between this idea and $table_model and its
control strings. noise_table could use a similar approach with a control
string (and $table_model could be extended to have logarithmic
interpolation at the same time).
Regards
Paul Floyd
-- Dr Paul Floyd Mentor Graphics Corporation -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Fri Apr 13 00:46:09 2012
This archive was generated by hypermail 2.1.8 : Fri Apr 13 2012 - 00:46:20 PDT