CMosBuriedContactsCommands.mesa (part of Chipndale)
Copyright © 1983, 1985 by Xerox Corporation. All rights reserved.
by Christian Jacobi, June 24, 1983 5:03 pm
last edited Christian Jacobi, March 7, 1985 11:57:02 am PST
DIRECTORY
CD,
CDOps,
CDAtomicObjects,
CDSequencer,
TerminalIO,
CMos;
CMosBuriedContactsCommands:
CEDAR
PROGRAM
IMPORTS CDAtomicObjects, CDOps, CDSequencer, TerminalIO, CMos =
BEGIN
lambda: CD.Number = CD.lambda;
CreateBurCon:
PROC [comm: CDSequencer.Command] =
BEGIN
ob: CD.Object;
kind: ATOM ← $bad;
TerminalIO.WriteRope["Create buried contact\n"];
SELECT TerminalIO.RequestSelection[
label: "burried contact",
choice: LIST["simple", "poly C", "diff I", "diff L"]
]
FROM
1 => kind ← $CBurContS;
2 => kind ← $CBurContPS;
3 => kind ← $CBurContDI;
4 => kind ← $CBurContDL;
5 => kind ← $cross;
6 => kind ← $difT;
ENDCASE => kind ← $bad;
ob ← CDAtomicObjects.CreateAtomicOb[kind, [0, 0], comm.design.technology];
IF ob=
NIL
THEN
TerminalIO.WriteRope["not done\n"]
ELSE
CDOps.AddAnObject[design: comm.design, ob: ob, location: comm.pos, orientation: 0]
END;
ImplCommands:
PROC [] =
BEGIN
CDSequencer.ImplementCommand[$DrawNBurCon, CreateBurCon, CMos.cmos];
END;
ImplCommands[];
END.