-- ChipNDaleCMosA.TIP
-- Tip-table for ChipNDale CMosA
-- Copyright © 1984, 1985 by Xerox Corporation. All rights reserved.
--  Created by: Christian Jacobi, June 1, 1984 5:25:04 pm PDT
--  Last Edited by: Christian Jacobi, February 16, 1985 3:45:47 pm PST
[DEF,MiddleDown,(Yellow Down)]
[DEF,LEFTSH,(LeftShift Down | Lock Down)]
[DEF,Reset,(StopTrack)]
SELECT TRIGGER FROM
Mouse
Mouse => Coords, Track;
Lock
Changing default layers
Lock Down => TestDifFlipToPWorld;
Lock Up => TestDifFlipToNWorld;
QQQ
Transistors
[MiddleDown] WHILE Q Down WHILE [LEFTSH] => Coords, DrawWPXstr;
[MiddleDown] WHILE Q Down => Coords, DrawNXstr;
WWW
Angle transistors
[MiddleDown] WHILE W Down WHILE [LEFTSH] => Coords, DrawAngleWPXstr;
[MiddleDown] WHILE W Down => Coords, DrawAngleNXstr;
One
Butting contact
[MiddleDown] WHILE One Down WHILE Two Down WHILE Three Down WHILE [LEFTSH] => Coords, DrawWPButCon;
[MiddleDown] WHILE One Down WHILE Two Down WHILE Three Down => Coords, DrawNButCon;
Contact-diffusion
[MiddleDown] WHILE One Down WHILE Four Down WHILE [LEFTSH] => Coords, DrawWPDifShortCon;
[MiddleDown] WHILE One Down WHILE Four Down => Coords, DrawNDifShortCon;
Buried contacts
[MiddleDown] WHILE One Down WHILE Two Down WHILE [LEFTSH] => [Reset];
[MiddleDown] WHILE One Down WHILE Two Down => Coords, DrawNBurCon;
P-diffusion contacts or set P-diffusion
One Down WHILE Two Down => [Reset];
One Down WHILE Three Down => [Reset];
One Down WHILE Four Down => [Reset];
One Down WHILE [LEFTSH] => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawWPDifCon;
One Up => SetLayerPDif;
ENDCASE => [Reset];
[MiddleDown] WHILE One Down WHILE [LEFTSH] => Coords, DrawWPDifCon;
N-diffusion contacts or set N-diffusion
One Down => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawNDifCon;
One Up => SetLayerNDif;
ENDCASE => [Reset];
[MiddleDown] WHILE One Down => Coords, DrawNDifCon;
Two
Draw with poly
Two Down WHILE Three Down => [Reset];
Two Down WHILE One Down => [Reset];
Two Down WHILE Four Down => [Reset];
Two Down => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawPolCon;
Two Up => SetLayerPol;
ENDCASE => [Reset];
[MiddleDown] WHILE Two Down => Coords, DrawPolCon;
Three
Draw with metal and butting contacts
Three Down WHILE One Down => [Reset];
Three Down WHILE Two Down => [Reset];
Three Down WHILE Four Down => [Reset];
Three Down WHILE [LEFTSH] => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawWPButCon;
Three Up => SetLayerMet;
ENDCASE => [Reset];
Three Down => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawNButCon;
Three Up => SetLayerMet;
ENDCASE => [Reset];
[MiddleDown] WHILE Three Down WHILE [LEFTSH] => Coords, DrawWPButCon;
[MiddleDown] WHILE Three Down => Coords, DrawNButCon;
Four
Draw with contact-diffusion
Four Down WHILE One Down => [Reset];
Four Down WHILE [LEFTSH] => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawNWCntCon;
Four Up => SetLayerNWCnt;
ENDCASE => [Reset];
[MiddleDown] WHILE Four Down WHILE [LEFTSH] => Coords, DrawNWCntCon;
Four Down => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawPWCntCon;
Four Up => SetLayerPWCnt;
ENDCASE => [Reset];
[MiddleDown] WHILE Four Down => Coords, DrawPWCntCon;
Five
Draw with NWell
Five Down => SetLayerNWell;
Six
Draw with Metal2
Six Down => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawMm2Con;
Six Up => SetLayerMet2;
ENDCASE => [Reset];
[MiddleDown] WHILE Six Down => Coords, DrawMm2Con;
Six Down => SetLayerMet2;
Nine
Nine Down => ChipndaleCMOSxJulyX1X1985
ENDCASE.