CacheDataPathImpl.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Don Curry, October 5, 1987 6:14:16 pm PDT
CacheDataPathImpl:
CEDAR
PROGRAM
IMPORTS CoreClasses, CoreOps, DataPath, IO
EXPORTS CacheDataPath =
BEGIN
BusShort:
PUBLIC PROC[size:
INT]
RETURNS[wire: Core.Wire] = {
sub: Core.Wire ← CoreOps.CreateWires[0, "sw"];
wire ← CoreOps.CreateWires[size, "w"];
FOR i: INT IN [0..size) DO wire[i] ← sub ENDLOOP};
Trans:
PUBLIC PROC[type: CoreClasses.TransistorType, length, width:
INT]
RETURNS [cellType: Core.CellType] = {
name:
IO.ROPE ←
IO.PutFR["%g%gx%g",
IO.rope[CoreClasses.transistorTypeNames[type]],
IO.int[length],
IO.int[width]];
cellType ← CoreClasses.CreateTransistor[type, length, width, name]};
DataPath.RegisterDataPathSpec["SmallCache64",
NEW[DataPath.DPSpecRec ← [
layDWidth: 65*CMosB.lambda]]];
DataPath.RegisterDataPathSpec["SmallCache32",
NEW[DataPath.DPSpecRec ← [
layDWidth: 162*CMosB.lambda]]];