Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers
Document typeConference report
PublisherUniversitat Politècnica de Catalunya (UPC)
Rights accessOpen Access
Petrifyis a tool for (1) manipulating concurrent specifications and (2) synthesis and optimization of asynchronous control circuits. Given a Petri Net (PN), a Signal Transition Graph (STG), or a Transition System (TS)1it (1)generates another PN or STG which is simpler than the original description and (2) produces an optimized net-listof an asynchronous controller in the target gate library while preserving the specified input-output behavior. Given a specification petrify provides a designer with a net-list of anasynchronous circuit and a PN-like description of the circuit behavior in terms of events and ordering relations between events. The latter ability of back-annotating to the specification level helps the designer to control the design process. For transforming a specification petrify performs a token flow analysis of the initial PN and produces a transition system (TS). In the initial TS, all transitions with the same label are considered as one event. The TS is then transformed and transitions relabeled to fulfill the conditions required to obtain a safe irredundant PN. For synthesis of an asynchronous implementation petrify performs state assignment by solving the Complete State Coding problem. State assignment is coupled with logic minimization and speed-independent technology mapping to a target library. The final net-list is guaranteed to be speed-independent, i.e., hazard-free under any distribution of gate delays and multiple input changes satisfying the initial specification. The tool has been used for synthesis of PNs and PNs composition , synthesis [7, 8, 9] andre-synthesis  of asynchronous controllers and can be also applied in areas related with the analysis of concurrent programs. This paper provides an overview of petrify and the theory behind its main functions.
CitationCortadella, J. [et al.]. Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers. A: Conference on Design of Circuits and Integrated Systems. "DCIS96, XI Design of Integrated Circuits and Systems Conference: proceedings". Barcelona: Universitat Politècnica de Catalunya (UPC), 1996, p. 205-210.