EDIS: Guide | FAQ | New | Search | Bibliography | Index | Feedback




A Toggle has one input terminal a and two output terminals b and c. Each input signal produces one output signal. Input and output signals alternate. Signals on the output terminals also alternate, first on b then on c, etc.


Schematic diagram for a Toggle:


XDI state graph for a Toggle:


Specification in XDI model.


Specification in Verdect:

define TOGGLE( a?, b!, c! ) =
       pref *[ a?; b!; a?; c! ]
Also available through this link

DI Algebra

Specification in DI Algebra:

NAME = "Toggle"
I = {a? }
O = {b!, c!}
T = a?; b!; a?; c!; T
Also available through this link


XDI Report.

T(a; b, c) / ab = T(a; c, b)


DI Decompositions

  1. A Toggle can be implemented as a small state machine using a Latch:


Using Boolean Gates

No information available

Using Transistors

No information available


The Toggle can be generalized to a k-Toggle, which cycles over k outputs (k>0). A Toggle is a 2-Toggle.

The Toggle can be generalized to a Modulo-N Counter. A Toggle is a Modulo-2 Counter.


In Section 2.2.6 of [Ebergen89, p. 32], the Toggle is referred to as TOGGLE component.

Conjecture: A Toggle cannot be implemented with only Forks, Joins, Merges, and I-Wires.


[Ebergen89, p. 32]

Last modified at Fri Nov 20 10:11:41 1998
Encyclopaedia of Delay-Insensitive Systems
Copyright © 1995-1998 Tom Verhoeff / Tom.Verhoeff@acm.org