RE: noise_table question

From: Marq Kole <marq.kole@nxp.com>
Date: Fri Apr 13 2012 - 00:45:36 PDT

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