• 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 Design
  3. how to set a bindkey to display multiple layers ?

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 126
  • Views 20629
  • 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

how to set a bindkey to display multiple layers ?

Nhumai
Nhumai over 7 years ago

Hi, 

I am using cadence 6.1. I am trying to set a bindkey to display certain layers at 1 time. For example key '0' will display base layers, key'1' will display metal1 via2 and metal 2 . I have a simple setup like below but it didn't work. I am not sure what is the missing in this code ? I am new skill code 

thanks 

Nhumai 

hiSetBindKeys( "Layout" list(

 list("<key>1" "pteSetNoneVisible() leSetEntryLayer(list(\"M0\" \"drawing\")) leSetEntryLayer(list(\"M0\" \"pin\")) letSetEntryLayer(list(\"VIA0\" \"drawing\")) leSetEntryLayer(list(\"M1\" \"drawing\")) leSetEntryLayer(list(\"M1\" \"pin\")) leSetEntryLayer(list(\"CM1A\" \"drawing\")) leSetEntryLayer(list(\"CM1B\" \"drawing\")) leSetEntryLayer(list(\"prBoundary\" \"boundary\")) hiRedraw()")
 list("<key>2" "pteSetNoneVisible() leSetEntryLayer(list(\"M1\" \"drawing\")) leSetEntryLayer(list(\"M1\" \"pin\")) letSetEntryLayer(list(\"VIA1\" \"drawing\")) leSetEntryLayer(list(\"M2\" \"drawing\")) leSetEntryLayer(list(\"M2\" \"pin\")) leSetEntryLayer(list(\"CM2B\" \"drawing\")) leSetEntryLayer(list(\"prBoundary\" \"boundary\")) hiRedraw()")
 

  • Cancel
Parents
  • Marben
    Marben over 7 years ago

    HI Nhumai,

    ;Usage: Bindkey 0 makes all layer invisible except layer "ref" "drawing" in layout.
     hiSetBindKey("Layout" "<Key>0" "visibility_0()")
     procedure(visibility_0()  
      leSetEntryLayer(list("ref" "drawing"))
      leSetAllLayerVisible( nil );
      leSetLayerVisible( list("ref" "drawing") t )  
      hiRedraw( )
      printf("\n All layers is set to invisible except ref layer. \n ")
     )

     ;Usage: Bindkey 1 makes layer METAL1, METAL2 and VIA2 drawing visible in layout.
     hiSetBindKey("Layout" "<Key>1" "visibility_1()")
     procedure(visibility_1()
         leSetEntryLayer(list("METAL1" "drawing"))         
         leSetAllLayerVisible( nil )
         leSetLayerVisible( list("METAL1") t )
            leSetLayerVisible( list("METAL1" "drawing") t )
            leSetLayerVisible( list("METAL2" "drawing") t )
            leSetLayerVisible( list("VIA2" "drawing") t )           
         hiRedraw( )
         printf("\n METAL1, METAL2 VIA2 dawing is set to visible. \n ")
     )
        

    I hope this help.

    Best regards,

    Marben

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Marben
    Marben over 7 years ago

    HI Nhumai,

    ;Usage: Bindkey 0 makes all layer invisible except layer "ref" "drawing" in layout.
     hiSetBindKey("Layout" "<Key>0" "visibility_0()")
     procedure(visibility_0()  
      leSetEntryLayer(list("ref" "drawing"))
      leSetAllLayerVisible( nil );
      leSetLayerVisible( list("ref" "drawing") t )  
      hiRedraw( )
      printf("\n All layers is set to invisible except ref layer. \n ")
     )

     ;Usage: Bindkey 1 makes layer METAL1, METAL2 and VIA2 drawing visible in layout.
     hiSetBindKey("Layout" "<Key>1" "visibility_1()")
     procedure(visibility_1()
         leSetEntryLayer(list("METAL1" "drawing"))         
         leSetAllLayerVisible( nil )
         leSetLayerVisible( list("METAL1") t )
            leSetLayerVisible( list("METAL1" "drawing") t )
            leSetLayerVisible( list("METAL2" "drawing") t )
            leSetLayerVisible( list("VIA2" "drawing") t )           
         hiRedraw( )
         printf("\n METAL1, METAL2 VIA2 dawing is set to visible. \n ")
     )
        

    I hope this help.

    Best regards,

    Marben

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Nhumai
    Nhumai over 7 years ago in reply to Marben

    Hi Marben,

    It is working fine for me. Thanks a lot 

    Nhumai 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Nhumai
    Nhumai over 7 years ago in reply to Nhumai

    Hi Marben,

    I expand the script to this kind of set and still it is working fine.

    thanks 

    ;Usage: Bindkey 0 makes all layer invisible except layer "ref" "drawing" in layout.

     hiSetBindKey("Layout" "<Key>0" "visibility_0()")

     procedure(visibility_0()

      leSetEntryLayer(list("ref" "drawing"))

      leSetAllLayerVisible( nil );

      leSetLayerVisible( list("ref" "drawing") t )

      hiRedraw( )

      printf("\n All layers is set to invisible except ref layer. \n ")

     )

     procedure(visibility_1()

         leSetEntryLayer(list("nwell" "drawing"))        

         leSetAllLayerVisible( nil )

         leSetLayerVisible( list("nwell") t )

            leSetLayerVisible( list("diff" "drawing") t )

            leSetLayerVisible( list("nsdm" "drawing") t )

            leSetLayerVisible( list("psdm" "drawing") t )          

            leSetLayerVisible( list("poly" "drawing") t )          

            leSetLayerVisible( list("pcon" "drawing") t )          

            leSetLayerVisible( list("tap" "drawing") t )          

            leSetLayerVisible( list("hvi" "drawing") t )          

            leSetLayerVisible( list("litr" "drawing") t )           

         hiRedraw( )

         printf("\n base layer is set to visible. \n ")

     )

     procedure(visibility_2()

         leSetEntryLayer(list("met1" "drawing"))        

         leSetAllLayerVisible( nil )

         leSetLayerVisible( list("met1") t )

            leSetLayerVisible( list("met1" "drawing") t )

            leSetLayerVisible( list("met2" "drawing") t )

            leSetLayerVisible( list("via" "drawing") t )          

         hiRedraw( )

         printf("\n METAL1, METAL2 VIA2 dawing is set to visible. \n ")

     )

     

    ;Usage: Bindkey 1 makes layer METAL1, METAL2 and VIA2 drawing visible in layout.

     hiSetBindKey("Layout" "<Key>1" "visibility_1()") 

    hiSetBindKey("Layout" "<Key>2" "visibility_2()")

     

    • 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