DIRECTORY BitOps, CrossRAM, RoseCreate, RoseRun, RoseTypes; CrossRAMRoseTest: CEDAR PROGRAM IMPORTS BitOps, RoseCreate, RoseRun SHARES CrossRAM = BEGIN OPEN CrossRAM; CrossRAMTestWrite2Read2: RoseTypes.CellTestProc = BEGIN instructions: CrossRAMIORef _ NARROW[io]; drive: CrossRAMDriveRef _ NARROW[driveAsAny]; BEGIN OPEN instructions; AccessRAM: PROC [write: BOOL, address: CARDINAL, data: LONG CARDINAL, parity: CARDINAL] = { d: BitOps.BitDWord _ BitOps.ILID[data, BitOps.BitDWordZero, 32, 0, 32]; Address _ address; nPrecharge _ FALSE; [] _ RoseRun.Eval[handle]; nPrecharge _ TRUE; [] _ RoseRun.Eval[handle]; Access _ TRUE; IF write THEN { drive.s[Data] _ Drive; drive.s[Parity] _ Drive; Write _ TRUE; } ELSE { drive.s[Data] _ Test; drive.s[Parity] _ Test; Read _ TRUE; }; Data _ d; Parity _ parity; [] _ RoseRun.Eval[handle]; Access _ Write _ Read _ FALSE; drive.s[Data] _ Ignore; drive.s[Parity] _ Ignore; [] _ RoseRun.Eval[handle]; }; Vdd _ TRUE; Gnd _ FALSE; PadVdd _ TRUE; PadGnd _ FALSE; drive.s[Vdd] _ Drive; drive.s[Gnd] _ Drive; drive.s[PadVdd] _ Drive; drive.s[PadGnd] _ Drive; nPrecharge _ TRUE; Access _ FALSE; Write _ FALSE; Read _ FALSE; drive.s[nPrecharge] _ Drive; drive.s[Access] _ Drive; drive.s[Write] _ Drive; drive.s[Read] _ Drive; drive.s[Address] _ Drive; drive.s[Data] _ Ignore; drive.s[Parity] _ Ignore; AccessRAM[write: TRUE, address: 0, data: 0, parity: 0]; AccessRAM[write: TRUE, address: 1, data: LAST[LONG CARDINAL], parity: 1]; AccessRAM[write: FALSE, address: 0, data: 0, parity: 0]; AccessRAM[write: FALSE, address: 1, data: LAST[LONG CARDINAL], parity: 1]; END; END; ctest: RoseTypes.CellTest _ NEW[RoseTypes.CellTestRep _ ["Write2Read2", CrossRAMTestWrite2Read2, FALSE]]; ct: RoseTypes.CellType _ RoseCreate.GetCellType["CrossRAM"]; [] _ RoseCreate.SetTest[ctest, ct, TRUE]; END. ͺCrossRAMRoseTest.mesa Last edited by Barth, March 15, 1985 3:33:59 pm PST precharge enable select line if write then enable write drivers disable select line ΚS˜Icodešœ™K™3K˜K˜šΟk ˜ Kšœ1˜1—K˜šœœ˜Kšœ˜#Kšœ ˜—K˜šœ˜ Kšœ ˜ —K˜šœ1˜1Kš˜Kšœœ˜)šœœ ˜-šœœ˜˜šΟn œœ œ œœœ œ˜[Jšœœ'˜GJ˜J˜J™J™ Jšœ œ˜J˜Jšœ œ˜J˜J™J™Jšœ œ˜J™J™"šœœ˜J˜J˜Jšœœ˜ —šœœ˜J˜J˜Jšœœ˜ J˜—J˜ J˜J˜J™J™Jšœœ˜J™J˜J˜J˜J˜J˜—J˜Jš œœœ œ œ˜7J˜+J˜1Jš œ œ œ œ œ˜?J˜5J˜.J˜J˜1Jšœœ"˜7Jš œœœœœ˜IJšœœ"˜8Jš œœœœœ˜J——Kšœ˜—Kšœ˜—K˜KšœœBœ˜iKšœ<˜