RosemaryDoc.tioga
Rick Barth, October 30, 1985 1:41:41 pm PST
ROSEMARY
CEDAR 6.0 — FOR INTERNAL XEROX USE ONLY
Rosemary
Rick Barth
© Copyright 1985 Xerox Corporation. All rights reserved.
Abstract: Rosemary is a simulation and test system.
Created by: Rick Barth
Maintained by: Barth <Barth.pa>
Keywords: simulation, test, VLSI
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
Introduction
Rosemary is a simulation and test system. It integrates a simulator, a functional tester and a wafer stepper into a system that allows easy verification and testing of integrated circuits. It depends upon the Core structural description mechanism.
The functional tester is an Integrated Measurement Systems.
The stepper is an Electroglas.
Say something about how structure, behaviour and test programs are defined.
Commands
Root Cell Types
Rosecct name properties
Create cell type. Initializes a context with the properties and then creates a root cell type.
Rosepct
Print cell types. Prints a list of the currently known root cell types.
Test Programs
Roseptp
Print test programs. Lists the test programs which Rosemary knows about. Prints the name of the test program and the name of the cell type which it is intended to test.
RoseTest name
Invokes a test program.
Control
RoseEnable component
Enables the component. Component may be tester, simulator or stepper.
RoseDisable component
Disables the component.
Rosect nanoseconds
Cycle time. Sets the tester cycle period.
Roseesc
Enable single cycle.
Rosedsc
Disable single cycle.
RoseContinue
Allows the test program to proceed.
Paths
Path in the value commands is generated by the following rules:
cell paths are like file name paths
wire paths are CoreCompose wire selectors
if a cell path is explicitly given then the wire working path is ignored.
The path commands are an orthogonal set of commands of the form Rose{w, c}{path command}. The descriptions which follow elide the Rose{w, c} prefix.
pwd
Prints the working directory.
cd
Change directory. Changing the cell directory resets the wire working directory.
push
Saves the current directory and then invokes cd. Saving the cell working directory also saves the wire working directory.
pop
Pops the working directory. Restoring the cell working directory causes the wire working directory to be restored.
Values
RoseGet [path]
Prints the value of the wire. Uses the Core wire to format the information and the Value wire to supply the bits.
RoseSet [path] [value] [strength]
Inserts a driver of the given value and strength on the wire . Value defaults to the last value set. The last value set is initialized to zero. Strength defaults to "force". Conflicting drivers are detected and are not allowed.
RosePSet
Prints the drivers which were inserted with the RoseSet command.
RoseRSet [path]
Removes the driver.
RoseGetActuals [path]
Prints the values of the actuals of each block which is on the highest strength ring of the wire.
RosePost [path]
Puts the wire in the display viewer. The display viewer values are not editable. A process refreshes the values every second or so unless it is disabled.
RoseRemove [path]
Removes the wire from the display viewer.
Simulation Algorithm
Describe the algorithm in pseudocode.