• 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. getting particular layer and purpose from validlayers of...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 144
  • Views 14625
  • 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

getting particular layer and purpose from validlayers of techfile

Rojalin
Rojalin over 13 years ago

hi,

I have all the validlayers from techfile .Now i want to get a list of all the metal layers of drawing purpose.

what is the skill function i need to use for this functionality??

Thanks 

 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    In IC61, if the tech file is set up to have a functions section in the layerRules section, you can do:

    tf=techGetTechFile(ddGetObj("myTechLibName"))
    metalLayers=mapcar('car setof(func techGetLayerFunctions(tf) cadr(func)=="metal"))

    If you want to definitely ensure they have a drawing purpose (which is rather likely), you can further refine:

    metalLayers=setof(metalLayer metalLayers techGetLP(tf list(metalLayer "drawing")))

    If the functions section is not set up, and you're doing it by name only, you could do:

    ; change the pattern to match what you want - here it's any layer that starts with "Metal"
    metalLpps=setof(lp tf~>lps lp~>purpose=="drawing" && rexMatchp("^Metal" lp~>name))
    metalLpps~>name

    Andrew

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    In IC61, if the tech file is set up to have a functions section in the layerRules section, you can do:

    tf=techGetTechFile(ddGetObj("myTechLibName"))
    metalLayers=mapcar('car setof(func techGetLayerFunctions(tf) cadr(func)=="metal"))

    If you want to definitely ensure they have a drawing purpose (which is rather likely), you can further refine:

    metalLayers=setof(metalLayer metalLayers techGetLP(tf list(metalLayer "drawing")))

    If the functions section is not set up, and you're doing it by name only, you could do:

    ; change the pattern to match what you want - here it's any layer that starts with "Metal"
    metalLpps=setof(lp tf~>lps lp~>purpose=="drawing" && rexMatchp("^Metal" lp~>name))
    metalLpps~>name

    Andrew

     

     

    • 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