• 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. Print Noise summary and corresponding OCEAN noiseSummar...

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 125
  • Views 15408
  • 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

Print Noise summary and corresponding OCEAN noiseSummary

AncisMichele
AncisMichele over 3 years ago

Hi,

the print/noise summary function available from ADE-L menu allows for hierarchical grouping of contributors, which is quite an handy feature.

I don't seem to find a programmatic way to obtain the same output within OCEAN's function noiseSummary()

Am I missing some parameter or it is just that the feature is not implemented?

Thanks!

Michele

  • Cancel
Parents
  • AncisMichele
    AncisMichele over 3 years ago

    Hi,

    I am attaching another question here as it relates to the same topic, it is actually a sort of "evolution" - Please let me know if this is sub-optimal for you, I can create a new topic.

    I am not able to make use of the ?hierLevel parameter

    Within an OCEAN session, I am able to type the following and get the results (it is from a PSS/Jitter simulation)

    ocean>noiseSummary('spot ?result 'pnoise-sample_pm0 ?resultsDir  "../psf" ?frequency 1K ?noiseUnit "V" ?truncateData 10 ?truncateType 'top ?paramValues '(4.41701e-06))

    ... (output)

    however, if I now try to introduce the hierLevel parameter:

    ocean>noiseSummary('spot ?result 'pnoise-sample_pm0 ?resultsDir  "../psf" ?frequency 1K ?noiseUnit "V" ?truncateData 10 ?truncateType 'top ?paramValues '(4.41701e-06) ?hierLevel 1)

    I get the following reply:

    *Error* famGetAnaValue: no applicable method for the classes - (famLeafAnalysis flonum)

    Now, I really do not know what to try. The reference manual (IC6.1.8, Octrober 2018) reports:

    so the parameter should be a symbol, however I am not very sure what symbol should it be?

    For the "sister"  function ocnGenNoiseSummary, a similar parameter is declared as integer, which I can better understand...

    Any hints on what I could be doing wrong here?

    Thanks,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to AncisMichele

    Dear AncisMichele,

    AncisMichele said:

    I get the following reply:

    *Error* famGetAnaValue: no applicable method for the classes - (famLeafAnalysis flonum)

    Now, I really do not know what to try. The reference manual (IC6.1.8, Octrober 2018) reports:

    Did you happen to search the Cadence On-line support site for this error? There is an article directly aimed at the source and resolution of this error in the Cadence On-line support article at URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O3w000009xw9sEAA&pageName=ArticleContent

    I hope this addresses your question AncisMichele!

    Shawn

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to ShawnLogan

    Hi Shawn

    thanks for your help. I don't currently have access to the On-line support, so I could not search for it, nor can I access your link.

    I'm working on it Slight smile

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to AncisMichele

    Hi Michele,

    Essentially it says that it was broken in IC6.1.8/ICADVM18.1 ISR6 and is fixed in ISR10. 

    I've sent some feedback to the tech pubs team to fix the s_hierlevel typo (it should be x_hierlevel).

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    Thanks Andrew,

    so I'll see what I can do on my side with the versions. Much appreciated.

    (that s_* typo puzzled me intensely!)

    Regards,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to AncisMichele

    Hi again,

    sorry to bother but... Is there by any chance the possiblity that the function ocnGenNoiseSummary() has issues in previous ISRs?

    I am witnessing something very weird when trying to generate a noise summary database throught that.

    Namely, I do (I am in the right directory, so to speak):

    ocean> openResults("./psf")

    "./psf"

    ocean> results()

    (dcOp dcOpInfo [..] pnoise_sample_pm0 [..])

    ocean>ocnNoiseSummary(1 ?result 'pnoise_sample_pm0)

    WARNING (OCN-6040); The specified directory does not exist, or the directory does not contain valid PSF results.

    Ensure that the path to the directory is correct and the directory has a logFile and PSF results files.

    ocean> results()

    You must openResults() on a valid psf directory before using this command...

    ocean> openResults("./psf")

    WARNING (OCN-6040); The specified directory does not exist, or the directory does not contain valid PSF results.

    Ensure that the path to the directory is correct and the directory has a logFile and PSF results files.

    I went to the shell to check, just out of despair, and the logFile together with the psf results are there... But there's a psf.noisesummary now.

    At any rate, I cannot open the PSF files with the results browser... So I guess I can as well erase the data and repeat the simulation.

    Can you advise if you see something wrong on my side, or is it just the function not properly working?

    BTW, maybe have a look at the reference for that entry too: its signature does not mention the keywords like ?result and the like:

    Thanks,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to AncisMichele

    Hi Michele,

    I did some quick tests in the latest ISR, and from what I can see in IC6.1.8 this function doesn't seem to work with sampled noise results; I get the database created, but it's empty. I don't get the warning you do, but it may be related to the additional variables in the database caused by having an event time involved too.

    The documentation should certainly say ?result and ?resultsDir  - the first argument is positional though. I'll feed that part back.

    For the first issue though, I suggest you contact customer support (just in case there was something stupid about my quick test, and also it would be better tied to a real customer).

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    Thanks Andrew - I'll see what my Customer feels about opening a case for this.

    Since when I started exploring this functionality I was actually looking at the wrong (outdated) OCEAN help, I worked out a "flow" with the

    underlying spectre noisesummary command as reported here:

    https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/36842/noise-contribution-of-an-instance

    That will do for now Slight smile

    Regards,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to AncisMichele

    Hi Michele,

    The ocnGenNoiseSummary function is essentially a wrapper that calls the noisesummary command under the hood (the SKILL function didn't exist when I replied to the older thread you found). For me it doesn't work properly when I try it with my data too - it's requiring a sweep number and no matter what I pass, it doesn't work. However, as I said, this was a very quick test and I didn't have the time to explore fully what might be going wrong.

    Anyway, you have a way forward. If anyone else has this problem, I'd definitely suggest contacting customer support so that we can improve this (I'm not likely to have the time in the next few days to explore further and debug what might be just a problem with my own test case only).

    Andrew 

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    Hi Andrew,

    no worries. Not sure I got you right: are you saying you couldn't make noisesummary cmd work with an underlying Jitter simulation (this is the origin of the "sweep number" requirement)?

    I did find a way out, it's just that the sweep number is not as in noiseSummary OCEAN function, where you need to pass the ?sweepValues a list with the actual sweep point.

    What worked for me was to pass "0".

    However, because of the mess this function does with logFiles, I perform a few actions afterwards (essentially moving the results to a sub directory and renaming the noiseSumLogFile)

    This way I can read from the results browser both the original and the noisesummary databases.

    Regards,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to AncisMichele
    AncisMichele said:
    What worked for me was to pass "0".

    I'd tried that too - but it fails with a segmentation fault.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to AncisMichele
    AncisMichele said:
    What worked for me was to pass "0".

    I'd tried that too - but it fails with a segmentation fault.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    I did have the seg fault case too...

    It's been a couple of days I left that approach and tried (failing miserably) to use the other OCEAN functions, I'll make another couple of tests and report back.

    For sure it worked then.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to AncisMichele

    Hello again Andrew,

    just to confirm that on my side the command

    noisesummary . dataset_name 1 0

    where dataset_name is the (rather tricky to spot) name of the Jitter simulation, witht that "0"  at the end, correctly produces a psf.noisesummary database

    I then move the database and its log file to another directory, rename the log, and open it with results browser.

    It's a long way to the top, but we're rockers and accustomed to it ;)

    Regards,

    Michele

    • 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