• 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. Where is noise data stored

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 124
  • Views 13543
  • 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

Where is noise data stored

wgtkan
wgtkan over 5 years ago

Hello,

Reference link: https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/40093/matlab-cds_srr-dc-sweep-of-mosfet-parameters

I got the simulation in the above link set up to work for dc parametric simulation where I can read the data into Matlab using cds_srr Matlab specter function.

Then I did a noise simulation in ADE L and I see that the noise data is stored in ADE L under the result browser named noise. For noise analysis in ADE L, I set my sweep to Logarithmic and points per decade to 100. I probed an ideal voltage source with a DC value of zero. In the noise Analysis option, under Output Noise, I selected probe and for output probe instance, I selected the Ideal voltage source with the DC value of zero (I probed the ideal voltage source). For input noise, I selected voltage and selected the gate-source voltage (vgs) because I want to refer the output noise to the input where I want to compare the noise signal to the input signal.

How do I get to read the noise data in Matlab via cds_innersrr function since cds_crr is buggy for noise? Where is the noise being stored in the psf? Because for my output file this is all I see this:

cds_innersrr(c.outfile )
PSFversion: 1.00
dcOp-dc (dc).
dcOpInfo-info (info).
dc-dc (dc).
modelParameter-info (info).
element-info (info).
outputParameter-info (info).
designParamVals-info (info).
primitives-info.primitives (info.primitives).
subckts-info.subckts (info.subckts).
variables (design_variables).
dcOpViolations-violations (violations-dc).
dcViolations-violations (violations-dc).

ans =

12×1 cell array

{'dcOp-dc' }
{'dcOpInfo-info' }
{'dc-dc' }
{'modelParameter-info' }
{'element-info' }
{'outputParameter-info' }
{'designParamVals-info' }
{'primitives-info.primitives'}
{'subckts-info.subckts' }
{'variables' }
{'dcOpViolations-violations' }
{'dcViolations-violations' }

Thank you very much in advance regarding this.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Why do you say that cds_srr is buggy for noise? Which Spectre and MATLAB versions are you using? For me, using SPECTRE181 (ISR12) together with MATLAB R2019a, I get:

    >> cds_srr('psf')
    PSFversion: 1.00
    ac-ac (ac).
    ac-distortion.ac (distortion.ac).
    noise-noise (noise).
    modelParameter-info (info).
    element-info (info).
    outputParameter-info (info).
    designParamVals-info (info).
    primitives-info.primitives (info.primitives).
    subckts-info.subckts (info.subckts).
    variables (design_variables).

    ans =

    10×1 cell array

    {'ac-ac' }
    {'ac-distortion.ac' }
    {'noise-noise' }
    {'modelParameter-info' }
    {'element-info' }
    {'outputParameter-info' }
    {'designParamVals-info' }
    {'primitives-info.primitives'}
    {'subckts-info.subckts' }
    {'variables' }

    Then:

    >> cds_srr('psf','noise-noise')
    Total: 27 properties
    'PSFversion' 'BINPSF creation time' 'PSF style' 'PSF types' 'PSF sweeps' 'PSF sweep points' 'PSF sweep min' 'PSF sweep max' 'PSF groups' 'PSF traces' 'simulator' 'version' 'date' 'design' 'analysis type' 'analysis name' 'analysis description' 'xVecSorted' 'tolerance.relative' 'operating point producer' 'output' 'output probe' 'output probe type' 'ground' 'positive output signal' 'negative output signal' 'input probe'

    Total: 3 type(s) of signals
    Signal type: A_sqrt_Hz_ Data type: Real
    'out'
    Signal type: V_sqrt_Hz_ Data type: Real
    'in'
    Signal type: A_V Data type: Real
    'gain'


    ans =

    struct with fields:

    signal_info: {'prop' 'Unknown' 'A_sqrt_Hz_' 'Real' 'V_sqrt_Hz_' 'Real' 'A_V' 'Real'}
    prop: {27×1 cell}
    A_sqrt_Hz_: {'out'}
    V_sqrt_Hz_: {'in'}
    A_V: {'gain'}

    I can then get the output referred noise using:

    >> out=cds_srr('psf','noise-noise','out')

    out =

    struct with fields:

    info: {'A_sqrt_Hz_' 'A/sqrt(Hz)' 'freq' 'Hz'}
    freq: [901×1 double]
    A_sqrt_Hz_: [901×1 double]

    I can plot this with plot(out.freq,out_A_sqrt_Hz_) . I can get the input referred noise too:

    >> in=cds_srr('psf','noise-noise','in')

    in =

    struct with fields:

    info: {'V_sqrt_Hz_' 'V/sqrt(Hz)' 'freq' 'Hz'}
    freq: [901×1 double]
    V_sqrt_Hz_: [901×1 double]

    I can get the values of noise contributors too:

    >> cds_srr('psf','noise-noise','I7.M1:id')

    ans =

    struct with fields:

    info: {'trpmos_id' 'A^2/Hz' 'freq' 'Hz'}
    freq: [901×1 double]
    trpmos_id: [901×1 double]

    >> cds_srr('psf','noise-noise','I7.M1:total')

    ans =

    struct with fields:

    info: {'trpmos_total' 'A^2/Hz' 'freq' 'Hz'}
    freq: [901×1 double]
    trpmos_total: [901×1 double]

    So I'm not sure what's "buggy" about this? You gave no information about that. In the outputs  you showed noise didn't even seem to be mentioned...

    Regards,

    Andrew.

    • 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