From the warning, it looks like streamOutKeys has an unmatched (. Is it possible that a ) got accidentally deleted, which is throwing off the parsing? This can also happen if the line with the closing parenthesis was commented out.
Thanks for your answer. I have no writting permission on PDK files and that same file works without any problem with IC5.1.4. So I don't think there is a real unmatched (.
However I do not clearly identified to which file the line 1 warning refer to, cause the streamOutKeys I saw in directly used files are not in line 1 (mgc_export.skl, calibre.skl, calibre.OA.skl, ...) Is it possible that an internal reading fonction of Calibre creates this error ?
In fact, I also got other errors where the known PDK file are cleary identified:
*Error* load: error while loading file - "/tools/mentor/ixl_cal_2012.2_17.11/shared/pkgs/icv/tools/queryskl/mgc_export.skl" at line 2215
*Error* load: error while loading file /tools/mentor/ixl_cal_2012.2_17.11/shared/pkgs/icv/tools/queryskl/calibre.skl" at line 96
The person I usually turn to with integration questions is out until Tuesday (and likely to be swamped with requests that have arrived during the interim), so I'll try best I can. You might also try filing an SR -- those guys will be able to give your problem more time than I can, and have access to a knowledge base that I don't.
You mention that other files have errors while loading. I looked at line 96 of calibre.skl in the 2012.2_62 release, and the only thing on the line is the final closing parenthesis. (It is the last line of the file.) The line in mgc_export.skl seems to be "mgc_rve_load_export_layout_template_file()", and it is the last but one line. Does this match yours? It is possible some bug fixes incorporated changed the .skl files.
It is very odd that the MGC skl files are erroring on initialization -- I can't find a record of any one else reporting this problem, and it would have been pretty prominent. Some ideas:
- Is it a file system issue? What is the modification date on these files? It doesn't look like they should need changes as they read the OA_HOME variable.
- Does the new Virtuoso work without Calibre? Perhaps we are chasing a symptom, and not a cause.
- Is there a script you use to invoke? Did it get updated? I did find one technote that feels similar; the fix is to make sure you have updated all of your environment variables when you updated your Cadence version. Evidently the older version and the newer version use different libraries, and if the correct ones do not appear first in your paths, there'll be issues.
Hope one of these help --
The 2 errors lines you gave match the ones I have.
The OA_HOME variable is set. Virtuoso works and despite these errors, Calibre DRC and LVS seem to work too.
I discover that the line 1 warning is related to the layout.template file (see below) that is the same I used for IC5.1.4 that works fine. The problem seems to come from the streamOutKeys function. Does the Syntax of this function changed for OA or IC6.1.5 ?:
streamOutKeys = list(nil
I finally resolved the problem. The streamOut syntax is different from IC5.1.4 to IC6.1.5, so I had to convert the original template.layout file to a new one by running this pipo2Xtrm utility: pipo2Xstrm.pl -in oldTemplate -out newTemplate
and to use the new template file generated.
Thanks for sharing the solution!