The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Ocean error
https://designers-guide.org/forum/YaBB.pl?num=1270619794

Message started by manodipan on Apr 6th, 2010, 10:56pm

Title: Ocean error
Post by manodipan on Apr 6th, 2010, 10:56pm

Guys,
I am facing some ocean error :
"my_run: too many arguments (2 expected, 3 given) - ("/local_home/tb_bandgap_top_check_1/spectre/sch ematic/psf" "/local_home/manodipan_files/bandgap/DUMMY/results.csv" 0.5)",Here my_run is a procedure mentioned in Ocean file.Simulation runs fine but it does not write to file due to this error.
Thanks,
Manodipan

Title: Re: Ocean error
Post by Andrew Beckett on Apr 7th, 2010, 6:26am

Manodipan,

Er, isn't the error rather self explanatory? It's telling you that the function is expecting 2 arguments, but you've given it 3. It tells you what the 3 arguments are, and presumably the definition of my_run in the OCEAN script is only defined as having 2 arguments.

You didn't show the code, but it's rather unlikely that SKILL has got this wrong...

Andrew.

Title: Re: Ocean error
Post by manodipan on Apr 7th, 2010, 7:44am

Hi Andrew,
Yes i got the problem ....my ocean script is given below

procedure( my_run(psf_dir outputfile vamp)
envSetVal("spectre.envOpts" "controlMode" 'string "batch")
openResults(psf_dir)

fptr=outfile(outputfile   "a") ;;;always open in append mode

selectResult( 'dc )
VREFDC = value(VDC("/VREF") 1)
fprintf(fptr,"\t%e\t",VREFDC);

)
The error i get is:
*Error* fprintf/sprintf: format spec. incompatible with data - nil
Thanks for your help.

Title: Re: Ocean error
Post by Andrew Beckett on Apr 7th, 2010, 7:55am

OK, so presumably this is a different error now.

What are you trying to do? VDC() will actually get the voltage from the DC operating point, not the dc sweep. VDC is equivalent to:

selectResult('dcOp)
v("/VREF")

or

v("/VREF" ?result 'dcOp)

If you want the dc sweep's results, you can either use VS() or :

selectResult('dc)
v("/VREF")

and then you could use value() on that to find the value at 1 (where 1 is the value of whatever you're sweeping).

Overall, the error is telling you that VREFDC is nil, which means it did not manage to read the simulation results for whatever reason. I suggest you try interactively doing the openResults(), calling results() to see what's available, try the various functions to see what's happening. Virtually impossible for me to debug without the data - but clearly something is inconsistent.

One common problem is where people have copied the netlist/netlistHeader/netlistFooter and have simulated using that - but no longer have access to the map/amap directories in the netlist hierarchy. If you do that, then using a schematic name "/VREF" will not work, and you'd have to give whatever name "VREF" is mapped to in the netlist (most likely "VREF" (no leading slash)). But this is a wild guess too.

Regards,

Andrew.

Title: Re: Ocean error
Post by manodipan on Apr 9th, 2010, 5:43am

Hi Andrew,
Thanks for your help ....actually i am doing a monte carlo sim and we have one script to take care of monte carlo model file and PVT variation ,alongwith this we run one ocean file and trying to print some parametric data....the statement works fine if i go to psf directory and then run this command in an isolated manner,but ocean script does not work ....i really don't know how can it happen......any suggestion is welcome..

Title: Re: Ocean error
Post by Andrew Beckett on Apr 11th, 2010, 2:36am

Unfortunately I don't have extra sensory perception, so can't guess what your problem is ;-)

Perhaps you should contact Cadence Customer Support (together with data to show what you're doing in detail) so that somebody can help you resolve the problem with some evidence to show the problem?

Regards,

Andrew.

Title: Re: Ocean error
Post by manodipan on Apr 11th, 2010, 11:17pm

Hi Andrew,
I need a monte carlo sample ocean file where Supply ,Temperature and process is varied....Thanks for your help.

Title: Re: Ocean error
Post by cmos.analogvala on Apr 12th, 2010, 1:40am

Hi,
You must have originally generated this ocean script from ADE-->statistical analysis where you had given some expressions using calculator.  In this case the path of raw file in the expressions is ~/simulation/<cellname>/spectre/<viewname>. Hence this works only when you go psf or <cellname> folder and run the simulations.

You can change simulation result directory in ADE. ADE-->setup-->simulation dir.  Change this to your home and then generate ocean file from statistical analysis window and run ocean script from home.

This should let you run ocean from your home directory. Needless to say you should change the simulator dir to the path from which you wan to fire sims.

Let me know this helps
-CA

Title: Re: Ocean error
Post by manodipan on Apr 12th, 2010, 2:56am

Hi,
actually i have no option of Monte Carlo sim from ADE ,so i have one ocean script to run monte carlo,thats why i want one sample ocean file that runs across PVT variation with monte carlo-mismatch.
Thanks

Title: Re: Ocean error
Post by Andrew Beckett on Apr 12th, 2010, 9:36am

What version of the IC tools are you using (Help->About in the CIW)?

Regards,

Andrew.

Title: Re: Ocean error
Post by manodipan on Apr 13th, 2010, 7:06am

Hi,
The Cadence Version is IC 6.1.3.

Title: Re: Ocean error
Post by Andrew Beckett on Apr 13th, 2010, 4:28pm

In that case, use ADE XL, and then  you can run Monte Carlo from there, and get an OCEAN XL script which runs monte carlo.

The old monteCarlo() API is still supported in OCEAN, but there are some issues - perhaps these are what you're seeing (plotting family waveforms after the simulation - CCR 749799). Alternatively you can use the new ADE XL/OCEAN XL related approach.

Andrew.

Title: Re: Ocean error
Post by ray_wang on Apr 15th, 2010, 6:21pm


manodipan wrote on Apr 12th, 2010, 2:56am:
Hi,
actually i have no option of Monte Carlo sim from ADE ,so i have one ocean script to run monte carlo,thats why i want one sample ocean file that runs across PVT variation with monte carlo-mismatch.
Thanks


I understand that you can have ocean script to run monte carlo, but I think only V&T variation is available to you if you don't have foundry support.

Process variation and mismatch are strongly foundry-dependent. If you don't have it, it would be hard for you to determine which parameters to vary in the model. Even if you learn to write one all by yourself with some arbitrary numbers, it will not guide you correctly on how to improve your circuit.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.