DIRECTORY Core, CoreFlat, IO, Ports, Rope, Rosemary; RosemaryVector: CEDAR DEFINITIONS = BEGIN OpenVectorFile: PROC [fileName: Rope.ROPE, port: Ports.Port, read: BOOL _ TRUE] RETURNS [vectorFile: VectorFile]; CloseVectorFile: PROC [vectorFile: VectorFile]; WriteVector: PROC [vectorFile: VectorFile, neverSayExpect: BOOL _ FALSE]; ReadVector: PROC [vectorFile: VectorFile]; CreateTarget: PROC [simulation: Rosemary.Simulation, flatCell: CoreFlat.FlatCellType, test: Ports.Port] RETURNS [target: Target]; SampleTarget: PROC [target: Target, test: Ports.Port]; Target: TYPE ~ REF TargetRep; TargetRep: TYPE ~ RECORD [ flatCell: CoreFlat.FlatCellType, -- the target flat CT dut: Core.CellType, -- the target CT portRoseValues: Rosemary.RoseValues _ NIL, -- that constitute the port connections scratchValue: Ports.LevelSequence _ NIL, -- working storage insideDrive, outsideDrive, compositeDrive: Ports.DriveSequence _ NIL, -- working storage mayBeTS: Ports.BoolSequence _ NIL -- working storage ]; VectorFile: TYPE = REF VectorFileRec; VectorFileRec: TYPE = RECORD [ port: Ports.Port, stream: IO.STREAM]; END. ͺRosemaryVector.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reserved. Barth, January 5, 1988 11:38:07 am PST Jean-Marc Frailong February 8, 1988 12:20:02 pm PST Same semantics as BindTestPort Capture the state of the target into a Rosemary port By convention, the following drives are used (to the exclusion of any other !!): inspect => port should not drive and device should be TS (should not happen as untestable...) none => do not drive nor check anything (should not happen as untestable...) force => port should drive and device should be TS drive => port should drive & have same resulting value expect => port should not drive & should receive value Κ΄˜codešœ™Kšœ Οmœ7™BK™&K™3—K˜šΟk œžœ˜4K˜—KšΟnœžœž œž˜)K˜š Ÿœžœžœžœžœžœ˜qK˜—šŸœžœ˜/J˜—šŸ œžœ*žœžœ˜IJ˜—šŸ œžœ˜*J˜—šŸ œžœVžœ˜Kšœ™K™—šŸ œžœ$˜6K™4™PK™]K™LK™2K™6K™6—K˜—Kšœžœžœ ˜šœ žœžœ˜Kšœ!Οc˜6Kšœ ˜$Kšœ&žœ '˜RKšœ$žœ ˜;KšœAžœ ˜XKšœžœ ˜4Kšœ˜K˜—Jšœ žœžœ˜%šœžœžœ˜J˜Jšœžœžœ˜J˜—Jšžœ˜J˜—…—`Ύ