-- FILE: Delay.mesa -- Last edited by Ousterhout, July 5, 1983 12:01 pm -- This file defines the routines used by Crystal to do delay analysis. DIRECTORY Globals; Delay: CEDAR DEFINITIONS = BEGIN OPEN Globals; Propagate: PROC[prevStage: Stage]; -- PrevStage gives information about a node that has changed value. -- This procedure looks for transistor gates and chip outputs whose -- values might change because of the change in the node. For each -- of these, new stages are created and analyzed recursively. DelayCmd: CmdProc; -- This command procedure invokes the delay calculations. There -- are three arguments. The first is the name of a node. The second -- is the time at which the node rises (-1 means that the node never -- rises) and the third is the time at which the node falls (-1 means -- that the node never falls). Stats: PROC[]; -- This routine prints out various statistics gathered during delay -- analysis. Print: BOOLEAN; -- TRUE means print out the names of nodes when their delay times -- are updated. Only nodes whose first letters are alphabetic are printed. PrintAll: BOOLEAN; -- TRUE means print out all nodes when their delay times change, -- regardless of whether the first letters are alphabetic. BusThreshold: REAL; -- Threshold capacitance (in pfs) at which a node is considered to be -- a bus. DelayLimit: INT; -- Limit of how many stages to examine before giving up delay analysis. END.