• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. A few questions about skill?

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 14840
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

A few questions about skill?

Prabhu The ICL
Prabhu The ICL over 15 years ago

 Hi, All!
  I am using cadence IC514 version. Can someone suggest appropriate answers for the following questions...?

/*****************************

**********************************************************************************
1--> What is the best approach to traverse through layout hierarchy (which is having mosaics)
   including opening, modifying, saving and closing cellview ...?

   /*******************flatten pcells, convert paths to polygon and merge all shapes************************/
   procedure(size_traverse(@optional (cv deGetEditCellView()))
  FLATTEN_MPP(cv)  ;; consists rodGetNamedshapes() and rodUnNameShape() functions
  path2polygon(cv) ;; consists dbConvertPathToPolygon() function

  foreach(inst cv~>mosaics
      if(member(car(inst~>instanceList)~>libName list("tcbn65gplus" "tsmcN65")) then
          leFlattenInst(inst 31 t nil nil)
      else
      if(ddGetObj(car(inst~>instanceList)~>libName car(inst~>instanceList)~>cellName car(inst~>instanceList)~>viewName) then
          mas = dbOpenCellViewByType(car(inst~>instanceList)~>libName car(inst~>instanceList)~>cellName car(inst~>instanceList)~>viewName "" "a")
          size_traverse(mas)
          dbSave(mas)
          dbClose(mas)
      );if
      );if
  );foreach

  foreach(instp cv~>instances
      if(member(instp~>libName list("tcbn65gplus" "tsmcN65")) then
          leFlattenInst(instp 31 t nil nil)
      else
      if(ddGetObj(instp~>libName instp~>cellName instp~>viewName) then
          masp = dbOpenCellViewByType(instp~>libName instp~>cellName instp~>viewName "" "a")
          size_traverse(masp)
          dbSave(masp)
          dbClose(masp)
      );if
      );if
  );foreach
);size_traverse
   /*******************flatten pcells, convert paths to polygon and merge all shapes************************/

When I run this code by commenting dbSave() and dbClose() statements everything is going fine.
(And finally I am doing closedata by saving all to complete the desired task)
But when I include these statements I am getting the following error ...

*Error* dbSave: Invalid cellView - db:294651948

I am not able find out this invalid dbId that encountering dbSave() statement.

2--> Is file manipulation slow in SKILL compared to tcl/perl/shell ...?

3--> How to make 'SKILL' code faster (while dealling with files) ...? (A simple example please...!)

4--> In SKILL Can we create pulldown menu for a form which has created by hiCreateAppForm() (like File-->Open-->Close) ...?

5-->
hyper1 = hiCreateHypertextField(?name 'hyper1  ?value "<A>(10:0 10:20)</A>" ?callback "my_proc")
myForm= hiCreateAppForm(
          ?name 'myForm
          ?fields list(hyper1)
          ?formTitle "HyperText demo form..."
          ?callback ""
          ?buttonLayout 'OKCancelApply
          ?initialSize t
          )
hiDisplayForm(myForm)

How to add another hypertext value beside (10:0 10:20) ...?
In the above example my_proc is a simple pop-up menu. I need this pop-up displayed at the cursor. But this pop-up displaying at a different location.
I hope the problem is understandable. If not I will come up with some more information.

***************************************************************************************************************/

Thanks in Advance ...

Prabhakar. K --- The ICL Engineer
SoCtronics
  • Cancel
Parents
  • Prabhu The ICL
    Prabhu The ICL over 15 years ago
    Hi! Andrew, I got the Cadence Online Support Solution 11328674. Inorder to fullfill my task I have added the following code snippet. After running for few layers the tool is getting crashed with out any errors or warnings. Is there any way to resolve this problem. /**********start here************/ src=geGetEditCellView() dst=dbOpenCellViewByType(src~>libName src~>cellName "flattened" "maskLayout" "w") (procedure (SoC_Flatten) (foreach lpp src~>lpps (if lpp~>purpose!="pin" then (CCSflattenAndMerge src dst (list lpp~>layerName lpp~>purpose)) (dbSave dst) );if );foreach );myflatten SoC_Flatten() /**********ends here************/ Regards... Prabhakar. K --- The ICL Engineer SoCtronics
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Prabhu The ICL
    Prabhu The ICL over 15 years ago
    Hi! Andrew, I got the Cadence Online Support Solution 11328674. Inorder to fullfill my task I have added the following code snippet. After running for few layers the tool is getting crashed with out any errors or warnings. Is there any way to resolve this problem. /**********start here************/ src=geGetEditCellView() dst=dbOpenCellViewByType(src~>libName src~>cellName "flattened" "maskLayout" "w") (procedure (SoC_Flatten) (foreach lpp src~>lpps (if lpp~>purpose!="pin" then (CCSflattenAndMerge src dst (list lpp~>layerName lpp~>purpose)) (dbSave dst) );if );foreach );myflatten SoC_Flatten() /**********ends here************/ Regards... Prabhakar. K --- The ICL Engineer SoCtronics
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information