PARSLEY FOR INTERNAL XEROX USE ONLY Parsley Rick Barth c Copyright 1985, 1986 Xerox Corporation. All rights reserved. Abstract: Parsley is a hierarchical analyzer for synchronous sequential circuits. Created by: Rick Barth Maintained by: Barth Keywords: timing analysis, synchronous sequential circuits XEROX Xerox Corporation Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, California 94304 For Internal Xerox Use Only Introduction Parsley is an analysis program for synchronous sequential circuits. It combines ideas from MOSSIM, Crystal, and Rosemary with a few new ideas of its own to efficiently enumerate the combinatorial paths of a synchronous sequential circuit and calculate the speed of these paths. Definitions A node is an electrical equipotential region. A vicinity is a set of nodes which are connected by resistive branches such as the channels of MOS transistors. Parsley models the voltage level of a node as a value from the set {L, H, X} just as Rosemary and MOSSIM model logic levels. A port is the interface to a node presented by some component. It has a current strength as well as a value. An input port is a port which is never driven but is sensed by a component. An output port is a port which is driven but never sensed by a component. A value context is a set of values which partition a synchronous sequential network into feedback free combinatorial circuits. A primary input is a vicinity which is sensed but is never driven by the circuit given a value context. The input ports of the circuit and the output ports of latches which are not currently sensing their inputs are connected to primary inputs. A primary output is a vicinity which is never sensed but driven by the circuit given a value context. The output ports of the circuit and the input ports of latches which are not currently sensing their inputs are connected to primary outputs. An infinite node is one which has a fixed value that cannot be changed by the circuit. It is able to supply an infinite amount of charge in order to maintain its value. Perhaps this idea could be subsumed by the general specification of impossible node values. Operations Allow specification of impossible combinations of node values. Generate all legal combinations given these specifications of illegal combinations. Mutual exclusion with active low or high values may be a sufficiently powerful primitive. It covers one hot decoders, multidriver wires, and nonoverlapping clocks. Compute a partial ordering of the network given a value context. During the partial ordering computation check that the network is really cycle free as the value context is asserting. Keep all the data structures hierarchical while doing so. Generate a total ordering of combinational paths given a partial ordering. Generate the critical paths in descending order given a partial ordering. Prune the paths on the fly. Allow pruning by designer indication that the delay from one vicinity to another vicinity is the same along all paths. DParsleyDoc.tioga Rick Barth, October 10, 1986 4:29:07 pm PDT h(firstHeadersAfterPage) {0} .cvx .def (firstPageNumber) {0} .cvx .def (oneSidedFormat) {.true} .cvx .defJ++JIunleadedMark centerHeaderlssK centerFooterItitleIauthors Iabstractms>?Nb HQN NN 1:NI boilerplate qoboxhead Ibody Qi+Kl C ? s    QQQJQ