Skip to Main Content
Interfaces, by nature, are often asynchronous since they serve for connecting multiple distributed modules/agents without common clock. However the most recent developments in the theory of asynchronous design in the areas of specifications, models, analysis, verification, synthesis, technology mapping, timing optimization and performance analysis are not widely known and rarely accepted by industry. The goal of this tutorial is to fill this gap and to present an overview of one popular systematic design methodology for design of asynchronous interface controllers. This methodology is based on using Petri nets (PN) a formal model that, from the engineering standpoint, is a formalization of timing diagrams (waveforms) and from the system designer standpoint is a concurrent state machine, in which local components can perform independent or interdependent concurrent actions, changing their local states asynchronously. We will introduce this model informally based on a simple example: a VME-bus controller serving reads from a device to a bus and writes from the bus into the device.