I am running a trim procedure similar to what is discussed in this ticket from 4 years ago: https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/40480/error-during-using-calcval-for-calibration-and-performing-temperature-sweep
Using the ?getFirstSweepPoint argument as recommended by Dimitra, I was able to run a supply and temperature sweep after trimming at room with my typ supply. I too would like to run a MonteCarlo sim now except I would like to sweep both the supply and temperature instead of just the supply as was discussed in the previous ticket. I did my best to try to modify the example shown in the previous ticket to work for two variables unfortunately after working for the first several iterations of my testbench, it fails after about the fourth trim step giving me the failure that the variable is nil. The syntax I tried is as follows:
myVar = calcVal(“trim_code” “trim_step1” ?matchParams list( list("temperature" "25") list("V_VDD" "1.8") ) )
Assuming that my variable name, previous test name and parameter names are all correct, is there an obvious syntax error here that I am missing? Is there a different way I should be argument I should be using aside from matchParams for a monteCarlo sim? Am I adding the two parameters to be swept correctly?
BriPi said:I am running a trim procedure similar to what is discussed in this ticket from 4 years ago
First of all, this is not a "ticket". This is the community forum - and it's for users to ask each other for help. If you want proper, tracked support, you should file a case (i.e. a ticket) via http://support.cadence.com - in that case you'll get an application engineer who can spend the time looking into this (rather than here where a few of us respond in our spare time).
Which IC sub-version are you using? (Help->About will tell you this). The fact that it works for a while and then fails suggests that this is a bug rather than a syntax error and (from a quick search to remind myself) I see there were fixes in IC6.1.8 ISR12 (i.e. with .500.12 at the end) related to this. There may have been other fixes in later versions too, but I'll search more once I know which sub-version you're using.
Thanks for the response. It is greatly appreciated. My apologies on the poor word choice in my original post. I am using IC6.1.8-64b.500.10 which I assume is IC6.1.8 ISR10? I assume the recommendation would be to try and update my tool and see if that fixes the problem? Do you have a recommendation on which versions I should target to update to?
I'd just suggest using the latest - ISR28 (IC6.1.8-64b.500.28). There have been many calcVal (and other) fixes/improvements in the meantime since ISR10 (which will be between 2 and 3 years old now).
Thanks for the suggestion. It turns out that I did have an issue with my simulation. I had one variable that I changed at one step in the trim sequence (not a swept parameter like voltage and temperature, but not consistent throughout the entire trim) and this was the point it failed. The solution was that I needed to also include ?ignoreParams for all of the parameters that I was not sweeping in my final sim. While the newer IC-sub version still showed me the error, the updated error message in the job log proved to be quite helpful in identifying the problem.
Update to my previous comment in case anybody reads this post in the future: When trying to run my sim back on the older version of the tools (because that is what the standard setup at my company currently is), I realized that ?ignoreParams is not recognized in IC sub-version 10 therefore I do believe the newer tool version is required in order to run this type of simulation. I am now running version 28 and it appears to be running as expected.