The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Semiconductor Devices >> freq and bias dependent noise sources
https://designers-guide.org/forum/YaBB.pl?num=1084404960

Message started by Jess_Chen on May 12th, 2004, 4:36pm

Title: freq and bias dependent noise sources
Post by Jess_Chen on May 12th, 2004, 4:36pm

In Spectre, I can specify the frequency dependence of a general noise source using either a file or direct point-by-point entry. Does anyone know if I can make that source depend on an operating point variable too, like a bias current?

Title: Re: freq and bias dependent noise sources
Post by Frank Wiedmann on May 13th, 2004, 2:44am

You could use the multiplier from the ahdlLib for this purpose. Simply connect the noise source to one input terminal and a voltage- or current-controlled voltage source that senses the desired quantity to the other. You might want to modify the multiplier code in order to obain a floating noise voltage or a noise current at the output.

Title: Re: freq and bias dependent noise sources
Post by Jess_Chen on May 13th, 2004, 8:43am

Thanks for the response. From your answer, I assume there is no single Spectre primitive or VerilogA/AMS enhancement that applies here. I just wanted to check for a direct solution before diving in. Thanks again.

Title: Re: freq and bias dependent noise sources
Post by Andrew Beckett on May 13th, 2004, 10:56am

Hi Jess,

You might be able to do it with a combination of vsource and bsource? (I've not tried, but it _ought_ to work).

Or you could use Verilog-A - but then you know that  ;D

Andrew.


Title: Re: freq and bias dependent noise sources
Post by Jess_Chen on May 13th, 2004, 11:40am

Hi Andrew,

Good to hear from you. Thanks for the response. Just to be sure I understood it, by vsource and bsource you are referring to voltage and behavioral sources? In particular, polynomial sources?

I am contemplating using polynomial sources just to make it easier for non-VerilogA speaking engineers to use.

              -Jess

Title: Re: freq and bias dependent noise sources
Post by Andrew Beckett on May 13th, 2004, 3:18pm

Jess,

By bsource, I mean spectre's Behavioural source component, which was released (officially) in IC5033. It's there in some earlier subversions, but is hidden from spectre -h.

It can be used to model arbitrary expressions of voltage and current of other signals, so in this respect it is more flexible than a polynomial controlled source (which might be what you're referring to?).

See "spectre -h bsource" for more details.

In practice it uses Verilog-A internally, but uses the compiled Verilog-A mode which is coming fully in IC5141 (where Verilog-A compiles to a shared library). So the performance is pretty good! And for simple complex expressions (if you get my oxymoron) it's a handy way of implementing things without the need to go as far as using Verilog-A.

Here's some examples from the help:


Code:
Voltage and Current (Sinewave) Source
        vsrc (n1 n2) bsource v=10.0*sin(2*pi*freq*$time)
        isrc (n1 n2) bsource i=1.0e-3*sin(2*pi*freq*$time)

Current controlled current source
        vsrc (n1 n2) vsource v=10
        cccs1 (n3 n4) bsource i=gain*i("vsrc:0")

Current controlled voltage source
        vsrc (n1 n2) vsource v=10
        ccvs1 (n3 n4) bsource v=100*i("vsrc:0")

Voltage controlled voltage source
        vsrc (n1 n2) resistor r=100k
        vcvs1 (n3 n4) bsource v=gain*v(n1,n2)


You can have the bsource represent resistors, capacitors, inductors as well.

Cheers,

Andrew.

Title: Re: freq and bias dependent noise sources
Post by Jess_Chen on May 13th, 2004, 4:48pm

Excellent! I did not know about the bsources and I think they will do the trick. I'll check them out. Thanks Andrew.

             -Jess

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