DIRECTORY Core, IO, Ports, PW, Rosemary, RosemaryUser; TestDiv: CEDAR PROGRAM IMPORTS -- IO, PW, -- Ports, Rosemary, RosemaryUser = BEGIN Vdd: NAT; Gnd: NAT; CK : NAT; RESET: NAT; Q: NAT; Init: PROC [ct: Core.CellType] = { sim: Rosemary.Simulation; Vdd _ Ports.PortIndex[ct.public, "Vdd"]; Gnd _ Ports.PortIndex[ct.public, "Gnd"]; Q _ Ports.PortIndex[ct.public, "Q"]; CK _ Ports.PortIndex[ct.public, "CK"]; RESET _ Ports.PortIndex[ct.public, "RESET"]; [] _ Rosemary.SetFixedWire[ct.public[Vdd], H]; [] _ Rosemary.SetFixedWire[ct.public[Gnd], L]; [] _ Ports.InitPort[ct.public[Q], ls, drive]; [] _ Ports.InitTesterDrive[wire: ct.public[CK], initDrive: force]; [] _ Ports.InitTesterDrive[wire: ct.public[RESET], initDrive: force]; sim _ RosemaryUser.TestProcedureViewer[name: "Tester", cellType: ct, testButtons: LIST["Tester"], displayWires: RosemaryUser.DisplayCellTypePortLeafWires[ct], -- cutSets: LIST["SSI", "MSI"], -- flatten: TRUE]; }; Tester: RosemaryUser.TestProc = { p[CK].b _ FALSE; p[RESET].b _ TRUE; Eval[]; p[RESET].b _ FALSE; Eval[]; FOR i: NAT IN [0 .. 5) DO p[CK].b _ TRUE; Eval[]; p[CK].b _ FALSE; Eval[] ENDLOOP; }; RosemaryUser.RegisterTestProc["Tester", Tester]; END. >TestDiv.mesa Jean Gastinel July 8, 1986 4:14:23 pm PDT Κ­˜codešœ ™ K™)—K˜KšΟk œ-˜6K˜šΟbœœ˜KšœΟcœŸœ ˜5Kš˜—K˜Kšœœ˜ Kšœœ˜ Kšœœ˜ Kšœ˜ Kšœœ˜K˜šΟnœœ˜"K˜K˜Kšœ(˜(Kšœ(˜(Kšœ$˜$Kšœ&˜&Kšœ,˜,K˜Kšœ.˜.Kšœ.˜.Kšœ-˜-KšœB˜BKšœE˜EK˜KšœRœIŸ"œ œ˜ΡK˜K˜—š œ˜!K˜Kšœ œ˜Kšœœœ˜Kšœ˜Kšœœœ˜Kšœ˜˜Kšœ œ˜Kšœ˜Kšœ œ˜Kšœ˜Kšœ˜—Kšœ˜—K˜Kšœ0˜0K˜Kšœ˜—…—°›