• 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. Creating new attributes and sub-attributes

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 144
  • Views 16417
  • 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

Creating new attributes and sub-attributes

lkphoto
lkphoto over 11 years ago

 Hi Everyone,

I would like to add an attribute, for example to a cellview Cv.
The attribute should have itself other attributes, and so on.
It should work therefore similarly to the well-known
Cv~>shapes
which can be called again like this:
Cv~>shapes~>points
or like this:
Cv~>shapes~>lpp


Summarizing, given a cellview Cv I would like to create MyNewAttribute, MyNewSubAttribute1 and  MyNewSubAttribute2 such that I can call them by writing:
Cv~> MyNewAttribute~> MyNewSubAttribute1
Cv~> MyNewAttribute~> MyNewSubAttribute2

I know the command dbCreateHierProp(Cv "MyNewAttribute") but I have two problems using it:
1. It stores MyNewAttribute not directly under Cv, but under Cv~>prop. This is just an esthetic problem since the command Cv~>MyNewAttribute still works, but the command Cv~>? does not show MyNewAttribute (which is very unpractical)
2. I cannot create MyNewSubAttribute1

How can I do?

Thanks a lot in advance for any suggestions,
lkphoto

  • Cancel
Parents
  • lkphoto
    lkphoto over 11 years ago

     Actually, I gave a closer look and I still have a problem:

    In the example above “MyNewAtt” is a single property, while I would like it to be a list of elements having themselves properties.
    The example of “shapes” and “points” fits pretty well:

    If I type:
    cv~>shapes
    I can get MANY objects, not only one.

    And if I type:
    cv~>shapes~>points
    I get a list of points for EACH shape.

    Unfortunately, I do not find a way of doing same using the function dbCreateHierProp.
    What I am trying to do, is defining new types of ports. Each ports, has some properties, for example a center and a width.
    Each cellview Cv has multiple ports.

    I tried:

        defstruct( Port center width  )    
        dbCreateHierProp(Cv "Ports")
        Port1 = make_Port( ?center list(1.0 1.0) ?width 1.0 )
        Port2 = make_Port( ?center list(2.0 2.0) ?width 2.0 )
        Ports = list(Port1 Port2)    
        Cv~>Ports = Ports ; defining the property to be the list of structures (appears working OK)
        ; Testing:
        Ports~>?                      ; works fine.
        nth(0 Ports)~>point0      ; works fine.    
        Cv~>Ports~>center        ; but this fails.
     
    Any idea?
    I could not find any way of using groups either.

    Many thanks in advance,
    lkphoto

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • lkphoto
    lkphoto over 11 years ago

     Actually, I gave a closer look and I still have a problem:

    In the example above “MyNewAtt” is a single property, while I would like it to be a list of elements having themselves properties.
    The example of “shapes” and “points” fits pretty well:

    If I type:
    cv~>shapes
    I can get MANY objects, not only one.

    And if I type:
    cv~>shapes~>points
    I get a list of points for EACH shape.

    Unfortunately, I do not find a way of doing same using the function dbCreateHierProp.
    What I am trying to do, is defining new types of ports. Each ports, has some properties, for example a center and a width.
    Each cellview Cv has multiple ports.

    I tried:

        defstruct( Port center width  )    
        dbCreateHierProp(Cv "Ports")
        Port1 = make_Port( ?center list(1.0 1.0) ?width 1.0 )
        Port2 = make_Port( ?center list(2.0 2.0) ?width 2.0 )
        Ports = list(Port1 Port2)    
        Cv~>Ports = Ports ; defining the property to be the list of structures (appears working OK)
        ; Testing:
        Ports~>?                      ; works fine.
        nth(0 Ports)~>point0      ; works fine.    
        Cv~>Ports~>center        ; but this fails.
     
    Any idea?
    I could not find any way of using groups either.

    Many thanks in advance,
    lkphoto

    • 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