I would like to ask about a warning in CIW. When I try to create a library which "Attach to an existting techfile" option, the CIW displays warning:
*WARNING* (TECH-230035): User-defined rule "minExtensionDistance" in constraint
group "foundry" of techDB "<tech_name>" conflicts with
a built-in constraint with the same name.
You may write out "constraintGroups" section to an
ASCII file, reopen the technology database in "a"
mode, and reload the file to update the database.
Another option is to rename this rule.
Can anyone figure out this problem, please?
Thank you so much.
From doing a bit of digging, I believe this is due to a change that was made in IC614 (not sure precisely which subversion) where the constraint groups used were mapped to the correct OpenAccess constraint group names. It affects technology databases that were compiled before this. I think it may have been that the technology database was compiled in IC613, and that's the problem.
I think doing a "Save" of the technology file from the technology library in Tools->Technology File and then doing a "Load" in Replace mode back to the same technology library would fix it. But you might want to check with the foundry first in case they have a newer version of the PDK. That's effectively what the instructions in the message are telling you to do.
Can you explain for me what <constraint group "foundry"> is and what <built-in constraint> is? What is "constraintGroup"?
If you dump the tech file, you'll see there is a section called constraintGroups and within that there's a definition of various groups,probably including one called "foundry" which is the base level constraint group. This is how sets of process rules are organized in the technology.
The constraint system supports both built-in constraints and custom constraint types. In this context however, it was because in older versions that particular constraint (that was mentioned in the error message) was not implemented by Cadence using the native OpenAccess constraint (I can't quite remember why, possibly due to legacy issues with an older version still), and so was implemented as a custom constraint rather than a built-in one. When we migrated to use the new built-in constraint in OA, there was a discrepancy, and hence the warning.
I believe this is the case - I've not fully read up on it, because this change was a few years ago and I've forgotten the precise explanation (the first paragraph is definitely correct though).