I have written a simple Skill function to automatically add a menu to every new schematic and layout view, based on the following thread and Cadence Tutorial for IC Skill Language Programming 3: /forums/t/17476.aspx?PageIndex=1
I load in the file containing the function definition into my .cdsinit file but the menu does not start appearing until I copy the same load statement into my CIW. Once I do that, the function works just fine and the menus show up as expected for each new window I open.
My virtuoso session does load in the function from .cdsinit file: when I enter addPlotMenu() into CIW, it gives me an error regarding usage (too few arguments), not about an undefined function, so it must be getting loaded in.
Can you help me figure out what the problem might be? I want the menus to show up without having to load in any files through CIW. My code is pasted below.
TrPlot = hiCreateMenuItem(?name 'TrMenuItemPlot?itemText "Plot"?callback "plotFunctionWrapper()")
deRegUserTriggers("schematic" nil 'addPlotMenu)deRegUserTriggers("maskLayout" nil 'addPlotMenu)
Thanks for the quick response. deUnRegUserTriggers does indeed get called as virtuoso starts up:
Loading /user/pgarcha/.cdsinit...Loading awv.cxt Loading cdf.cxt ||||||||deUnRegUserTriggers(...)||||||||deUnRegUserTriggers --> ...||||||||deUnRegUserTriggers(...)||||||||deUnRegUserTriggers --> ...||||||||deUnRegUserTriggers(...)||||||||deUnRegUserTriggers --> ...
deGetAppInfo("schematic)->userMenuTrigger returns _jazzUserMenuTrigger.
deGetAppInfo("schematic")->userMenuTrigList returns a list with addPlotMenu missing.
Given that I cannot modify the other files to remove the unregistering of user triggers, is there a way to register addPlotMenu again without using the CIW? As per a Cadence Training Module (Introduction to SKILL Language Programming), when the Virtuoso Design Environment starts up, it loads (1) SKILL contexts, (2) .cdsenv, and (3) .cdsinit files in order and then loads (4) other SKILL contexts in response to user activity. Is there anything in between (3) and (4) that can be modified in my local machine to achieve that?
I appreciate your help.