<> <> <> <> DIRECTORY CD, PW, PWDescr, Rope USING [ROPE]; EuGen: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; <<-- Constants>> nbSlices: INT = 32; nbRowsInRam: INT = 43; <> nbBitsperSliceInRam: INT = 4; nbBitInRowDecoder: INT = 6; nbBitInColumnDecoder: INT = 2; nbBitInRamAddress: INT = nbBitInRowDecoder+nbBitInColumnDecoder; <<-- Values of DStateAddress>> fieldDescr: INT = 0; lOp2AB: INT = 1; rOp2AB: INT = 2; st2AB: INT = 3; st2BA: INT = 4; st3AB: INT = 5; r2BA: INT = 6; r3AB: INT = 7; r3BA: INT = 8; <<-- ALU Opcodes for EU-1>> or: INT = 0; -- 00000 (op5, op4, ..., op1) and: INT = 1; -- 00001 xor: INT = 2; -- 00010 add: INT = 3; -- 00011 sub: INT = 7; -- 00111 fop: INT = 8; -- 01000 fopk: INT = 9; -- 01001 <<-- Sizes in CD units: very dirty! Do what I say, not what I do!>> glueWidth: INT = 75* EmptyDescrRamPU: PUBLIC PROC RETURNS [descr: PWDescr.Descriptor]; InitDescrRamPU: PUBLIC PROC RETURNS [descr: PWDescr.Descriptor]; EmptyDescrRamPD: PUBLIC PROC RETURNS [descr: PWDescr.Descriptor]; InitDescrRamPD: PUBLIC PROC RETURNS [descr: PWDescr.Descriptor]; EmptyDescrRegsPD: PROC RETURNS [descr: PWDescr.Descriptor]; EmptyDescrRegsPU: PROC RETURNS [descr: PWDescr.Descriptor]; RAMGen: PROC [design: CD.Design] RETURNS [ram: PW.ObPtr]; BitLinesMuxesGen: PROC [design: CD.Design] RETURNS [mux: PW.ObPtr]; BitLinesReadWriteGen: PROC [design: CD.Design] RETURNS [readWrite: PW.ObPtr]; DrivekBusGen: PROC [design: CD.Design] RETURNS [cell: PW.ObPtr]; AdrRegGen: PROC [design: CD.Design] RETURNS [regs: PW.ObPtr]; FDRegsGen: PROC [design: CD.Design] RETURNS [fdRegs: PW.ObPtr] ; FieldUnitGen: PROC [design: CD.Design] RETURNS [fieldUnit: PW.ObPtr]; ALUGen: PUBLIC PROC [design: CD.Design] RETURNS [alu: PW.ObPtr]; PipeLineRegsGen: PROC [design: CD.Design] RETURNS [pipe: PW.ObPtr]; ResultRegsGen: PROC [design: CD.Design] RETURNS [resultRegs: PW.ObPtr]; <<>> <<>> END.