mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-08-22 14:17:43 +02:00
Changed the behavior of GDS writing to halt with an error if an
attempt is made to write an abstract view to GDS. This behavior can be overridded with the new command option "gds abstract [enable|disable]". Also: Corrected extraction to allow split tiles to be set as the reference tile for a node. Previously this was allowed only if the tile was the first to be searched, but that can cause different tiles to be marked as the reference depending on where the search starts, resulting in different names for the same node in .ext files, which is bad. Also: Modified the LEF annotation to avoid bad entries in the LEF that would create layers in the layout where none exist.
This commit is contained in:
+11
-4
@@ -65,6 +65,7 @@ bool CalmaFlattenArrays = FALSE; /* If TRUE, output arrays as individual uses *
|
||||
bool CalmaAddendum = FALSE; /* If TRUE, do not output readonly cell defs */
|
||||
time_t *CalmaDateStamp = NULL; /* If non-NULL, output this for creation date stamp */
|
||||
bool CalmaAllowUndefined = FALSE; /* If TRUE, allow calls to undefined cells */
|
||||
bool CalmaAllowAbstract = FALSE; /* If TRUE, allow abstract views to be written */
|
||||
|
||||
/* Experimental stuff---not thoroughly tested (as of Sept. 2007)! */
|
||||
bool CalmaContactArrays = FALSE; /* If TRUE, output contacts as subcell arrays */
|
||||
@@ -925,12 +926,18 @@ calmaProcessDef(def, outf, do_library)
|
||||
|
||||
if (isReadOnly && hasContent && CalmaAddendum) return (0);
|
||||
|
||||
/* Give a strongly-worded statement about writing abstract views */
|
||||
|
||||
if (isAbstract && !isReadOnly)
|
||||
TxError("Warning: Writing abstract view of \"%s\" to GDS. This is"
|
||||
" probably not what you want to do.\n",
|
||||
{
|
||||
if (CalmaAllowAbstract)
|
||||
TxError("Warning: Writing abstract view of \"%s\" to GDS.\n",
|
||||
def->cd_name);
|
||||
else
|
||||
{
|
||||
TxError("Error: Cell \"%s\" is an abstract view; cannot write GDS.\n",
|
||||
def->cd_name);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Output the definitions for any of our descendants that have
|
||||
|
||||
Reference in New Issue
Block a user