Hi <@U01SBMJT5BP>, I'm having a hard time trying ...
# xyce
y
Hi @User, I'm having a hard time trying to simulate the noise spectral density curves in Xyce. It seems like the output I am getting is the running integral over frequency and not the spectral density at each frequency. The simulation I use looks like this:
Copy code
.options device temp=27
.lib /pdk/sky130_xyce/models/sky130.lib.spice tt
XM vd vg 0 0 sky130_fd_pr__nfet_01v8 w=1 l=1
VVg vg 0 0.8 AC 0.0
VVd vd 0  1.8
HH1 out 0  VVd 1
.noise v(out) VVd dec 10 1 1G
.print noise inoise onoise
.end
Using the spice model from here: sky130_reveda The output is flat for most of the frequency band with a very slight increase at the high end. Instead I expect to see the normal FET noise response with 1/f noise blending into white noise. I've run the same netlist through ngspice and got the result I expected. It's probably some command I'm missing but any help would be greatly appreciated. Thanks, Thomas
e
@User so I have been slow to reply. I will take a look at this.
@User I finally looked at this. Sorry it took so long. One quick observation in this netlist is that you appear to be setting the AC magnitude (on VGg) to 0.0. Is that what you intended?
Also, I quickly ran an equivalent circuit in ngspice, and ngspice refuses to run it without a nonzero AC source. Xyce didn’t have an error trap for this, but apparently ngspice does. So, I’m adding a warning to the Xyce AC source device.
y
@User that's a fair point, I might have added that AC=0 incorrectly. I'm trying to characterise the noise current of a single FET. In this case there is no input which makes things tricky.
Even adding AC 1 for VVg I don't really get the output I'd expect, the noise is flat with a slight increase towards 1 GHz
Copy code
Index       FREQ             INOISE            ONOISE      
0        1.00000000e+00    7.30141144e-16    1.77657371e-24
1        1.25892541e+00    7.30141144e-16    1.77657371e-24
2        1.58489319e+00    7.30141144e-16    1.77657371e-24
3        1.99526231e+00    7.30141144e-16    1.77657371e-24
4        2.51188643e+00    7.30141144e-16    1.77657371e-24
5        3.16227766e+00    7.30141144e-16    1.77657371e-24
6        3.98107171e+00    7.30141144e-16    1.77657371e-24
7        5.01187234e+00    7.30141144e-16    1.77657371e-24
8        6.30957344e+00    7.30141144e-16    1.77657371e-24
9        7.94328235e+00    7.30141144e-16    1.77657371e-24
10       1.00000000e+01    7.30141144e-16    1.77657371e-24
11       1.25892541e+01    7.30141144e-16    1.77657371e-24
12       1.58489319e+01    7.30141144e-16    1.77657371e-24
13       1.99526231e+01    7.30141144e-16    1.77657371e-24
14       2.51188643e+01    7.30141144e-16    1.77657371e-24
15       3.16227766e+01    7.30141144e-16    1.77657371e-24
16       3.98107171e+01    7.30141144e-16    1.77657371e-24
17       5.01187234e+01    7.30141144e-16    1.77657371e-24
18       6.30957344e+01    7.30141144e-16    1.77657371e-24
19       7.94328235e+01    7.30141144e-16    1.77657371e-24
20       1.00000000e+02    7.30141144e-16    1.77657371e-24
21       1.25892541e+02    7.30141144e-16    1.77657371e-24
22       1.58489319e+02    7.30141144e-16    1.77657371e-24
23       1.99526231e+02    7.30141144e-16    1.77657371e-24
24       2.51188643e+02    7.30141144e-16    1.77657371e-24
25       3.16227766e+02    7.30141144e-16    1.77657371e-24
26       3.98107171e+02    7.30141144e-16    1.77657371e-24
27       5.01187234e+02    7.30141144e-16    1.77657371e-24
28       6.30957344e+02    7.30141144e-16    1.77657371e-24
29       7.94328235e+02    7.30141144e-16    1.77657371e-24
30       1.00000000e+03    7.30141144e-16    1.77657371e-24
31       1.25892541e+03    7.30141144e-16    1.77657371e-24
32       1.58489319e+03    7.30141144e-16    1.77657371e-24
33       1.99526231e+03    7.30141144e-16    1.77657371e-24
34       2.51188643e+03    7.30141144e-16    1.77657371e-24
35       3.16227766e+03    7.30141144e-16    1.77657371e-24
36       3.98107171e+03    7.30141144e-16    1.77657371e-24
37       5.01187234e+03    7.30141144e-16    1.77657371e-24
38       6.30957344e+03    7.30141144e-16    1.77657371e-24
39       7.94328235e+03    7.30141144e-16    1.77657371e-24
40       1.00000000e+04    7.30141144e-16    1.77657371e-24
41       1.25892541e+04    7.30141144e-16    1.77657371e-24
42       1.58489319e+04    7.30141144e-16    1.77657371e-24
43       1.99526231e+04    7.30141144e-16    1.77657371e-24
44       2.51188643e+04    7.30141144e-16    1.77657371e-24
45       3.16227766e+04    7.30141144e-16    1.77657371e-24
46       3.98107171e+04    7.30141144e-16    1.77657371e-24
47       5.01187234e+04    7.30141143e-16    1.77657371e-24
48       6.30957344e+04    7.30141143e-16    1.77657371e-24
49       7.94328235e+04    7.30141143e-16    1.77657371e-24
50       1.00000000e+05    7.30141143e-16    1.77657371e-24
51       1.25892541e+05    7.30141143e-16    1.77657371e-24
52       1.58489319e+05    7.30141142e-16    1.77657371e-24
53       1.99526231e+05    7.30141142e-16    1.77657371e-24
54       2.51188643e+05    7.30141140e-16    1.77657371e-24
55       3.16227766e+05    7.30141139e-16    1.77657371e-24
56       3.98107171e+05    7.30141136e-16    1.77657371e-24
57       5.01187234e+05    7.30141131e-16    1.77657371e-24
58       6.30957344e+05    7.30141124e-16    1.77657371e-24
59       7.94328235e+05    7.30141112e-16    1.77657371e-24
60       1.00000000e+06    7.30141093e-16    1.77657371e-24
61       1.25892541e+06    7.30141064e-16    1.77657371e-24
62       1.58489319e+06    7.30141017e-16    1.77657371e-24
63       1.99526231e+06    7.30140943e-16    1.77657371e-24
64       2.51188643e+06    7.30140825e-16    1.77657371e-24
65       3.16227766e+06    7.30140639e-16    1.77657371e-24
66       3.98107171e+06    7.30140344e-16    1.77657371e-24
67       5.01187234e+06    7.30139876e-16    1.77657371e-24
68       6.30957344e+06    7.30139134e-16    1.77657371e-24
69       7.94328235e+06    7.30137958e-16    1.77657371e-24
70       1.00000000e+07    7.30136096e-16    1.77657371e-24
71       1.25892541e+07    7.30133143e-16    1.77657371e-24
72       1.58489319e+07    7.30128464e-16    1.77657371e-24
73       1.99526231e+07    7.30121047e-16    1.77657371e-24
74       2.51188643e+07    7.30109294e-16    1.77657371e-24
75       3.16227766e+07    7.30090666e-16    1.77657371e-24
76       3.98107171e+07    7.30061145e-16    1.77657372e-24
77       5.01187234e+07    7.30014363e-16    1.77657372e-24
78       6.30957344e+07    7.29940231e-16    1.77657372e-24
79       7.94328235e+07    7.29822769e-16    1.77657373e-24
80       1.00000000e+08    7.29636683e-16    1.77657374e-24
81       1.25892541e+08    7.29341950e-16    1.77657376e-24
82       1.58489319e+08    7.28875318e-16    1.77657380e-24
83       1.99526231e+08    7.28136978e-16    1.77657385e-24
84       2.51188643e+08    7.26969846e-16    1.77657393e-24
85       3.16227766e+08    7.25127713e-16    1.77657406e-24
86       3.98107171e+08    7.22227175e-16    1.77657426e-24
87       5.01187234e+08    7.17677367e-16    1.77657458e-24
88       6.30957344e+08    7.10582673e-16    1.77657508e-24
89       7.94328235e+08    6.99621246e-16    1.77657589e-24
90       1.00000000e+09    6.82924768e-16    1.77657716e-24
End of Xyce(TM) Simulation
Here's the updated netlist with the Xyce outputs and the plot from ngspice
e
@User thanks. I’ll try these.
y
Hmmm, not fully fixed as it seems Xyce only supports BSIM 4.6.1 which doesn't have TNOIMOD=2 so the model I'm using (not sky130) has a funky noise PSD
e
I wanted to mention that we’ve been working on adding more recent versions of the BSIM4, including the noise model. 4.7 is now in the development branch, and we’re working on 4.8
y
That's great to hear. Thanks for the update @Eric Keiter
👍 1