DIRECTORY CMos USING [lambda], CD USING [Number, Object, Layer, undefLayer]; CMosCMTransistors: CEDAR DEFINITIONS = BEGIN lambda: CD.Number = CMos.lambda; wXExtension: CD.Number = 2*lambda; lXExtension: CD.Number = 2*lambda; TransistorPtr: TYPE = REF TransistorRec; TransistorRec: TYPE = RECORD [ width: CD.Number, length: CD.Number, wExt: CD.Number _ wXExtension, lExt: CD.Number _ lXExtension, angle: BOOL _ FALSE ]; undef: PRIVATE CD.Layer=CD.undefLayer; -- will force ordinary diffusion CreateTransistor: PROC [w, l: CD.Number, wExt: CD.Number_wXExtension, lExt: CD.Number_lXExtension, difLev: CD.Layer_undef] RETURNS [CD.Object]; CreateAngleTransistor: PROC [w, l: CD.Number, wExt: CD.Number_wXExtension, lExt: CD.Number_lXExtension, aExt: CD.Number_0, difLev: CD.Layer_undef] RETURNS [CD.Object]; END. žCMosCMTransistors.mesa (part of ChipNDale) Copyright c 1983, 1985 by Xerox Corporation. All rights reserved. by Christian Jacobi May 3, 1983 11:22 am last edited by Christian Jacobi March 19, 1986 12:03:22 pm PST --Do not use wExt, lExt, it is included for compatibility only --Do not use wExt, lExt, it is included for compatibility only --All create procedures create in an orientation --w in direction of increasing x --l in direction of increasing y --All create procedures may (or may not) create references to --the same object. Therefore consider the transistor objects as --readonly. If a transistor needs to be modified create a new one! Κώ˜codešœ1™1Kšœ Οmœ7™BKšœ+™+Kšœ@™@K˜—šΟk ˜ Kšœžœ ˜Kšžœžœ%˜-—K˜KšΠblœžœž œ˜&šž˜K˜Kšœžœ˜ Kšœ žœ˜"Kšœ žœ˜"—K˜Kšœžœžœ˜(šœžœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœž˜K˜K˜Kšœžœžœžœ Οc ˜G—K˜šΟnœžœžœ ˜*Kšœžœ˜Kšœžœ˜Kšœžœ˜šžœžœ ˜Kšœ>™>—K˜—š‘œžœžœ ˜/Kšœžœ˜Kšœžœ˜Kšœžœ ˜Kšœžœ˜šžœžœ ˜Kšœ>™>—K˜Kšœ1™1Kšœ ™ Kšœ ™ K˜Kšœ=™=KšœA™AKšœC™CK˜—Kšžœ˜K˜—…—@ά