Each node and router contains a time-counter which is used to hold the current 6-bit time value from the time-code time. This counter is also used to validate an incoming time-code and to decide whether the time-code should be propagated. In a node, time-code propagation is up to the application (hardware or software). In a router it is to all the output ports of the router.
During normal operation the time value in a time-counter increments from one time-code to the next, rolling round from 63 to 0 when it reaches the maximum possible time value. When a time-code arrives at a SpaceWire node or router its value should be one more than the current value of the time-counter at this node or router. The time value of an incoming time-code is compared to the value of the time-counter. If the time-code is one more than the current value of the time-counter then the time-code is deemed valid. The time-counter is then incremented to the value of the time-code and the arrival of a valid time-code is indicated.
If the time value of the time-code is not one more than the time-counter then the time-code is not valid. In this case the time-counter is set to the value of the newly arrived time-code but the arrival of the time-code is not flagged.