mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-09-01 18:48:37 +02:00
Found another issue with the substrate extraction, caused by the
fact that "extract all" does not enumerate cells from bottom up as I had assumed---The order is roughly bottom-to-top, but cells re-used in different places in the hierarchy could end up called before one or more of their own subcells is extracted. Since this conflicted with the preparation of the substrate in each extracted subcircuit, I changed the method to enumerate cells so that it is properly bottom-to-top. Also, methods were added to "extract" (incremental), "extract cell", and "extract parents" to ensure that the substrate is prepared on all subcells before extraction.
This commit is contained in:
@@ -416,6 +416,8 @@ typedef struct celldef
|
||||
* with caution as it messes with the usual timestamp tracking,
|
||||
* but is useful for preparing libraries all cells of which have
|
||||
* the same timestamp value.
|
||||
* CDNOEXTRACT is used by incremental extraction to flag cells that
|
||||
* are up-to-date and do not need to be re-extracted.
|
||||
*/
|
||||
|
||||
#define CDAVAILABLE 0x00001
|
||||
@@ -435,6 +437,7 @@ typedef struct celldef
|
||||
#define CDVISITED 0x04000
|
||||
#define CDDEREFERENCE 0x08000
|
||||
#define CDFIXEDSTAMP 0x10000
|
||||
#define CDNOEXTRACT 0x20000
|
||||
|
||||
/*
|
||||
* Description of an array.
|
||||
|
||||
Reference in New Issue
Block a user