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




A Merge has two input terminals, and one output terminal. It `merges' signals on the input terminals to the output terminal. Input and output signals alternate. The environment has to guarantee mutual exclusion on the inputs.


Schematic diagram for a Merge M(a,b,c):


XDI state graph for a Merge M(a, b, c):


Specification in XDI model:

    (NAME Merge)
      (a INPUT) (b INPUT) (c OUTPUT)

      (0 INITIAL BOX)
      (1 TRANSIENT)
      (0 1 a) (0 1 b)
      (1 0 c)
Also available through this link


Specification in Verdect:

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

DI Algebra

Specification in DI Algebra:

NAME = "Merge"
I = { a?, b? }
O = { c! }
M = [ a? -> c!; M , 
      b? -> c!; M 
Also available through this link


XDI Report.

The roles of inputs a and b can be interchanged:
M(a, b; c) = M(b, a; c)

The Merge specification requires a choice between inputs from the environment in state 0.


DI Decompositions

  1. A Merge can be implemented with a Resettable Join using a Fork and an I-Wire:


Using Boolean Gates

  1. The Merge can be implemented as an XOR gate.

Using Transistors

No information available


The Merge can be generalized to a k-Merge, which merges a choice between k inputs (k>0). A Merge is a 2-Merge.


In [Ornstein67, p. 347] and [Dickson74, p. 44], the Merge is referred to as Merge Element.

In Section 2.2.5 of [Ebergen89, pp. 31-32], the Merge is referred to as XOR component.


[Dickson74, p. 44]
[Ebergen89, pp. 31-32]
[Ornstein67, p. 347]

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