MCWireIcons.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Last Edited by: Gasbarro May 21, 1987 10:46:15 am PDT
Corrector:
PROC
RETURNS [wire: Wire] ~ {
sel: Wire ← CoreCreate.Seq["Sel", 18];
left: Wire ← CoreOps.CreateWires[width, "L"];
mid: Wire ← CoreCreate.Seq["M", width];
right: Wire ← CoreCreate.Seq["R", width];
vdd: Wire ← CoreOps.CreateWire[name: "Vdd"];
FOR i:
NAT
IN [0..correctBits)
DO
left[i] ← vdd;
mid[i] ← vdd;
right[i] ← vdd;
ENDLOOP;
FOR i:
NAT
IN [0..dataBits-1)
DO
left[i+correctBits] ← sel[17];
mid[i+correctBits] ← sel[15 - (i/8)];
right[i+correctBits] ← sel[7 - (i MOD 8)];
ENDLOOP;
left[width-1] ← sel[16]; --the LSB of the data word maps to correction bit 62
mid[width-1] ← sel[15];
right[width-1] ← sel[6];
wire ← CoreCreate.Wires[sel, left, mid, right, vdd];
};