Monday, August 5, 2019

Quality of Time

Atomic Rules has been involved with the "Quality of Time" since we began back in 2008. Quality of Time to us means a specified precision and accuracy distributed coherently across an entire domain. If you are only counting milliseconds, this isn't such a chore. But as we move orders of magnitude to microsecond, or even nanosecond resolution; there numerous pragmatic challenges. 

Atomic Rules TimeServo product, introduced in 2016, first commercialized the idea of an FPGA system timer. The ability to coherently deliver time to any component within an FPGA, in the clock domain that time is desired in, is a common need which TimeServo fills.

We purposefully divorced the business of keeping time from the process of protocol-based time transference such as 1588v2/PTP and White Rabbit. TimeServo keeps time... period. There are both closed- and open- loop modes for the phase-accumulator we term BigPhase to operate in. For the closed-loop Digital Phase Locked Loop (DPLL) mode, we turned to mathematician Steve Gabriel to get the inherent structure and corresponding coefficients just as our customer's desired. Most TimeServo users stick with Steve's tradeoffs for settling-time and stability. But we left them programmable from the control-plane just in case.

It's really important to understand your requirements when it comes to Quality of Time. And as you press down below microsecond accuracy towards nanosecond accuracy, things can get difficult quickly. There's a lot of good spec work in the time-centric IEEE standards, and in how organizations such as the UNH IOL can verify and validate performance. We believe there are way too many devices on the market touting "sub-nanosecond accuracy"  - when that's far from the case.