• 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. Question regarding custom constraints

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 13088
  • 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

Question regarding custom constraints

Rushang
Rushang over 13 years ago

Hi

I am trying to create custom constraint to capture designer intent on schematic. I am able to define constraints and list them in constraint manager. Now I would like to restrict  some parameters to be set on constraint only and not on the members.

I read following in the cadence document but I am not clear on how to achieve this.

A parameter declaration on the constraint dictionary (propdict.def) allows the parameter to be created on either the constraint or the member. To restrict the use of parameters, for example setting values on members or the parameter range and combination, you should use the verifyCB callback (see Validation and Verification Callbacks). Illegal parameter settings and member combination should yield warning messages and the callback should return nil. For example, your verify callback could allow a parameter to be set on net members only, or only on constraints. Moreover, it could restrict that only the first member can be, for example, an instance. Any logical check, with respect to constraint members and parameters, can be performed using the verifyCB callback in order to restrict parameter and member usage.

Ideally I would like to display a parameter only for constraint and not for it's member (just like Priority parameter for  Net Priority). Also how to prompt user to enter value for a parameter (should it be through verifyCB callback ?)

Here is example of my propdict.def and config.xml file for custom constraint.

propdict.def file

occPropGroupType MyCustCons1 {
        verifyCB=MyCustCons1VerifyCB;
        legalPropName MyCustomCons1Param1 {
                valueType = enum;
                valueDefault= "None";
                valueRange = "None foo bar";
        }
        legalPropName MyCustomCons1Param2 {
                valueType = enum;
                valueRange = "TRUE FALSE";
        }
}

config.xml file

 <ConstraintType>
   <Name>MyCustomCons1</Name>
   <GUIName menu="MyMenu">FancyName</GUIName>
   <MinMembers>2</MinMembers>
   <MaxMembers>2</MaxMembers>
   <AllowedMemberTypes>net</AllowedMemberTypes>
   <Param><Name>MyCustomCons1Param1</Name>
        <GUIName visibleInEditor="true" summary="ValOnlyIfNotDefault">Param1</GUIName>
   </Param>
   <Param><Name>MyCustomCons1Param2</Name>
        <GUIName visibleInEditor="true" summary="ValOnlyIfNotDefault">Param2</GUIName>
   </Param>
/ConstraintType>

How can I configure so that designer will see Param1 for both constraint and it's member but Param2 is only visible for constraint and not for it's member ?

How can I prompt user to always enter Param2 value when the constraint is created ?

Thanx,
Rushang

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

    Rushang,

    I would suggest you log a service request for this. I personally don't have the bandwidth to go into this in the depth needed - and it doesn't seem that you've got an answer from anyone else yet.

    Best Regards,

    Andrew.

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

    Rushang,

    I would suggest you log a service request for this. I personally don't have the bandwidth to go into this in the depth needed - and it doesn't seem that you've got an answer from anyone else yet.

    Best Regards,

    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