• 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 SKILL
  3. ocean expression in monte carlo analysis

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 143
  • Views 14551
  • 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

ocean expression in monte carlo analysis

imagesensor123
imagesensor123 over 13 years ago
Hello, i am doing a monte carlo analysis through netlist ,and i met a problem there. in fact, i want to sample the output signal at the certain time point, such as 7ms, i intend to use the export function to print the sampling data into the "mcdata" file, but i failed many times. the specre tell me i have a mistake in my ocean expression, and i use three statements like following: export valueat7ms=oceanEval("v(\"vout\") 0.007") export valueat7ms=oceanEval("value(v("vout") 0.007)") export valueat7ms2nd=oceanEval("sample(VT(\"/vout\")0.007 0.007 \"linear\" 1)") they all don't work, so do you have some suggestion? note, i refer to the below link, it talks about the monte carlo analysis in google group groups.google.com/.../2e3eb8bed53a60aa
  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

     export valueat7ms=oceanEval("value(v(\"/vout\" ?result 'tran) 0.007)")

    If you don't have the ADE "amap" dirs etc, you may want to use the netlist name instead of the "schematic name" so use:

     export valueat7ms=oceanEval("value(v(\"vout\" ?result 'tran) 0.007)")

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 13 years ago
    Hi Andrew, thanks, i works well. and could the time point be a variable, i mean that could we write parameters timePoint=7m in the parameters section, and write the following code in mc analysis export valueat7ms=oceanEval("value(v(\"vout\" ?result 'tran) timePoint)") it seems that the cadence/spectre doesn't support this, so what should we do if i want to sample the vout value in some time point defined before the simulation, so that we can observe the value versus time. thanks. by the way, could you tell me if we can use the some skill built-in functions to "merge" several file together. in fact, i want to generate the "input.scs" file from several parts, i have the ADE, but now, i don't want to use the netlistCreate function to do this.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    You can probably use oceanEval("value(v(\"vout\" ?result 'tran) VAR(\"timePoint\"))")

    Spectre has an "include" statement (spectre -h include) which could allow you to produce a combined netlist. Or UNIX has the "cat" command...

    Or you could use OCEAN - not sure why you don't want to do that.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 13 years ago
    Hi Andrew, i try to add a c_load to the output node, but i don't want to change the netlist, so what can i do in the ocean for this purpose? c_load (vout 0) capacitor c=1u i don't know how to make the above branch to my circuit, by the way, i run the simulation in the ocean. regards, zfeng
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Zfeng,

    Can you create an include file with the component in (e.g. called "extra.scs") and then reference it using the modelFile() function along with your actual device models?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 13 years ago
    Hi Andrew, i tried, but a error turns up, it says that " the model file which i specified is not a directory", and i will try again later, maybe there are some error in my file path, so thanks for your idea. and now, i try to create a symbol from my sub-circuit, and i want to use the NPLLable to specify my symbol name such as P11, P12, P13, P21, P22, P23, P31, P32,P33, and i how checked the NPL expression, i have not found any expression which can name the instance in order. but i found in the virtuoso composer, it can name the instance in order, like I0 I1 I2 .....I28, so what can i do for this? regards, zfeng
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Your post is too confusing. Are you unwittingly using spectreS rather than spectre? You probably need to show what you're doing and the precise error.

    For the second (completely unrelated) question, my guess is that  you're asking about how to set the prefix for instance names? If so, search in the documentation for "instNamePrefix". This isn't anything to do with NLP expressions (if that's what you were referring to).

    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