Additional modification to the devVisit routine in extflat to

change from passing the HierName to passing the HierContext (of which
HierName is a part) so that more information from HierContext (such
as the cell use being visited) can be passed to the callback
procedure (largely for diagnostic purposes).
This commit is contained in:
Tim Edwards
2020-06-01 17:14:22 -04:00
parent 15f1c82bc9
commit 01966d594e
4 changed files with 23 additions and 14 deletions
+5 -2
View File
@@ -31,6 +31,7 @@
#include "dbwind/dbwind.h"
#include "textio/txcommands.h"
#include "extflat/extflat.h"
#include "extflat/EFint.h"
#include "extract/extract.h"
#include "extract/extractInt.h"
#include "utils/malloc.h"
@@ -335,9 +336,9 @@ HierName *suffix;
*/
int
antennacheckVisit(dev, hierName, scale, trans, editUse)
antennacheckVisit(dev, hc, scale, trans, editUse)
Dev *dev; /* Device being output */
HierName *hierName; /* Hierarchical path down to this device */
HierContext *hc; /* Hierarchical context down to this device */
float scale; /* Scale transform for output */
Transform *trans; /* Coordinate transform */
CellUse *editUse; /* ClientData is edit cell use */
@@ -354,6 +355,7 @@ antennacheckVisit(dev, hierName, scale, trans, editUse)
SearchContext scx;
TileTypeBitMask gatemask, saveConMask;
bool antennaError;
HierName *hierName = hc->hc_hierName;
extern CellDef *extPathDef; /* see extract/ExtLength.c */
extern CellUse *extPathUse; /* see extract/ExtLength.c */
@@ -554,6 +556,7 @@ antennacheckVisit(dev, hierName, scale, trans, editUse)
antennaError = TRUE;
if (efAntennaDebug == TRUE)
{
TxError("Cell: %s\n", hc->hc_use->use_id);
TxError("Antenna violation detected at plane %s\n",
DBPlaneLongNameTbl[pNum2]);
TxError("Effective antenna ratio %g > limit %g\n",
+1 -1
View File
@@ -321,7 +321,7 @@ efVisitDevs(hc, ca)
if (efDevKilled(dev, hc->hc_hierName))
continue;
if ((*ca->ca_proc)(dev, hc->hc_hierName, scale, &t, ca->ca_cdata))
if ((*ca->ca_proc)(dev, hc, scale, &t, ca->ca_cdata))
return 1;
}
return 0;