RadioCells.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Barth, November 9, 1989 6:22:49 pm PST
DIRECTORY CoreCreate, Logic;
RadioCells: CEDAR PROGRAM
IMPORTS CoreCreate =
BEGIN OPEN CoreCreate;
RegisterBank: PROC RETURNS [cell: CellType] = {
tbuf: CellType ← Logic.TristateNI[]; -- "I", "X", "EN"
and2: CellType ← Logic.And[2]; -- Seq["I", n] "X"
ff: CellType ← Logic.FlipFlopEnable[2]; -- "D", "Q", "NQ", "CK", "en", "nEn"
instances: CellInstances ← NIL;
FOR bit: INT IN [0..8) DO
instances ← CONS [
Instance[
type: ff,
pa1: ["D", Index["LowAddressB", adrBit]],
pa2: ["Q", Index["nLowAddressB", adrBit]],
pa3: ["NQ", Index["nLowAddressB", adrBit]]
pa4: ["CK", Index["nLowAddressB", adrBit]],
pa5: ["en", Index["nLowAddressB", adrBit]],
pa6: ["nEn", Index["nLowAddressB", adrBit]],
props: CoreProperties.Props[[$Par0, IO.PutFR["LOC=%g", IO.?[?]]]]],
instances];
ENDLOOP;
ct ← Cell[
name: "DecoderLogicDriver",
public: Wires["Vdd", "Gnd", "AdrBit", "nAdrBit", Seq["LowAddressB", log2Select], Seq["Select", select]],
onlyInternal: Wires[Seq["nLowAddressB", log2Select]],
instances: instances
];
};
END.