I am trying to delete cells by feeding the SKILL code to icfb in nograph mode. The following code works through the GUI but not in nograph mode:
when(ddGetObj(lib cell) ddDeleteObj(ddGetObj(lib cell)))
This is the appropriate forum for this question.
It worked for me when I tried it (using IC5141USR5 and also 22.214.171.1240.6.129)
> cell = ddGetObj("deleteMe" "removeMe")dd:0xbfbf684> ddDeleteObj(cell)t
In what way does it not work for you? Which version are you using?
In reply to skillUser:
I am using IC6.1.3, and I run 'virtuoso -nograph -replay file.il'. I just realized that I get the this message: *WARNING* ddDeleteObj: ddCellType 'removeMe' owns files that are in use by other users, because I am running another virtuoso at the same time. Is there a way to force the deletion?
It could just be that an intermediate variable isn't being used:
...may work from the interactive parser but won't necessarily work in a script. I've seen similar behaviour in the other code I've written so I'm always in the habit of breaking up the operation as Lawrence showed.
Aside: You may need to follow the 'ddDeleteObj(cell)' with a 'ddReleaseObj(cell)'. In general, matching 'myVar=ddGetObj(...)' with 'ddReleaseObj(myVar)' makes life a lot easier when you start doing more complex creation/editing of database-linked objects like 'verilog.v' or 'expand.cfg' files.
In reply to SkillStudent:
If the ddReleaseObj() suggested by Andrew did not work, it may be that the file (or files) is locked.You might use ddLockFree() and other ddLock* functions to free the lock and then this should allow you to delete the cells.