Modified the routine that determines contact size from the CIF rules
to accomodate a method used for processes that require additional spacing between contacts for large via arrays; this requires distinguishing between large and small areas to output vias, and so requires use of "and" and "and-not" before "squares". This highlights the arbitrary nature of this routine, which probably works better getting data from cifinput, or not at all (i.e., it is used when reading LEF, but it is known that the LEF read routines would be better implemented by running input through CIFGen(). If that were done, then this problem would not come up).
This commit is contained in:
parent
2e0e7af3f3
commit
5fb41a68c8
|
|
@ -2143,7 +2143,11 @@ CIFGetContactSize(type, edge, spacing, border)
|
||||||
|
|
||||||
/* Anything other than an OR function will break */
|
/* Anything other than an OR function will break */
|
||||||
/* the relationship between magic layers and cuts. */
|
/* the relationship between magic layers and cuts. */
|
||||||
else if (sop->co_opcode != CIFOP_OR)
|
/* NOTE: Making an exception for AND_NOT, which is */
|
||||||
|
/* used to distinguish between small and large via */
|
||||||
|
/* areas. */
|
||||||
|
else if ((sop->co_opcode != CIFOP_OR) &&
|
||||||
|
(sop->co_opcode != CIFOP_ANDNOT))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue