SinixNMos.mesa 
Copyright © 1985 by Xerox Corporation. All rights reversed.
Created by Bertrand Serlet January 20, 1986 11:54:22 pm PST
Bertrand Serlet February 12, 1986 4:28:31 pm PST
Jean-Marc Frailong May 20, 1986 5:04:50 pm PDT
DIRECTORY
CD, CDAtomicObjects, Core, Rope, Sinix;
SinixNMos: CEDAR DEFINITIONS = BEGIN
As ever
CellType: TYPE = Core.CellType;
Wire: TYPE = Core.Wire;
Object: TYPE = CD.Object;
ROPE: TYPE = Core.ROPE;
Extraction for certain modes
extractMode: Sinix.Mode;
checkMode: Sinix.Mode;
Generic procedures to handle atomic types
AtomicFlattenProc: TYPE = PROC [obj: CD.Object] RETURNS [rList: CDAtomicObjects.DrawList ← NIL];
This is necessary because NMos CD technology does not keep the list of rectangles anywhere but generates them inline at drawing time.
TransistorFlattenProc: TYPE = PROC [obj: CD.Object] RETURNS [sList: CDAtomicObjects.DrawList ← NIL, dList: CDAtomicObjects.DrawList ← NIL, gList: CDAtomicObjects.DrawList ← NIL, xList: CDAtomicObjects.DrawList ← NIL];
This is necessary because NMos CD technology does not keep the list of rectangles anywhere but generates them inline at drawing time. Return geometry for source, drain, gate and special unconnected layers.
END.