• 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. Several problems with interfacing Spectre through Matla...

Stats

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

Several problems with interfacing Spectre through Matlab

FormerMember
FormerMember over 3 years ago

Dear Community

I am trying to use Matlab's Spectre toolbox to read out simulation results. I am using Matlab 2021a and Spectre version 20.10.186

In particular, I want the following outputs:

  • Many operating point parameters from all transistors in the schematic
  • The AC waveform from a current signal, taken from the terminal "/R0/PLUS"
  • The total output noise (as waveform in V/sqrt(Hz)) from a linear noise analysis where the output nodes are named "/Ip" and "In", respectively.
  • The loop gain from an iprobe

When I type the command

cds_srr(result_dir)

I get the following output:

PSFversion: 1.00
dcOp-dc (dc).
dcOpInfo-info (info).
ac-ac (ac).
tran-tran (tran).
finalTimeOP-info (info).
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 =

12×1 cell array

{'dcOp-dc' }
{'dcOpInfo-info' }
{'ac-ac' }
{'tran-tran' }
{'finalTimeOP-info' }
{'modelParameter-info' }
{'element-info' }
{'outputParameter-info' }
{'designParamVals-info' }
{'primitives-info.primitives'}
{'subckts-info.subckts' }
{'variables' }

Problem 1:
I cannot get any DC operating point parameter. When I use

cds_srr(result_dir,'dcOpInfo-info','M1.m1.gm')

I get the message:

Error: The special signal is not exist.
One or more output arguments not assigned during call to "cds_innersrr".

Error in cds_srr (line 20)
sig = cds_innersrr(dirname, dataset, signame, verbose);

In the result brower, I can see that the operating points are there. How do I access them?


Problem 2:
Where is the result of the noise simulation stored? There is a folder called "noise" in the result brower, and a corresponding signal called "out" (which is the waveform I want in Matlab). But cds_srr does not return any noise dataset.


Problem 3:
Same for the stability analysis. There is a folder called "stb", but no corresponding dataset.

Problem 4:
I get the following output from the AC analysis when using cds_srr(result_dir,'ac-ac')

Total: 22 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' 'start' 'stop' 'operating point producer'

Total: 2 type(s) of signals
Signal type: V Data type: Complex
'net2' 'net3'
Signal type: I Data type: Complex
'M0:1' 'V0:p' 'V1:p'

In the result browser, there are much more signals saved in the ac folder (including my ""/R0/PLUS" signal which I want). Why can I not see them in Matlab?

Thank you for your help.
Best wishes,
Dominik
  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Hi Dominik,

    1. This should be 'M1.m1:gm' (you need to use colon to access the final part when it's operating point data)
    2. For me this was: out=cds_srr(result_dir,'noise-noise','out')
    3. cds_srr(result_dir,'stb-stb','loopGain') to get the loop gain, or cds_srr(result_dir,'stb-margin.stb','phaseMargin') (or 'gainMargin')
    4. Not sure - do you see more if you use cds_srr(result_dir,'ac-ac').I to see all the current signals? It seems to work for me (I'd expect the resistor current to probably end up being R0:1 as you get the netlist names)

    Andrew 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Hi Dominik,

    1. This should be 'M1.m1:gm' (you need to use colon to access the final part when it's operating point data)
    2. For me this was: out=cds_srr(result_dir,'noise-noise','out')
    3. cds_srr(result_dir,'stb-stb','loopGain') to get the loop gain, or cds_srr(result_dir,'stb-margin.stb','phaseMargin') (or 'gainMargin')
    4. Not sure - do you see more if you use cds_srr(result_dir,'ac-ac').I to see all the current signals? It seems to work for me (I'd expect the resistor current to probably end up being R0:1 as you get the netlist names)

    Andrew 

    • 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