CoreDecoder.mesa 
Copyright © 1985 by Xerox Corporation. All rights reserved.
Barth, August 23, 1985 2:52:59 pm PDT
DIRECTORY Core;
CoreDecoder: CEDAR DEFINITIONS = BEGIN OPEN Core;
Theory
This allows the selection of a 0 or a 1 cell type for series decoders.
Practice
decoderCellClass: CellClass;
DecoderCellType: TYPE = REF DecoderCellTypeRec;
DecoderCellTypeRec: TYPE = RECORD [
wordCount: NAT,
bitCount: NAT,
select: WordBitSelect,
cellTypes: SEQUENCE length: NAT OF CellType];
WordBitSelect: TYPE = PROC [word, bit: INT, decoderCellType: DecoderCellType] RETURNS [cellIndex: NAT];
These procedures must persist during the lifetime of the core data structure which accesses them.
Ports: Vdd, Gnd, AdrBit[0..bitCount), nAdrBit[0..bitCount), nDecode[0..wordCount)
Create: PROC [decoderCellType: DecoderCellType, name: ROPENIL] RETURNS [cellType: CellType];
Print: PROC [decoderCellType: DecoderCellType, out: STREAM];
END.