Added a quick check on cell defs when running "antennacheck" to
make sure that the cell def's .ext is not marked "abstract". Otherwise, "antennacheck" appears to run, but no output is produced, and no reason is given.
This commit is contained in:
parent
2b7b12d34c
commit
43d5cc2804
|
|
@ -224,7 +224,7 @@ runantennacheck:
|
|||
}
|
||||
|
||||
/* Convert the hierarchical description to a flat one */
|
||||
flatFlags = EF_FLATNODES;
|
||||
flatFlags = EF_FLATNODES | EF_WARNABSTRACT;
|
||||
TxPrintf("Building flattened netlist.\n");
|
||||
EFFlatBuild(inName, flatFlags);
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ int efAddOneConn(HierContext *, char *, char *, Connection *, bool);
|
|||
|
||||
#define FLATNODE_STDCELL 0x01
|
||||
#define FLATNODE_DOWARN 0x02
|
||||
#define FLATNODE_NOABSTRACT 0x04
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -129,6 +130,10 @@ EFFlatBuild(name, flags)
|
|||
|
||||
if (flags & EF_FLATNODES)
|
||||
{
|
||||
int flatnodeflags = 0;
|
||||
if (flags & EF_WARNABSTRACT)
|
||||
flatnodeflags = FLATNODE_NOABSTRACT;
|
||||
|
||||
if (flags & EF_NOFLATSUBCKT)
|
||||
{
|
||||
/* The top cell must always have the DEF_SUBCIRCUIT flag cleared */
|
||||
|
|
@ -137,8 +142,8 @@ EFFlatBuild(name, flags)
|
|||
}
|
||||
else
|
||||
{
|
||||
int flags = FLATNODE_DOWARN; /* No FLATNODE_STDCELL flag */
|
||||
efFlatNodes(&efFlatContext, (ClientData)flags);
|
||||
flatnodeflags |= FLATNODE_DOWARN; /* No FLATNODE_STDCELL flag */
|
||||
efFlatNodes(&efFlatContext, (ClientData)flatnodeflags);
|
||||
}
|
||||
efFlatKills(&efFlatContext);
|
||||
if (!(flags & EF_NONAMEMERGE))
|
||||
|
|
@ -316,6 +321,14 @@ efFlatNodes(hc, clientData)
|
|||
bool stdcell = (flags & FLATNODE_STDCELL) ? TRUE : FALSE;
|
||||
bool doWarn = (flags & FLATNODE_DOWARN) ? TRUE : FALSE;
|
||||
|
||||
if (flags & FLATNODE_NOABSTRACT)
|
||||
{
|
||||
Def *def = hc->hc_use->use_def;
|
||||
if (def->def_flags & DEF_ABSTRACT)
|
||||
TxError("Error: Cell %s was extracted as an abstract view.\n",
|
||||
def->def_name);
|
||||
}
|
||||
|
||||
(void) efHierSrUses(hc, efFlatNodes, clientData);
|
||||
|
||||
/* Add all our own nodes to the table */
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ typedef unsigned char U_char;
|
|||
#define EF_NOFLATSUBCKT 0x10 /* Don't flatten standard cells */
|
||||
#define EF_NONAMEMERGE 0x20 /* Don't merge unconnected nets */
|
||||
/* with the same name. */
|
||||
#define EF_WARNABSTRACT 0x40 /* Warn if subcell is abstract */
|
||||
|
||||
/* Flags to control output of node names. Stored in EFOutputFlags */
|
||||
#define EF_TRIM_MASK 0x1f /* Mask for handling name trimming */
|
||||
|
|
|
|||
Loading…
Reference in New Issue