DIRECTORY CD, Core, CoreFlat, CoreGeometry, Sinix; ExtractUtilities: CEDAR DEFINITIONS = BEGIN ExtractCellAsWireWithPins: Sinix.ExtractProc; PreExtracted: Sinix.ExtractProc; MatchSourceToExtracted: PROC [sdecoration, edecoration: CoreGeometry.Decoration, slayer, elayer: CD.Layer, source, extracted: Core.CellType, name: Core.ROPE _ NIL, props: Core.Properties _ NIL] RETURNS [new: Core.CellType]; Search: PROC [rootCT: Core.CellType, name: Core.ROPE] RETURNS [ct: Core.CellType _ NIL, flat: CoreFlat.FlatCellTypeRec _ CoreFlat.rootCellType]; RefInts: TYPE = LIST OF REF INT; CountInstances: PROC [object: CD.Object] RETURNS [instanceCounts: RefInts]; KeepChoice: TYPE = {all, none, one}; CleanUpDecorations: PROC [decoration: CoreGeometry.Decoration, cell: Core.CellType, keepObject: BOOL _ FALSE, keepPins: KeepChoice _ none, keepGeometry: KeepChoice _ one]; FlattenUniques: PROC [decoration: CoreGeometry.Decoration, cell: Core.CellType, flattenNamed: BOOL _ FALSE] RETURNS [Core.CellType]; END. βExtractUtilities.mesa Copyright Σ 1987 by Xerox Corporation. All rights reserved. Bertrand Serlet September 17, 1987 4:02:40 pm PDT Theory Grouped in this interface are various utilities for Extracting and applying processors such as DRC or simulators. Very much in evolution. Usage of those functions can be unsafe. Some Extract Procs Can be used for extracting a whole CD cell as a Core Wire, decorated with all the instances of the CD Cell. Useful for old Pads. Wizards only. Registered as $PreExtracted Result comes from reading the file with the same name as obj. Can be used for multiple VM extraction. Computing corresponding cells Given a schematics (source) that reflects the pin out, and the result of the extraction (in some mode), make a new cell that has same public as source, and that contains an instance of extracted. Looking for a named CellType Useful for Debug. Sorting Cells by number of instances Useful type for the interpreter. Squeezing Core Structures ΚΉ– "cedar" style˜– "Cedar" stylešœ™Icode– "Cedar" style™œΟbœ™—šž œ˜ Jšœ™JšœXœ ™f——™šžœœEœ5œœœœ˜ίKšœΔ™Δ——™š žœœ$œœœ:˜K™——™$š œ œœœœœ˜ J™ J™—Kšžœœ œ œ˜K—™Kšœ œ˜$KšžœœHœœ?˜«Kš žœœJœœœ˜„J™—Jšœ˜—…—κ