A few minor changes to message reporting, plus some additional
support for compressed formats, specifically when given on the command line (which is handled in a Tcl script, not in the C code).
This commit is contained in:
parent
00c692b140
commit
97134848ab
|
|
@ -828,6 +828,7 @@ dbcConnectLabelFunc(scx, lab, tpath, csa2)
|
|||
CellDef *orig_def = scx->scx_use->cu_def;
|
||||
Label *slab;
|
||||
int lidx = lab->lab_port;
|
||||
bool foundOne;
|
||||
const TileTypeBitMask *connectMask;
|
||||
|
||||
/* Check for equivalent ports. For any found, call */
|
||||
|
|
@ -839,6 +840,7 @@ dbcConnectLabelFunc(scx, lab, tpath, csa2)
|
|||
/* are more equivalent ports, they will be found when */
|
||||
/* processing this label's area. */
|
||||
|
||||
foundOne = FALSE;
|
||||
for (slab = orig_def->cd_labels; slab != NULL; slab = slab->lab_next)
|
||||
if ((slab->lab_flags & PORT_DIR_MASK) && (slab != lab))
|
||||
if (slab->lab_port == lidx)
|
||||
|
|
@ -899,6 +901,20 @@ dbcConnectLabelFunc(scx, lab, tpath, csa2)
|
|||
csa2->csa2_list[csa2->csa2_top].connectMask = connectMask;
|
||||
csa2->csa2_list[csa2->csa2_top].dinfo = 0;
|
||||
|
||||
#if 0
|
||||
/* This warning is useful but currently is generating
|
||||
* multiple messages per instance and so its more of
|
||||
* an annoyance than an aid.
|
||||
*/
|
||||
|
||||
if (foundOne == FALSE)
|
||||
TxError("Warning: Port %s at location (%d %d) connects"
|
||||
" a net across multiple disconnected areas!\n",
|
||||
lab->lab_text, lab->lab_rect.r_xbot,
|
||||
lab->lab_rect.r_ybot);
|
||||
#endif
|
||||
foundOne = TRUE;
|
||||
|
||||
/* See above: Process only one equivalent port at a time */
|
||||
break;
|
||||
}
|
||||
|
|
@ -1247,7 +1263,8 @@ DBTreeCopyConnect(scx, mask, xMask, connect, area, doLabels, destUse)
|
|||
if (DBTreeSrLabels(scx, newmask, xMask, &tpath, searchtype,
|
||||
dbcConnectLabelFunc, (ClientData) &csa2) != 0)
|
||||
{
|
||||
TxError("Connection search hit memory limit and stopped.\n");
|
||||
TxError("Connection search was interrupted or hit "
|
||||
"memory limit and stopped.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3318,7 +3318,8 @@ dbFindPropGCFFunc(key, value, ggcf)
|
|||
break;
|
||||
else if (numvals != 4)
|
||||
{
|
||||
TxError("Error: Cannot parse %s property value!\n", key);
|
||||
TxError("Error: Cannot parse %s property value at \"%s\"!\n",
|
||||
key, vptr);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
|
@ -3337,7 +3338,7 @@ dbFindPropGCFFunc(key, value, ggcf)
|
|||
/* Skip forward four values in value */
|
||||
for (n = 0; n < 4; n++)
|
||||
{
|
||||
while (!isspace(*vptr)) vptr++;
|
||||
while (!isspace(*vptr) && (*vptr != '\0')) vptr++;
|
||||
while (isspace(*vptr) && (*vptr != '\0')) vptr++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -373,7 +373,13 @@ if {[info commands magic::openwrapper] != {}} {
|
|||
|
||||
foreach cellname $celllist {
|
||||
set fext [file extension $cellname]
|
||||
puts stdout "handling file entry $cellname extension $fext"
|
||||
switch $fext {
|
||||
.gz {}
|
||||
"" {}
|
||||
default {
|
||||
puts stdout "Handling file entry $cellname extension $fext"
|
||||
}
|
||||
}
|
||||
switch $fext {
|
||||
.lef -
|
||||
.LEF {lef read $cellname}
|
||||
|
|
@ -390,6 +396,16 @@ if {[info commands magic::openwrapper] != {}} {
|
|||
.tcl {source $cellname}
|
||||
.mag -
|
||||
"" {magic::load $cellname}
|
||||
.gz {
|
||||
set rootname [file root $cellname]
|
||||
set fext [file extension $rootname]
|
||||
puts stdout "Handling compressed entry $cellname extension $fext"
|
||||
switch $fext {
|
||||
.gds {gds read $cellname}
|
||||
.mag {magic::load $cellname}
|
||||
default {puts stderr "only compressed .mag and .gds are handled."}
|
||||
}
|
||||
}
|
||||
default {puts stderr "don't know how to load file $cellname"}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue