<> <> <> <> DIRECTORY CD, NMosContacts, CDOps, CDSequencer, CDValue, TerminalIO, NMos; NMosContactCommands: CEDAR PROGRAM IMPORTS CDOps, CDSequencer, CDValue, TerminalIO, NMosContacts, NMos = BEGIN lambda: CD.Number = NMos.lambda; CreateButCon: PROC [comm: CDSequencer.Command] = BEGIN ob: CD.Object; TerminalIO.WriteRope["Create button contact\n"]; ob _ NMosContacts.CreateButCon[]; CDOps.IncludeObjectI[design: comm.design, ob: ob, location: comm.pos, orientation: 0] END; CreatePolyCon: PROC [comm: CDSequencer.Command] = BEGIN ob: CD.Object; TerminalIO.WriteRope["Create contact (poly)\n"]; ob _ NMosContacts.CreatePolyCon[0]; CDOps.IncludeObjectI[design: comm.design, ob: ob, location: comm.pos, orientation: 0] END; CreateDifCon: PROC [comm: CDSequencer.Command] = BEGIN ob: CD.Object; TerminalIO.WriteRope["Create contact (dif)\n"]; ob _ NMosContacts.CreateDifCon[0]; CDOps.IncludeObjectI[design: comm.design, ob: ob, location: comm.pos, orientation: 0] END; CreateBurCon: PROC [comm: CDSequencer.Command] = BEGIN ob: CD.Object; TerminalIO.WriteRope["Create burried contact \n"]; ob _ NMosContacts.CreateBurCon[ w: CDValue.FetchInt[comm.design, $NMosContactL, technology]*lambda, l: CDValue.FetchInt[comm.design, $NMosContactL, technology]*lambda, wex: 2*lambda, lex: lambda]; CDOps.IncludeObjectI[design: comm.design, ob: ob, location: comm.pos, orientation: 0] END; CreateMmCon: PROC [comm: CDSequencer.Command] = BEGIN ob: CD.Object; TerminalIO.WriteRope["Create contact (Mm)\n"]; ob _ NMosContacts.CreateMmCon[0]; CDOps.IncludeObjectI[design: comm.design, ob: ob, location: comm.pos, orientation: 0] END; ImplCommands: PROC [] = BEGIN CDValue.RegisterKey[$NMosContactL, NMos.nmos]; CDSequencer.ImplementCommand[$DrawNButCon, CreateButCon, NMos.nmos]; CDSequencer.ImplementCommand[$DrawPolCon, CreatePolyCon, NMos.nmos]; CDSequencer.ImplementCommand[$DrawNDifCon, CreateDifCon, NMos.nmos]; CDSequencer.ImplementCommand[$DrawNBurCon, CreateBurCon, NMos.nmos]; CDSequencer.ImplementCommand[$DrawMm2Con, CreateMmCon, NMos.nmos]; END; ImplCommands[]; END.