SSI.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Barth, February 7, 1986 1:48:52 pm PST
Louis Monier May 22, 1986 12:29:55 pm PDT
DIRECTORY Core, CoreCreate, Rosemary, Sisyph;
SSI: CEDAR DEFINITIONS = BEGIN OPEN CoreCreate;
IF pw=0 THEN pw ← r*nw
"Vdd", "Gnd", "Input", "nOutput"
Inverter: PROC [nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2, size: Rosemary.TransistorSize ← drive] RETURNS [ct: CellType];
"Vdd", "Gnd", "Input", "Drive", "nDrive", "nOutput"
TristateBuffer: PROC [nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
"Vdd", "Gnd", Seq["Input", i], "nOutput"
NAnd: PROC [i: NAT ← 2, nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
NAnd2: PROC [nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
"Vdd", "Gnd", Seq["Input", i], "Output"
And: PROC [i: NAT ← 2, nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
"Vdd", "Gnd", Seq["Input", i], "nOutput"
NOr: PROC [i: NAT ← 2, nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
NOr2: PROC [nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
"Vdd", "Gnd", Seq["Input", i], "Output"
Or: PROC [i: NAT ← 2, nw: NAT ← 4, nl: NAT ← 2, r: REAL ← 2.5, pw: NAT ← 0, pl: NAT ← 2] RETURNS [ct: CellType];
END.