If the flow path of a pipeline of at least three oscillations is fed back on itself it forms a flow path ring (see LDD ch 12). Each oscillation passes on its flow path data value before transitioning to null. As the individual oscillations oscillate, the data value of the flow path is passed around the ring from oscillation to oscillation. The data path value is stably maintained in the ring: is remembered indefinitely. In the movie, the value “middle rail” flow around the ring indefinitely.
A ring can link with an external oscillator flow and become a source.
The A oscillation of the ring and the external oscillation are linked. The value in the ring will wait at rank A for both oscillations. The value flowing around the ring is a source for the external oscillation.
The notation at right represents a enable rank of 2 of 2s and a following completeness (the grey rectangle) spanning a flow path of any size and structure.
The oscillations of a ring can contain transfer behaviors that continually update a cycling value. The ring below generates a sequence of pseudo random numbers. The next number will be delivered each output oscillation.
A ring can contain an incrementer and count. It can sequence rail values. And so on…