-- ChipNDaleCMosB.TIP
-- Tip-table for ChipNDale CMos
-- 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, November 20, 1985 4:01:12 pm PST
Last Edited by: Jacobi July 24, 1986 11:12:28 am PDT
[DEF,MiddleDown,(Yellow Down)]
[DEF,LEFTSH,(LeftShift Down | Lock Down)]
[DEF,Reset,(StopTrack)]
[DEF,LeftUp,(Red Up)]
[DEF,RightUp,(Blue Up)]
[DEF,CTRL,(Ctrl Down)]
[DEF,MouseUpOrCTRL,([LeftUp] WHILE ~1 Down => ~2;
[RightUp] WHILE ~1 Down => ~2;
~1 Down WHILE [CTRL] => ~2;
[CTRL] WHILE ~1 Down => ~2
)]
~1 represent's key ; ~2 represents action
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;
TTT
[MiddleDown] WHILE T Down => Coords, DrawText;
WWW
Angle transistors
[MiddleDown] WHILE W Down WHILE [LEFTSH] => Coords, DrawAngleWPXstr;
[MiddleDown] WHILE W Down => Coords, DrawAngleNXstr;
One
Contact-diffusion
[MiddleDown] WHILE One Down WHILE Four Down WHILE [LEFTSH] => Coords, DrawWPDifShortCon;
[MiddleDown] WHILE One Down WHILE Four Down => Coords, DrawNDifShortCon;
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];
Space Down WHILE One Down => [Reset];
One Down WHILE [LEFTSH] => SELECT TRIGGER FROM
Space Down => [Reset];
Space Up => [Reset];
[MiddleDown] WHILE Space Down => Coords, DrawLWPDifCon;
[MiddleDown] => Coords, DrawWPDifCon;
One Up => SetLayerPDif;
ENDCASE => [Reset];
[MiddleDown] WHILE One Down WHILE [LEFTSH] WHILE Space Down => Coords, DrawLWPDifCon;
[MiddleDown] WHILE One Down WHILE [LEFTSH] => Coords, DrawWPDifCon;
N-diffusion contacts or set N-diffusion
One Down => SELECT TRIGGER FROM
Space Down => [Reset];
Space Up => [Reset];
[MiddleDown] WHILE Space Down => Coords, DrawLNDifCon;
[MiddleDown] => Coords, DrawNDifCon;
One Up => SetLayerNDif;
ENDCASE => [Reset];
[MiddleDown] WHILE One Down WHILE Space Down => Coords, DrawLNDifCon;
[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 WHILE Space Down => [Reset];
Space Down WHILE Two Down => [Reset];
Two Down => SELECT TRIGGER FROM
Space Down => [Reset];
Space Up => [Reset];
[MiddleDown] WHILE Space Down => Coords, DrawLPolCon;
[MiddleDown] => Coords, DrawPolCon;
Two Up => SetLayerPol;
ENDCASE => [Reset];
[MiddleDown] WHILE Two Down WHILE Space Down => Coords, DrawLPolCon;
[MiddleDown] WHILE Two Down => Coords, DrawPolCon;
Three
Draw with metal contacts
Three Down => [Reset];
Three Up => SetLayerMet;
Four
Draw with contact-diffusion
Four Down WHILE One Down => [Reset];
Four Down WHILE Space 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 WHILE Space Down => Coords, DrawLPWCntCon;
[MiddleDown] WHILE Four Down => Coords, DrawPWCntCon;
Five
Draw with NWell
Five Down => SetLayerNWell;
Six
Draw with Metal2
Six Down => SELECT TRIGGER FROM
Space Down => [Reset];
Space Up => [Reset];
[MiddleDown] WHILE Space Down => Coords, DrawLVia;
[MiddleDown] => Coords, DrawMm2Con;
Six Up => SetLayerMet2;
ENDCASE => [Reset];
[MiddleDown] WHILE Six Down WHILE Space Down => Coords, DrawLVia;
[MiddleDown] WHILE Six Down => Coords, DrawMm2Con;
Six Down => SetLayerMet2;
Zero
Zero Down => SELECT TRIGGER FROM
[MiddleDown] => Coords, DrawText;
Zero Up => SetLayerComment;
ENDCASE => [Reset];
[MouseUpOrCTRL, Zero, ChangeText];
Nine
Nine Down => CmosBxJulyx24x1986
ENDCASE.