White Rabbit provides sub-nanosecond accuracy and picoseconds precision of synchronization for large distributed systems in which devices are interconnected in a network.
White Rabbit (WR) Technology consists of a set of open-source basic blocks that can be used to implement WR Switches and WR Nodes. When interconnected, WR Switches and WR Nodes create a WR network. Such a network is a PTP-enabled Bridge Local Area Network compatible with IEEE 802.1Q, IEEE 802.3 and IEEE 1588 standards. The sub-nanosecond synchronization is provided only between WR Switches and WR Nodes.
The WR Switch allows the creation of a WR Network by interconnecting WR Nodes or other WR Switches. From the point of view of data exchange, all interconnected devices are equivalent. From the point of view of timing distribution, a WR Switch synchronises to an upstream source of time and acts as a source of time for downstream WR devices. The subsequent interconnection of many WR Switches allows the synchronisation of many WR devices to a common reference source of time.
The WR Switch is composed of open-source hardware (Mechanics, PCBs), gateware (HDL/FPGA), firmware (code running in dedicated processors with no operating system), software (embedded Linux including drivers and user-space tasks) and documentation (user manuals and design rationale documents).
All the components related to the WR Switch are published on the Open Hardware Repository (ohwr.org):
The WR Node is at the end points of the WR Network and allows the device of interest (such as a sensor or time-tagger), which incorporates it, to be synchronised to other devices in the network.
The WR Node is a device that instantiates an open-source IP Core: the WR PTP Core (WRPC). The WRPC is part of the WR Technology and is composed of open-source and FPGA/hardware-agnostic gateware (HDL/FPGA), firmware (code running in dedicated processors with no operating system) and documentation (user manuals and design rationale documents).
The WR Technology also includes some modules that use the WRPC or interface with it. These are FPGA-specific modules (i.e., the Platform Support Packages, PSPs) and hardware-specific modules (i.e., the Board Support Packages, BSPs). Some hardware designs are also considered part of the WR Technology. They allow the creation of a WR Node through the use of the corresponding BSP. The list of PSPs, BSPs and hardware designs that are part of the WR Technology is regularly updated by the Bureau.
All the components related to the Node are published on the Open Hardware Repository (ohwr.org):
The aim of the Collaboration is to ensure that the WR Technology is well supported. It is often the case that WR applications need both modifications of WR Technology and extensions which may lie outside WR Technology. The Collaboration can be used as a forum to debate what should be the interfaces of the WR Technology to the extensions (which could be open-source or proprietary) and what should be the modifications (which should be open-source) to the WR Technology. Bringing about a good equilibrium that combines a solid set of open-source building blocks with the freedom to perform proprietary customisations when needed, is important for the Collaboration. In time, some of the open-source extensions can become modifications, i.e. the WR Technology can grow in scope to encompass domains previously covered only through extensions.
The open-source hardware, gateware, firmware, software and documentation of the WR Technology are intended to be licensed under permissive and weakly-reciprocal licences. Therefore, customising a WR Switch or a WR Node by extending its functionality with open-source or proprietary features are possible.
The weakly-reciprocal licenses used in the WR Technology:
- Hardware: CERN-OHL-W-2.0+
- Gateware: CERN-OHL-W-2.0+
- Firmware: LGPL-2.1-or-later
- Software: LGPL-2.1-or-later
- Documentation: CC-BY-SA-4.0+