Hi mavenThe following COS solutions work on cells listed in the library manager. It is not exactly what you have requested but I think it can also solve your problem. You can first do a hierarchical copy of your top cell to a new library before applying the skillscript.11026492 : How can I rename all cells in a library with a specific prefix?11166194 : Add prefix/suffix to only some cells
Hope that this helps you. : )Best regardsQuek
In reply to Quek:
Your link gave me an idea to approach the problem.
But the solution in the COS used ddGetObj() function which cannot traverse to the instances of a cell.
So i used dbOpenCellVeiwByType() to get instances but its not effective could not complete the program.
Could you suggest me a function which can traverse through libname~>cellname~>instances for a given libname and cellname.
(dont tell me geEditCellView())
If i can get that then my script is done.
In reply to maven7783:
Hi MavenYou can use the following skillscript. It will find all subcells in a top cell and write the cellnames to a file. You can then use solution 11166194 to do the renaming. : ) Save the script as "findcells.il" in your working directory and execute it as follows:load "findcells.il"CCSwriteCells("myLib" "myTopCell" "myView")where "myView" can be either schematic or layout. The cell names will be written to a file named "list_cell". procedure( CCSfindAllCells(myLib myTopCell myView) prog( (allSubCells topCv allInsts cellList) allSubCells=list() topCv=dbOpenCellViewByType(myLib myTopCell myView) allInsts=topCv~>instances foreach( inst allInsts unless( member(inst~>cellName allSubCells) allSubCells=append1(allSubCells inst~>cellName) cellList=CCSfindAllCells(inst~>libName inst~>cellName inst~>viewName) if( listp(cellList) then allSubCells=append(allSubCells cellList) ) ;if ) ;unless ) ;foreach return(allSubCells) ) ;prog) ;procedureprocedure( CCSwriteCells(myLib myTopCell myView) let( (outPort cellList) outPort=outfile("list_cell") cellList=CCSfindAllCells(myLib myTopCell myView) foreach(cell cellList fprintf(outPort "%s\n" cell) ) ;foreach close(outPort) outPort=nil printf("List of subcells have been written to file list_cell\n") ) ;let) ;procedureHope that this helps you. : )Best regardsQuek