• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Noise Figure of track and hold circuit

Stats

  • Locked Locked
  • Replies 17
  • Subscribers 125
  • Views 21841
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Noise Figure of track and hold circuit

Alok110
Alok110 over 4 years ago

Hi, I am trying to get Noise Figure in track and hold circuit with RC>>Ts/2. My ckt is like RC low pass filter {Port(with res=50) + switch + cap to gnd }

NF= 10logF,  where F is Noise Factor
and F = (Ni+Nsys)/Ni.

In my circuit Nsys = 0 (Sys include only switch and cap, there is no res(noise generator)). so, F should be =1, so the Noise figure should be = 0.
But, cadence giving me F = 1.96  and NF = 2.92 dB. (I am measuring it with Pss+Pnoise)


what I am doing wrong?

                            

Fullscreen netlist.txt.txt Download
// Library name: PHD22
// Cell name: switching
// View name: schematic
W0 (Prt net02 clk 0) relay vt1=1m vt2=500.0m ropen=1T rclosed=1.0
C1 (net02 0) capacitor c=c
V1 (clk 0) vsource type=pulse val0=0 val1=500.0m period=1/f width=1/(2*f) \
        fundname="CLK"
PORT1 (Prt 0) port r=r dc=DC/2 type=sine freq=frf ampl=Amp/2 mag=Ac_mag/2 \
        isnoisy=yes
Fullscreen Input(scs).txt Download
// Generated for: spectre
// Generated on: Aug 14 21:28:57 2021
// Design library name: PHD22
// Design cell name: switching
// Design view name: schematic
simulator lang=spectre
global 0
parameters r=50 frf=50M f=50000k c=1000n DC=0 Amp=1 Ac_mag=0

// Library name: PHD22
// Cell name: switching
// View name: schematic
W0 (Prt net02 clk 0) relay vt1=1m vt2=500.0m ropen=1T rclosed=1.0
C1 (net02 0) capacitor c=c
V1 (clk 0) vsource type=pulse val0=0 val1=500.0m period=1/f width=1/(2*f) \
        fundname="CLK"
PORT1 (Prt 0) port r=r dc=DC/2 type=sine freq=frf ampl=Amp/2 mag=Ac_mag/2 \
        isnoisy=yes
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
    digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
    checklimitdest=psf 
pss  pss  fund=50M  harms=20  errpreset=liberal  autotstab=yes
+    saveinit=yes  method=gear2only  tstabmethod=gear2only  maxacfreq=50G
+    annotate=status
pnoise  (  net02  0  )  pnoise  start=1  stop=25M
+       maxsideband=1000  iprobe=PORT1  refsideband=0
+       noisetype=timeaverage  noiseout=[usb]  annotate=status
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
saveOptions options save=all

 

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear Alok110,

    Alok110 said:

    In my circuit Nsys = 0 (Sys include only switch and cap, there is no res(noise generator)). so, F should be =1, so the Noise figure should be = 0.
    But, cadence giving me F = 1.96  and NF = 2.92 dB. (I am measuring it with Pss+Pnoise)


    what I am doing wrong?

    Just reading your description, Alok110, does not really give me the full picture of your circuit and simulation results to be honest - I apologize if I am overlooking something!

    However, I do see a number of items that I consider "red flags" and list them below.

    1. Did you check to make sure the port resistance of 50 ohms has its noise term disabled? There is an option for it to produce noise and want to make sure it is, indeed, noiseless.

    2. You have set the number of "output harmonics" in your pss analysis GUI to 0. Is this really reasonable for a sampled signal (especially since you chose a "Shooting method" for your pss analysis)?

    3. I have personally never seen anyone select the "liberal" level of simulation accuracy for a css analysis. Why are you choosing such a relaxed tolerance (especially for such a small circuit). The accuracy of your steady-state solution may be compromised and this will clearly impact the accuracy of your estimated NF. Are you using spectre or spectre with +aps or ++aps or spectre X? You did not indicate and did not include any log files (which would be exceedingly useful to understand your results).

    4. With the "liberal" level of simulation accuracy, did you visually  inspect the pss solution? Did you run a companion conventional analysis and compare the estimated pss solution waveform to the transient waveform after it reaches steady-state to see if the pss solution appears close to that of the transient steady-state solution?

    5. In your PSS analysis, it appears you are not saving the transient results. Is there a reason you are not? It can be helpful. You also are not specifying a value for tstab. I would suggest you might consider setting it to a time when your conventional transient simulation appears to be close to its steady-state waveform.

    We recently had a similar set of discussions concerning a noise figure analysis for a track and hold circuit using pss and you might want to review its contents if you have not seen it. I think it may be provide you some added insights.

    community.cadence.com/.../question-on-pss-pnoise-simulation-for-a-track-and-hold-circuit

    Shawn

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ShawnLogan

    If the original poster could post the input.scs so that I can see all the options used and parameter values, that would help - then I can think about this properly and check the results so I can point what (if anything) you're doing wrong.

    A few quick comments on Shawn's suggestions (sorry for countering some of them Shawn...):

    1. You can't make the port noiseless, because then you can't compute noise figure. Noise figure is the ratio of signal/noise at the input to signal/noise at the output, and hence you need noise at the input to avoid the zero denominator.
    2. There's no issue with having 0 harmonics in the PSS - that's just an output parameter, and unless you're particularly interested in looking at the harmonics of the clock signal throughout the circuit, it doesn't really matter - the PSS solution is computed regardless (the only reason for setting it might be to ensure there are sufficient harmonics in the solution to include high frequency noise - maxacfreq would be another way of doing that without outputting any frequency domain data from the PSS)
    3. Yes, this is unusual, but not sure it's the reason for the issue. As you said, it's a pretty pointless optimisation for such a small circuit, so I'd set it to moderate at least.
    4. Always worth checking the time-domain periodic solution from PSS (and frequency domain in general, although not that useful in this case). That said, it's not that clear to look at just the clock propagation here - but at least you can spot if something is wrong
    5. The default is not to save the tstab transient results, and it's not really necessary to unless you want to be really sure the circuit has started up properly. Probably not necessary in such a circuit. I also wouldn't expect setting tstab to be necessary here either.

    Anyway, seeing the netlist would help. My first assumption was that this is probably kT/C (Johnson-Nyquist) noise - but having something real to check would help.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Alok110
    Alok110 over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you very much for your time.

    I am attaching the netlist here.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to Alok110

    Really? A picture of the netlist? Yes, that allows me to recreate it, but why not just post the actual netlist as a text file - that way I can test in seconds, rather than it taking me a number of minutes to recreate it and re-check until I've got it right.

    I'll wait for you to post it properly.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to Alok110

    Really? A picture of the netlist? Yes, that allows me to recreate it, but why not just post the actual netlist as a text file - that way I can test in seconds, rather than it taking me a number of minutes to recreate it and re-check until I've got it right.

    I'll wait for you to post it properly.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Alok110
    Alok110 over 4 years ago in reply to Andrew Beckett

    Ha ha, I am really sorry, Its new for me, I googled it and thought its it.  I ll try again.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information