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

Non-Receptive Mixer



A (non-arbitrating, blocking) Non-Receptive Mixer has three 2-phase handshake ports, two passive and one active. The handshakes on the passive ports are `multiplexed' over the active port. That is, when the environment requests on exactly one of the passive ports, the Non-Receptive Mixer then requests on the active port, and when the active port receives an acknowledge, the passive port that received the original request is also acknowledged.

In contrast to the Mixer, the environment of a Non-Receptive Mixer must guarantee mutual exclusion of the requests on the passive ports. Therefore, a Non-Receptive Mixer is not a handshake component.


Schematic diagram for a Non-Receptive Mixer:


XDI state graph for a Non-Receptive Mixer:


Specification in XDI model.


Specification in Verdect:

define NMIX( ar?, aa!, br?, ba!, cr!, ca? ) =
       pref *[ ar?; cr!; ca?; aa! | br?; cr!; ca?; ba! ]
Also available through this link

DI Algebra

Specification in DI Algebra:

NAME = "NR-Mixer"
I = { r0, r1, a }
O = { a0, a1, r }

MX = [ r0? -> r!; M0 
     , r1? -> r!; M1
M0 = [ r1? -> CHAOS
     , a?  -> a0!; MX
M1 = [ r0? -> CHAOS
     , a?  -> a1!; MX
Also available through this link


XDI Report.

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


DI Decompositions

  1. A Non-Receptive Mixer can be implemented by a Call (not equ), and consequently with two Forks, a Merge and a Latch:

    The Ludwig verification script of this implementation.

Using Boolean Gates

No information available

Using Transistors

No information available


The Non-Receptive Mixer can be generalized to a k-Call, which multiplexes k passive ports (with mutually exlusive requests) onto one active port. A Non-Receptive Mixer is a Non-Receptive 2-Mixer.


The Non-Receptive Mixer is said to be blocking because a request on a passive port is only acknowledged after a handshake has been completed on the active port. A Nonblocking non-receptive Mixer can also be specified, but it is not a very useful component, as it can only be used once.


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