Determining the tzme separation of events as u firnduinental problem in the unulysis, synthesis, und optimizution of concvrrrnt systems. Applicutions runye from logic nptimizutron of asynchronous diyitul circiizts to evuliiution of e x e c d o n timtts of proyrums f o r real-time systems. W e present u n eficient ulyorithm t o find exuct (tight) boimds on the separation time of t : w nts i n an arbitrury process yruph without conditionul behuvior. The algorithm is bused on U fiinctional dec,omposition technique that permits the implicit evciliiufion of uii infinitely unfolded process gruph.
1ntrodu.ctionIn this paper, we derivt. an exact, algorithn that dei ermines tight, upper and lower boiinds on the separation in time of an arbitrary pair of system eventls. Depending on the level of ahstaraction in the specification, events may represent, low-level signal transitions at, a circuit, interface or control flow in a more abstr;zct behavioral view. If we are able to determine t,ht. bounds on. the separation in time of two events tht'n we can iise this information to: simplify cornhinat.ional and sequentd logic by extracting t,emporal don't, care information, verify that ii logic implement,at.ion meets specified timing constrairit,s, identify and remove hazards from asynclironous circuits, and fociis opi.imization efforts in data-path synthesis by generat,-ing useful scheduling constraints. Thris, det,ermining t,htb time separation of event,s is a fiintlarnent,al problrm in hhe analysis, synthesis, and optimizat,ion of conciirrent systems.We develop an efficient, solution for determining t,inie ~eparation bounds and also t8aki3 into account, tohe effvcts of starting thr system from a specific reset, or start state. We model a concurrent system as a cyclic connected graph. The nodes of the graph represent events and the arcs are annotated with lower and upper bounds on delays between events. Currently, our solution is limited t,o graphs without, conditional behavior. However, that, stsill leaves a large and useful class of conciirrent, specifications t80 which our analysis applies.Other approaches to the problem of finding bounds on the separation in time of two events have either been inexac.t, or based on a more restrictive graph topology. Loose hounds t9hatl may not, enable all possible optimizations were obtained by [8].
Both [7] and[IO] can only handle acyclic graphs, and [a] only supports a 1imit.ed form of synchronization and conciirrency.This paper is corriposrd of five sections. We follow this int,rotliict.iori witch a formalization of the problem, a review of t,he foundation provided by the solution for finite acyclic graphs, and some examples. Section 3 provides t,he cletsails of our algorithm, which is based on a striic.tjural decomposition of the unfolded process graph. Some practical examples are presenked in Section 4, and finally, Section 5 summarizes the contributions of this paper.
P r o b l e m FormalizationConsider a simplr roriciirrrnt system consisting of thrrr proresst~s tliat synchronize over ...