DIRECTORY CoreCreate; MSI: CEDAR DEFINITIONS = BEGIN OPEN CoreCreate; Latch: PROC RETURNS [ct: CellType]; Register: PROC [b: NAT] RETURNS [ct: CellType]; Constant: PROC [b: NAT, v: INT] RETURNS [ct: CellType]; Multiplexor: PROC [i: NAT _ 2] RETURNS [ct: CellType]; BusMultiplexor: PROC [b: NAT, i: NAT _ 2] RETURNS [ct: CellType]; Buffers: PROC [b: NAT] RETURNS [ct: CellType]; TristateBuffers: PROC [b: NAT] RETURNS [ct: CellType]; Adder: PROC [b: NAT] RETURNS [ct: CellType]; Comparator: PROC [b: NAT] RETURNS [ct: CellType]; Decoder: PROC [a: NAT, s: NAT _ 0] RETURNS [ct: CellType]; ClockedDecoder: PROC [a: NAT, s: NAT _ 0] RETURNS [ct: CellType]; ShiftRegister: PROC [b: NAT] RETURNS [ct: CellType]; Counter: PROC [b: NAT] RETURNS [ct: CellType]; RegisterFile: PROC [b: NAT, a: NAT, w: NAT _ 0] RETURNS [ct: CellType]; MultiPortRegisterFile: PROC [b: NAT, a: NAT, w: NAT _ 0, rp: NAT _ 1, wp: NAT _ 1] RETURNS [ct: CellType]; END. ZMSI.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Barth, May 9, 1986 4:41:56 pm PDT "Vdd", "Gnd", "Load", "Input", "Output" "Vdd", "Gnd", "Load", Seq["Input", b], Seq["Output", b] "Vdd", "Gnd", Seq["Output", b] Output is continuously driven to v with strength drive. Seq["Select", i], Seq["Input", i], "Output" Seq["Select", i], Seq["Input", i, Seq[size: b]], Seq["Output", b] "Vdd", "Gnd", Seq["Input", b], Seq["Output", b] "Vdd", "Gnd", "Drive", Seq["Input", b], Seq["Output", b] "Vdd", "Gnd", "CarryIn", Seq["A", b], Seq["B", b], Seq["Sum", b], "CarryOut" "Vdd", "Gnd", Seq["A", i], Seq["B", i], "AEqB" "Vdd", "Gnd", Seq["Address", a], Seq["Select", s] s=0 => s _ 2**a "Vdd", "Gnd", Seq["Address", a], Seq["Select", s], "Clock" s=0 => s _ 2**a s > 2**a => ERROR "Vdd", "Gnd", "ShiftA", "ShiftB", "Load", "LeftNRight", "LeftInput", "RightInput", Seq["Input", b], Seq["Output", b] "Vdd", "Gnd", "CountA", "CountB", "Load", "UpNDown", Seq["Input", b], Seq["Output", b] "Vdd", "Gnd", "Load", Seq["Address", a], Seq["Input", b], Seq["Output", b] w is the number of words w=0 => w _ 2**a w > 2**a => ERROR "Vdd", "Gnd", Seq["Load", wp], Seq["WriteAddress", wp, Seq[size: a]], Seq["ReadAddress", rp, Seq[size: a]], Seq["Input", wp, Seq[size: b]], Seq["Output", rp, Seq[size: b]] w is the number of words w=0 => w _ 2**a w > 2**a => ERROR Κͺ˜codešœ™Kšœ Οmœ1™