• 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. Loading LayerSets with a bindkey

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 144
  • Views 13227
  • 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

Loading LayerSets with a bindkey

isgdude
isgdude over 15 years ago

I wish to load a LayerSet file using a bindkey instead of LSW->edit->Layer Sets->load

The location of my layerSet file is:

./.cadence/dfII/layerSet/bicmosSige/mylayers.layerSet 

Everytime I drop down into a cellview, the default LSW layers are displayed and I  need to reload my LayerSet file.

Even when I return to the upper levels, I need to reload the file.

I'm mainly using layerSet to reorder the layers in the LSW.  The techfile is controlled, so I can't edit it.

I can't seem to find very much Skill info on LayerSets in the documentation or on sourcelink.  

Thanks

Randy 

 

  • Cancel
  • Quek
    Quek over 15 years ago

    Hi Randy

    I think there are 2 ways to solve the problem:

    a. Save your layers as the default layers. Go to lsw "Edit->Layer Sets" and select "Save default".

    b. Use the following skillscript. It will autoload your layers whenever a layout is opened. I have also associated the loading to key F4.

    procedure( CCSautoLoadLS(args)
       let( (layerSetName)
          layerSetName="mylayers"
          _leLSWLayerSetForm->_leLSWLayerSetRadio->value="Load"
          _leLSWLayerSetForm->_leLSWLayerSetChoices->value=layerSetName
          hiFormDone(_leLSWLayerSetForm)
          printf("LayerSet %s autoloaded for cellview : %s\n"
            layerSetName args->cellName)
       ) ;let
    ) ;procedure

    hiSetBindKey("Layout" "F4" "CCSautoLoadLS(geGetWindowCellView())")
    deRegUserTriggers("maskLayout" nil nil 'CCSautoLoadLS)
    deRegUserTriggers("maskLayoutXL" nil nil 'CCSautoLoadLS)

    if( rexMatchp("virtuoso" getVersion()) then
       deRegUserTriggers("maskLayoutGXL" nil nil 'CCSautoLoadLS)
    ) ;if

    if( rexMatchp("icfb" getVersion()) then
       deRegUserTriggers("maskLayoutTurbo" nil nil 'CCSautoLoadLS)
    ) ;if

    I think option "a" is better because the skillscript makes use of the private variable  _leLSWLayerSetForm.


    Best regards
    Quek

    autoLoadLS.il
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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