ICTest.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Gasbarro December 20, 1985 1:56:06 pm PST
Barth, January 22, 1986 5:34:34 pm PST
Last Edited by: Gasbarro October 23, 1987 11:40:17 am PDT
DIRECTORY Core, IMSTester, Ports, RosemaryUser, ViewerClasses;
ICTest: CEDAR DEFINITIONS = BEGIN
ROPE: TYPE = IMSTester.ROPE;
Delay: TYPE = IMSTester.Delay;
Width: TYPE = IMSTester.Width;
Sample: TYPE = IMSTester.Sample;
Period: TYPE = IMSTester.Period;
FormatType: TYPE = IMSTester.FormatType;
Board: TYPE = IMSTester.Board;
PodTiming: TYPE = IMSTester.PodTiming;
Channel: TYPE = IMSTester.Channel;
Directionality:
TYPE = {force, acquire, biDirectional};
TestProc:
TYPE = RosemaryUser.TestProc;
Groups: TYPE = LIST OF Group;
Group:
TYPE =
RECORD [
number: NAT, --unique group number
name: ROPE, --group name
directionality: Directionality,
format: FormatType ← DNRZ,
delay: Delay ← 0,
width: Width ← 20,
sample: Sample ← 0,
programable: BOOL ← FALSE, -- programable drive or threshold
hiDrive: REAL ← 2.4,
loDrive: REAL ← 0.4,
threshold: REAL ← 1.4,
compare: BOOL ← TRUE]; -- real-time compare
LoadBoardSide: TYPE = {R, L};
PodPair: TYPE = {AB, CD, EF, GH, IJ, KL};
TesterHeader: TYPE = [0..256]; -- use 0 for non-existent signals, e.g. Vdd, Gnd
DUTHeader: TYPE = [0..256]; -- use 0 for non-existent signals, e.g. Vdd, Gnd
ProbeCardPin: TYPE = [1..300];
Assignments: TYPE = LIST OF Assignment;
Assignment:
TYPE =
RECORD [
name: ROPE, --signal name
group: NAT, --unique group number
board: Board,
loadBoardSide: LoadBoardSide,
podPair: PodPair,
pod: PodTiming,
channel: Channel,
testerHeader: TesterHeader,
dUTHeader: DUTHeader,
probeCardPin: ProbeCardPin];
PeriodChangeProc: TYPE = PROC [period: Period] RETURNS [newGroups: Groups];
MakeStandardViewer:
PROC [testName:
ROPE, cellType: Core.CellType, clockAName:
ROPE, clockBName:
ROPE ←
NIL, groups: Groups, assignments: Assignments, period: Period];
RegisterTestProc: PUBLIC PROC [testName: ROPE, procName: ROPE, proc: TestProc, autoLoad: BOOL ← FALSE];
RegisterPeriodChangeProc: PUBLIC PROC [testName: ROPE, proc: PeriodChangeProc];
END.