<> <> <> <> DIRECTORY CD, CDOps, CDAtomicObjects, CDSequencer, PopUpSelection, TerminalIO, CMos; CMosBuriedContactsCommands: CEDAR PROGRAM IMPORTS CDAtomicObjects, CDOps, CDSequencer, PopUpSelection, TerminalIO, CMos = BEGIN lambda: CD.Number = CMos.lambda; CreateBurCon: PROC [comm: CDSequencer.Command] = BEGIN ob: CD.Object; kind: ATOM _ $bad; TerminalIO.PutRope["Create buried contact\n"]; SELECT PopUpSelection.Request[ header: "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, [1, 1], comm.design.technology]; IF ob=NIL THEN TerminalIO.PutRope["not done\n"] ELSE CDOps.IncludeObjectI[design: comm.design, ob: ob, location: comm.pos] END; CDSequencer.ImplementCommand[$DrawNBurCon, CreateBurCon, CMos.cmos]; END.