Saguaro.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Written by gbb, March 31, 1987 5:37:59 pm PST
gbb April 15, 1987 6:28:49 pm PDT
Saguaro is an extractor just for transistors. The code is very similar to the one now in Spinifex and much simpler than the original approach based on corner stitching.
DIRECTORY
CD USING [Layer, Number, Object],
CDAtomicObjects USING [DrawList],
Rope USING [ROPE];
Saguaro: CEDAR DEFINITIONS ~ BEGIN
Types
ExtractedTransistor: TYPE ~ REF ExXtr;
ExXtr: TYPE ~ RECORD [ch1, ch2, gate, bulk: Geom, type: Type, width, length: CD.Number];
Geom: TYPE ~ RECORD [layout: DrawList, area, perimeter: INT];
DrawList: TYPE ~ CDAtomicObjects.DrawList;
Type: TYPE ~ {nE, pE};
gate: READONLY CD.Layer;
invalidTransistor: SIGNAL [msg: Rope.ROPE];
Operation
ExtractTransistor: PROC [obj: CD.Object] RETURNS [et: ExtractedTransistor]
This procedure is technology independent in the sense that it knows all of them.
END.