Signal transition graphs

From Wikipedia, the free encyclopedia

Signal Transition Graphs (STGs) are typically used in electronic engineering and computer engineering to describe dynamic behaviour of asynchronous circuits, for the purposes of their analysis or synthesis.

Informally, an STG is a graphical description of the behaviour of an asynchronous circuit in the form where information about causal relations between signalling events is represented directly, as opposed to descriptions based on states. In that way, STGs help to formalise the description of a circuit typically represented by timing diagrams, sometimes also called waveforms. The latter are widely used by electronic engineers.

VME bus controller. Block-diagram and timing diagrams (a) and the corresponding STGs (b). This example originates from.[1]

More formally, an STG is a type of an interpreted (or labelled) Petri net whose transitions are labelled with the names of changes in the values of signals (cf. signal transitions). For example, the typical case of the labelling is the case where signals are binary, hence the transition are interpreted as rising and falling edges of the signals in the circuit.

STGs usually give more compact descriptions of the behaviour of asynchronous circuits than state graphs. The complexity of an STG specification of a circuit is typically linear in the number of signals in the circuit while the complexity of a state graph can grow exponentially, due to the fact that asynchronous circuits have high degree of concurrency. In STGs concurrent events are represented via cause-sequence relations (cf. true concurrency) while in state graphs concurrency is represented via interleaving.

STGs were first proposed in 1981, under the name Signal Graphs, by Leonid Rosenblum (in Russian) in.[2] They were studied more formally and applied to the design of asynchronous interfaces by Alex Yakovlev in 1982, in his PhD thesis [3] (in Russian). They were later presented in English in 1985, in two independent sources, one by Rosenblum and Yakovlev in[4] and the other by Tam-Anh Chu in [5] (an earlier version was presented at ICCD'85). Since then, STGs have been studied extensively in theory and practice,[6][7][8][9][10][11][12] which has led to the development of popular software tools for analysis and synthesis of asynchronous control circuits, such as Petrify[13] (chief developer: Jordi Cortadella) and Workcraft (a toolkit from Newcastle University).[14]

Amongst the various examples of using STGs in designing asynchronous circuits, the most well known are those in the domain of asynchronous interfaces, controllers, arbiters and analog-mixed signal circuits, cf.,[15][9][16][17][18][19] most recently STGs have been extended to model causal behaviour involving causality mediated by capacitive coupling, such as those used in switched capacitor converters (SCCs).[20][21]

Besides STGs, based on binary signals, there are also Symbolic STGs,[22] where signals can be multi-valued.

STGs with timing (delays) information annotation were first introduced in,[4] and later in,[23] where ideas of analysis of behaviour of circuits with timing constraints,[24] later called Relative Timing,[25] were also first introduced.

Special extensions of the basic underlying Petri net models, to capture asynchrony and interrupts in a compact form, were introduced in Place Chart Nets.[26] An important connection between state-based models of asynchronous circuits and Petri net-based models (inc. STGs) has been established in[27] using Theory of Regions (cf.[28]). Theory of regions was used to derive an STG model and its circuit implementation in[29] for Counterflow Pipeline Processor due to Robert Sproull, Ivan Sutherland and Charles Molnar.[30]

One of the models closely related to STGs is Change Diagrams, proposed by Michael Kishinevsky, Alex Kondratyev, Alexander Taubin and Victor Varshavsky in.[31] Change Diagrams have the advantages of being able to model both AND and OR causality in a compact way. But they lack descriptive power in terms of choice. The comparison between Petri nets and change diagrams in terms of their descriptive power and their unification in the form of Causal Logic Nets has been presented in.[32]

In order to capture concurrency and choice in compact form, a model called Conditional Partial Order Graph (CPOG) was proposed by Andrey Mokhov in his PhD thesis and published in.[33] It has advantages over widely used interpreted Petri Nets and Finite State Machines for a class of systems which have many behavioral scenarios defined on the same set of actions, e.g., CPU microarchitecture controllers.[34]

STGs have been interfaced with various HDLs, see for example links with VHDL[35] (1996) and Verilog[36] (2000) with the aim to support asynchronous design. Placed into the synthesis flow from VHDL, STGs and Petri nets have been shown instrumental,[37] and likewise with Verilog,[38] where a tool VERISYN was developed.[39]

More recently STGs have been connected with notations that are believed to be easier for practical hardware designers, hence the emergence of the model of waveform-transition graphs (WTG).[40] Likewise, realising that the model of finite state machine (FSM) can be easier for designers to handle than, for example, Petri nets or STGs, a link with Burst Mode FSMs[41] as a front-end has been developed.[42][43]

Analysis Methods

At the moment, arguably the most efficient methods for analysis and synthesis of asynchronous circuits are based on Petri net unfoldings - they were studied by Victor Khomenko in his PhD thesis.[44] They are implemented under Workcraft.[14]

Performance analysis of certain subclasses of Petri net models of asynchronous circuits has been investigated by Aiguo Xie and Peter Beerel in.[45]

Asynchronous Circuit Synthesis

References

Further reading

Related Articles

Wikiwand AI