I have a set of PSF results generated with the finesim simulator (run from ADE through OASIS). Now, I need to run some calculator functions on them.
When I open the results directory in OCEAN or artil, I get this message:
WARNING (OCN-6152): Simulator finesim is not registered. Calculator data access functions (e.g., VT, IT, etc.) will not work. However, ocean data access functions (e.g., v, i, getData, etc.) will work.
The function that I try to evaluate is:
Max_Current = ymax(IS("some_signal"))
However, it doesn't work.
When I replace it with
Max_Current = ymax(i("some_signal" ?result srcSweep))
Any idea how to make it work in the original form?
Further, the signal names in the results ( as visible with the results() ) command use '.' as the hierarchy separator. However, in the OCEAN script, '/' is used as a hierarchy separator.
Is there a way I can get the OCEAN script to recognize the signal names without having to change the separator to '.'?
Using the "/" hierarchy separator means that the name is a "schematic" name (i.e. the name it is in the original schematics). Presuming that finesim uses "." as its hierarchy separator, using a name which doesn't start with "/" means that it is a "simulator" (or netlist) name. This is the name that is actually stored in the psf result database - the "/" names work by mapping from one to the other using the mapping data stored in the netlist directory.
However, for that to work, it needs access to the simulator integration. If using "ocean" (at least in IC5141, not sure which version you're using since you didn't say), or "artil", it probably doesn't have the integration loaded, hence the warning message. This is presumably being loaded in your .cdsinit somewhere (I don't know how it's done for finesim since it's a Synopsys product not a Cadence product), and the .cdsinit is not loaded when using "ocean" or "artil".
You may be able to workaround that by loading the simulator integration from a .oceanrc file or from .artilinit (these are the initialization files for these two executables).
Thanks for your reply.
I am using IC615.
Regarding the hierarchy separator, please refer to an earlier post by me: http://www.cadence.com/Community/forums/p/20960/1305827.aspx
I have the "amap" directory in the right place and the output directory is called "psf".
The thing doesn't work in spite of that. I am OK with changing the names in the OCEAN script, but it would be great if I could get it to work as is.
Also, regarding my first question, is there a way to get the IS() function to work instead of converting into i()?
Yes, but if the results were written out by a particular simulator, you need the integration of that simulator loaded so that it knows what IS maps to. The exact name of the result database may vary from one simulator to another, and unless it has the integration loaded, it doesn't know that the ?result should be 'srcSweep (for spectre it would be 'dc).
So as I said, you will most likely need the simulator integration loaded - and you clearly don't have that because it is saying that it is not registered.