• 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. Mixed-Signal Design
  3. calcVal outcome depends on enabled test (although no calcVal...

Stats

  • Locked Locked
  • Replies 16
  • Subscribers 67
  • Views 11877
  • 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

calcVal outcome depends on enabled test (although no calcVal is referring to such test)

NewScreenName
NewScreenName over 2 years ago

Dear all,

I

 have a testbench with one referenceTest and two following tests targetTest1 and targetTest2.

Both targetTest1 and targetTest2 have their own local variables respectively defined as calcVal("out1" "referenceTest" ?matchParams "all" ?ignoreParams("some params")) and calcVal("out2" "referenceTest" ?matchParams "all" ?ignoreParams("some params")).

When the referenceTest and either targetTest1 or targetTest2 are run, everything works just fine, however when all the three tests are run simultaneously targetTest1 would get a netlist error about not being able to map properly the points required by calcVal.

(Notice some local variables (e.g. v1) have a different value in targetTest2 with respect to referenceTest, but I have taken care to include such variable (and all the ones depending on it) in the ?ignoreParams statement of calcVal used in targetTest2.)

How can this be explained?

Virtuoso version:

Thank you

Best regards

  • Cancel
  • delgsy
    delgsy over 2 years ago in reply to Frank Wiedmann

    could you tell more about what you mean by run a diff?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to delgsy

    The UNIX "diff" command (see "man diff"). You might even have something like tkdiff installed too which provides a convenient graphical interface. This is to look for the differences between two input files. So if you take the three files that Frank mentioned from the netlist directory of the two runs and compare them between runs, you should be able to see if there's a difference in the content (comparing the spectre.out is useful in case there was a difference in the command-line options given to the simulator). It's hard to see otherwise how there could be a difference in results unless the inputs are different.

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • delgsy
    delgsy over 2 years ago in reply to NewScreenName
    NewScreenName said:
    Am I making some mistakes in the use of calcVal?

    Have you tried to use calcVal in Global Variable instead of putting it directly in the output expression?
    I have checked again my setup, I put calcVal in Global Variable and as fas as I remember, I always do it this way.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • delgsy
    delgsy over 2 years ago in reply to Andrew Beckett

    Thanks Andrew,
    I will check about it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • NewScreenName
    NewScreenName over 2 years ago in reply to delgsy

    In this specific case I did not, although in other occasions using calcVal in the output expressions, and also in the spec column worked. I did not read anywhere in the documentation that it should not be done, is it the case?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • delgsy
    delgsy over 2 years ago in reply to NewScreenName

    I have never had a situation where I need to pass value to multiple tests which is the case in your original post.
    But here what I got. It is from calibration RAK.
    yes, you are right. it does not say that it should not be done, though.


    and this is from appnote. I am not sure how relevant it is for Assembler.

    • 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