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.