Corrected an extraction issue in which an error message about
"unexpected asymmetric device" is printed prematurely, as it is inside a loop checking over all device entries compatible with a device type. Also: Flagged an issue with the "label" keyword in the "cifinput" section of a tech file. The "label" keyword cannot be used in conjunction with boolean operators. It can only connect labels on a specific GDS type to one magic type. Unfortunately, because this was not flagged before as an error or warning, the incorrect usage has crept into a lot of tech files. This uncovers an underlying issue that labels must be allowed to automatically reconnect types, which is undermined by the "no-reconnect-labels" cifinput option. That issue will be addressed in an upcoming commit.
This commit is contained in:
parent
8798a3256c
commit
5b29870fce
|
|
@ -872,10 +872,20 @@ CIFReadTechLine(sectionName, argc, argv)
|
|||
goto wrongNumArgs;
|
||||
}
|
||||
CIFParseReadLayers(argv[1], &mask, TRUE);
|
||||
for (i=0; i<MAXCIFRLAYERS; i+=1)
|
||||
for (i = 0; i < MAXCIFRLAYERS; i++)
|
||||
{
|
||||
if (TTMaskHasType(&mask,i))
|
||||
if (TTMaskHasType(&mask, i))
|
||||
{
|
||||
/* Only one magic type can be assigned to a GDS layer, so
|
||||
* multiple assignments should be flagged as errors.
|
||||
*/
|
||||
if (cifCurReadStyle->crs_labelLayer[i] != TT_SPACE)
|
||||
TechError("Labels on layer \"%s\" attached to \"%s\" supersedes "
|
||||
"prior attachment to \"%s\".\n",
|
||||
cifReadLayers[i],
|
||||
DBTypeLongNameTbl[cifCurReadLayer->crl_magicType],
|
||||
DBTypeLongNameTbl[cifCurReadStyle->crs_labelLayer[i]]);
|
||||
|
||||
cifCurReadStyle->crs_labelLayer[i]
|
||||
= cifCurReadLayer->crl_magicType;
|
||||
if (argc == 3)
|
||||
|
|
@ -899,8 +909,8 @@ CIFReadTechLine(sectionName, argc, argv)
|
|||
if (argc != 2) goto wrongNumArgs;
|
||||
CIFParseReadLayers(argv[1], &mask, TRUE);
|
||||
/* trash the value in crs_labelLayer so that any labels on this
|
||||
layer get junked, also. dcs 4/11/90
|
||||
*/
|
||||
* layer get junked, also. dcs 4/11/90
|
||||
*/
|
||||
for (i=0; i < cifNReadLayers; i++)
|
||||
{
|
||||
if (TTMaskHasType(&mask,i))
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
|||
* CmdAddPath --
|
||||
*
|
||||
* Implement the "addpath" command: append to the global cell search path.
|
||||
* (Usage superceded by extended "path" command; retained for compatibility)
|
||||
* (Usage superseded by extended "path" command; retained for compatibility)
|
||||
*
|
||||
* Usage:
|
||||
* addpath path
|
||||
|
|
|
|||
|
|
@ -785,7 +785,7 @@ CmdMove(w, cmd)
|
|||
* box exists.
|
||||
* If no selection exists, but the box does, then move the box
|
||||
* anyway (hace 10/8/97)
|
||||
* The above method is superceded by "box move <dir> <dist>"
|
||||
* The above method is superseded by "box move <dir> <dist>"
|
||||
* but is retained for backward compatibility.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -3490,16 +3490,10 @@ extTransPerimFunc(bp)
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Do not generate error messages on "Ignore" or "Short"
|
||||
* device types
|
||||
/* Do not print error messages here, as errors may
|
||||
* be resolved when checking the next device entry.
|
||||
*/
|
||||
if (strcmp(extTransRec.tr_devrec->exts_deviceName, "Ignore") &&
|
||||
strcmp(extTransRec.tr_devrec->exts_deviceName, "Short"))
|
||||
TxError("Warning: Unexpected asymmetric device at %d, %d!\n",
|
||||
bp->b_outside->ti_ll.p_x, bp->b_outside->ti_ll.p_y);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Add the length to this terminal's perimeter */
|
||||
extTransRec.tr_termlen[thisterm] += len;
|
||||
|
|
|
|||
Loading…
Reference in New Issue