Embedded Systems Group (ES)

Examples for Motivating Endochrony

SeqITE
This is a sequential if-then-else node that first reads input x0 and based on the read value will copy one of the two other inputs to the output. As a sequential function, the node is endochronous.
ParITE
This is a parallel if-then-else node that, compared to SeqITE, has an additional firing rule which allows to copy the values of `then' and `else' branches also in case that the condition is absent and these values are the same. After desynchronization, the node becomes however nondeterministic, so it is latency-sensitive, i.e., makes decisions based on the presence of values.
SeqOR
This is a sequential OR node that computes the disjunction of the two boolean inputs. In case input x0 is true, input x1 is assumed to be absent, since its value is then not needed to determine the output value. Note the asymmetry in the function table generated this way. As every sequential function, the node is endochronous and can be safely desynchronized.
ParOR
This is a parallel OR node that is symmetric in contrast to the sequential OR. In case one of the inputs is true, the other one must be absent, since that value is not needed (and we replace not needed values by ⊡). The node is not endochronous, but weakly endochronous and can therefore still be desynchronized without losing determinacy.