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

Merge

Specifications

Informal

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.

XDI

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


[Zoom|FIG]

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


[Zoom|FIG]

Specification in XDI model:

(AND/IF_1.0
  (NFA
    (NAME Merge)
    (SYMBOLS 
      (a INPUT) (b INPUT) (c OUTPUT)
    )

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

Verdect

Specification in Verdect:


define MERGE( a?, b?, c! ) =
       pref *[ (a? | b?); c! ]
end
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

Properties

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.

Implementations

DI Decompositions

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


    [Zoom|FIG]

Using Boolean Gates

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

Using Transistors

No information available

Generalizations

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

Miscellaneous

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.

References

[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