• 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. Related to "How to specify phase noise as an instance parameter...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 1482
  • 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

Related to "How to specify phase noise as an instance parameter in spectre sources (e.g. vsource, isource, port)"

mzn ehv
mzn ehv over 1 year ago

Hello,

I am trying to specify the phase noise as an instance parameter of spectre sources such as port and vsource as mentioned in the article  https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000tiraEAA&pageName=ArticleContent

When I create a test bench containing one port without specification of phase noise and other port with specification of phase noise, I do not see any difference in their time domain waveforms. So, it looks like it’s not incorporating the phase noise as required.

I am using cadence-icadvm-/20.10.340 and spectre 23.10.538.isr10. Attached is the netlist of the testbench.

// Generated for: spectre
// Design library name: AAA_AA
// Design cell name: pn_modelling_tb
// Design view name: schematic
simulator lang=spectre
global 0
parameters fin=20M tstop=1000/fin

// Cell name: pn_modelling_tb
// View name: schematic
R0 (clk 0) resistor r=50
R14 (ideal_clk 0) resistor r=50
PORT1 (clk 0) port r=50 type=sine freq=fin ampl=1 isnoisy=yes \
noisetype=ssbphasenoise noisevec=[ 1K -100 10K -100 100K -100 1M \
-100 10M -100 ]
PORT0 (ideal_clk 0) port r=50 type=sine freq=fin ampl=1
simulatorOptions options psfversion="1.4.0" 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
tran tran stop=tstop write="spectre.ic" writefinal="spectre.fc" \
annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
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
save ideal_clk clk
saveOptions options save=allpub

Is there anything which I am missing here?

Thanks

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    You're not running transient noise (or a pnoise/hbnoise analysis), so you won't see any noise generated by this source.

    With noisefmax=fin*10 (say) on the transient analysis, the noise is generated - although you're unlikely to see it as it's small - in reality you'd have to do an DFT of the results, in which case you'd want to set strobeperiod and ensure that the DFT sampling interval coincides with the strobeperiod.

    Of course, if you do this, you'll also get the thermal noise from the resistor and the 50 ohms in the port - and any other devices in the real circuit. Note that the isnoisy=yes on the port is redundant because noise is enabled on sources by default, just doesn't appear in a non-noise-related analysis.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mzn ehv
    mzn ehv over 1 year ago in reply to Andrew Beckett

    Thank you Andrew for your response.
    When I enable transient noise, I indeed see the difference between noisy and non noisy source. 
    To remove the impact of 50 ohms in the port, I changed the source to vsource keeping all other parameters same. With -100 dBc/Hz phase noise floor and fin = 20 MHz, I expect an rms jitter of 355 ps, but evaluation using calculator function 'rms_jitter' (integrated from 1 to 10M) yields number in the ballpark of 250 ps (with noisefmax swept from fin*5 to fin*20 and 1k-10k fin cycles). Why these two numbers are differing?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mzn ehv
    mzn ehv over 1 year ago in reply to Andrew Beckett

    Thank you Andrew for your response.
    When I enable transient noise, I indeed see the difference between noisy and non noisy source. 
    To remove the impact of 50 ohms in the port, I changed the source to vsource keeping all other parameters same. With -100 dBc/Hz phase noise floor and fin = 20 MHz, I expect an rms jitter of 355 ps, but evaluation using calculator function 'rms_jitter' (integrated from 1 to 10M) yields number in the ballpark of 250 ps (with noisefmax swept from fin*5 to fin*20 and 1k-10k fin cycles). Why these two numbers are differing?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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