The environment of a 1-Bit Variable must guarantee mutual exlusion of the signals on w0 and w1. In contrast to a Non-Receptive 1-Bit Variable, the environment need not guarantee mutual exclusion between the write and read inputs. However, when reading the variable and changing its value through a write, the returned value is not prescribed.
The delay-insensitive specification allows the scenario where an arbitrary number of successive writes succeed before a pending read. Often a fairness requirement is imposed: if a choice situation between read and write arises `infinitely often', then both reading and writing succeed `infinitely often'.
Specification in Verdect:
define VAR( w0?, w1?, a!, r?, v0!, v1! ) = |[ x0, x1, y0, y1 :: pref *[ (w0?; x0 | w1?; x1); a! ] || pref *[ r?; (y0; v0! | y1; v1!) ] || pref (( *[y0] | *[y1] ); *[ x0; *[y0] | x1; *[y1] ]) ]| endAlso available through this link
Specification in DI Algebra:
NAME = "1 bit variable with arbitration" I = { w0, w1, r } O = { v0, v1, a } V = V0 ND V1 V0 = [w0? -> a!; V0 , w1? -> a!; V1 , r? -> v0!; V0] V1 = [w0? -> a!; V0 , w1? -> a!; V1 , r? -> v1!; V1] .Also available through this link
No information available
No information available
No information available
No information available