Rephrasing:
A Partial Decision-Wait receives two bits of data (not both 1) in a
A Partial Decision-Wait can also be viewed as a restricted
kind of Resettable Join,
where a_0 and b_0 are the inputs to be joined into c_00 and
a_1 and b_1 are the resets with acknowledges c_10
and c_01 respectively.
However, it can only be reset via a_1 when partially set by b_0,
or via b_1 when partially set by a_0.
Also see Implementations.
Specification in Verdect:XDI
Schematic diagram
for a Partial Decision-Wait:
[Zoom|FIG]
XDI state graph
for a Partial Decision-Wait:
[Zoom|FIG]
Verdect
define PDW( a0?, a1?, b0?, b1?, c00!, c01!, c10! ) =
pref *[ (a0? || b0?); c00!
| (a0? || b1?); c01!
| (a1? || b0?); c10!
]
end
Also available through this link
Specification in DI Algebra:
PDW = [ a0? -> [ a1? -> _|_ # b0? -> [ b1? -> _|_ # skip -> c00!; PDW ] # b1? -> [ b0? -> _|_ # skip -> c01!; PDW ] ] # a1? -> [ a0? -> _|_ # b0? -> [ b1? -> _|_ # skip -> c10!; PDW ] # b1? -> _|_ ] # b0? -> [ b1? -> _|_ # a0? -> [ a1? -> _|_ # skip -> c00!; PDW ] # a1? -> [ a0? -> _|_ # skip -> c10!; PDW ] ] # b1? -> [ b0? -> _|_ # a0? -> [ a1? -> _|_ # skip -> c01!; PDW ] # a1? -> _|_ ] ]Also available through this link
The roles of the a and b inputs can be interchanged,
provided the c outputs are permuted accordingly:
PDW(a_0, a_1, b_0, b_1;
c_00, c_01, c_10) =
PDW(b_0, b_1, a_0, a_1;
c_00, c_10, c_01)
No information available
No information available