DIRECTORY  
Core, CoreFlat, EU2Utils, Rope, Rosemary, RosemaryUser, Ports;

EU2Sim: CEDAR PROGRAM
IMPORTS CoreFlat, EU2Utils, Rosemary, RosemaryUser, Ports = 
BEGIN OPEN Core, EU2Utils;

Vdd, Gnd, PadVdd, PadGnd, PhA, PhB, VRef,
DPRejectB, DPData, 	-- 32 bits
KBus, 			-- 32 bits
EURdFromPBus3AB, EUWriteToPBus3AB, 
EUAluOp2AB, 	-- 4 bits Dragon.ALUOps
EUCondSel2AB, 	-- 4 bits Dragon.CondSelects
EUCondition2B, 
DShA, DShB, DShRd, DShWt, DShIn, DShOut, DHold, DStAd: NAT;

allOnes: LONG CARDINAL _ LOOPHOLE[LONG[-1]];

Initialize: PROC [public: Wire] = {
Vdd _ PortIndex[public, "Vdd"];
Gnd _ PortIndex[public, "Gnd"];
PadVdd _ PortIndex[public, "PadVdd"];
PadGnd _ PortIndex[public, "PadGnd"];
PhA _ PortIndex[public, "PhA"];
PhB _ PortIndex[public, "PhB"];
VRef _ PortIndex[public, "VRef"];
DPRejectB _ PortIndex[public, "DPRejectB"];
DPData _ PortIndex[public, "DPData"];
KBus _ PortIndex[public, "KBus"];
EURdFromPBus3AB _ PortIndex[public, "EURdFromPBus3AB"];
EUWriteToPBus3AB _ PortIndex[public, "EUWriteToPBus3AB"];
EUAluOp2AB _ PortIndex[public, "EUAluOp2AB"];
EUCondSel2AB _ PortIndex[public, "EUCondSel2AB"];
EUCondition2B _ PortIndex[public, "EUCondition2B"];
DShA _ PortIndex[public, "DShA"];
DShB _ PortIndex[public, "DShB"];
DShRd _ PortIndex[public, "DShRd"];
DShWt _ PortIndex[public, "DShWt"];
DShIn _ PortIndex[public, "DShIn"];
DShOut _ PortIndex[public, "DShOut"];
DHold _ PortIndex[public, "DHold"];
DStAd _ PortIndex[public, "DStAd"];

[] _ Rosemary.SetFixedWire[public[Vdd], H];
[] _ Rosemary.SetFixedWire[public[Gnd], L];
[] _ Rosemary.SetFixedWire[public[PadVdd], H];
[] _ Rosemary.SetFixedWire[public[PadGnd], L];
[] _ Rosemary.SetFixedWire[public[VRef], H];

[] _ Ports.InitTesterDrive[public[PhA], force];
[] _ Ports.InitTesterDrive[public[PhB], force];

[] _ Ports.InitTesterDrive[public[DPRejectB], force];
[] _ Ports.InitPort[public[DPData], lc];
[] _ Ports.InitTesterDrive[public[DPData], expect];
[] _ Ports.InitPort[public[KBus], lc];
[] _ Ports.InitTesterDrive[public[KBus], force];
[] _ Ports.InitTesterDrive[public[EURdFromPBus3AB], force];
[] _ Ports.InitTesterDrive[public[EUWriteToPBus3AB], force];
[] _ Ports.InitPort[public[EUAluOp2AB], c];
[] _ Ports.InitTesterDrive[public[EUAluOp2AB], force];
[] _ Ports.InitPort[public[EUCondSel2AB], c];
[] _ Ports.InitTesterDrive[public[EUCondSel2AB], force];
[] _ Ports.InitTesterDrive[public[EUCondition2B], expect];
[] _ Ports.InitTesterDrive[public[DShA], force];
[] _ Ports.InitTesterDrive[public[DShB], force];
[] _ Ports.InitTesterDrive[public[DShRd], force];
[] _ Ports.InitTesterDrive[public[DShWt], force];
[] _ Ports.InitTesterDrive[public[DShIn], force];
[] _ Ports.InitTesterDrive[public[DShOut], expect];
[] _ Ports.InitTesterDrive[public[DHold], force];
[] _ Ports.InitPort[public[DStAd], c];
[] _ Ports.InitTesterDrive[public[DStAd], force];
};

ExerciseRose: PUBLIC PROC [ct: CellType, cutSets: LIST OF Rope.ROPE _ NIL] RETURNS [tester: RosemaryUser.Tester] = {
Initialize[ct.public];
tester _ RosemaryUser.TestProcedureViewer[
cellType: ct, 
testButtons: LIST["Sanity Check"], 
name: "EU2Test", 
displayWires: RosemaryUser.DisplayPortLeafWires[ct], 
cutSet: CoreFlat.CreateCutSet[cellTypes: cutSets],
steady: FALSE];
};

END.


�����EU2Sim.mesa
Copyright c 1985 by Xerox Corporation.  All rights reversed.
Created by Bertrand Serlet July 31, 1985 3:03:17 pm PDT
Last edited by Bertrand Serlet October 2, 1986 9:19:42 pm PDT
Barth, September 26, 1986 2:59:10 pm PDT
Louis Monier June 19, 1986 11:54:42 pm PDT
Last Edited by: Louis Monier October 20, 1986 10:25:48 am PDT
Last Edited by: Gasbarro October 1, 1986 6:05:58 pm PDT

-- A test program for simulation with Rosemary

-- If testing the cellType
�Ê��–
"cedar" style˜�codešœ™Jšœ
Ïmœ1™<J™7J™=K™(K™*K™=K™7K™�—šÏk	œ˜Kšœ>˜>—J˜�•StartOfExpansion[]šÐbnœžœž˜Kšžœ5˜<Kšžœžœ˜—K˜�KšÏx.™.K™�Kšœ)˜)KšœÏc
˜Kšœ¡˜Kšœ#˜#Kšœ
¡˜$Kšœ¡˜+Kšœ˜Kšœ7žœ˜;K˜�Kš	œ	žœžœžœžœ˜,K˜�šÏn
œžœ˜#Kšœ˜Kšœ˜Kšœ%˜%Kšœ%˜%Kšœ˜Kšœ˜Kšœ!˜!Kšœ+˜+Kšœ%˜%Kšœ!˜!Kšœ7˜7Kšœ9˜9Kšœ-˜-Kšœ1˜1Kšœ3˜3Kšœ!˜!Kšœ!˜!Kšœ#˜#Kšœ#˜#Kšœ#˜#Kšœ%˜%Kšœ#˜#Kšœ#˜#K˜�Kšœ+˜+Kšœ+˜+Kšœ.˜.Kšœ.˜.Kšœ,˜,K˜�Kšœ/˜/Kšœ/˜/K˜�Kšœ5˜5Kšœ(˜(Kšœ3˜3Kšœ&˜&Kšœ0˜0Kšœ;˜;Kšœ<˜<Kšœ+˜+Kšœ6˜6Kšœ-˜-Kšœ8˜8Kšœ:˜:Kšœ0˜0Kšœ0˜0Kšœ1˜1Kšœ1˜1Kšœ1˜1Kšœ3˜3Kšœ1˜1Kšœ&˜&Kšœ1˜1K˜—K˜�š¢œžœžœžœžœžœžœžœ"˜tKšœ˜J™šœ*˜*Kšœ˜Kšœ
žœ˜#Kšœ˜Kšœ5˜5Kšœ2˜2Kšœžœ˜—K˜—K˜�Kšžœ˜K˜�K˜�—�…—����ž��•��