PreciseTimeBasic is a IEEE1588-2008 V2 compliant clock synchronization IP core for Xilinx FPGAs. It is capable of accurately time stamp IEEE 1588 telegrams and also to provide a compatible timer. All these processes are carried out by hardware modules.
PreciseTimeBasic IP comprises different hardware and software elements:
- A hardware Time Stamping Unit (TSU) capable of accurately time stamp IEEE 1588 event messages and to provide an adjustable timer with submicrosecond precision. In fact, two versions of TSU are provided with the PreciseTimeBasic: PTB TSU and PTBLite TSU.
- PTB TSU has been designed to be connected to the Medium Independent Interface ([G]MII), between MAC and PHY, parsing all the Ethernet frames and inspecting which ones are IEEE 1588.
- PTBLite TSU takes advantage of the PTP parser contained in the Zynq GMACs to provide a TSU usingless FPGA resources but with some limitations imposed by the IEEE 1588 hardwired logic on the PS GMAC. Both versions of TSU can use an internal adjustable timer or take its timer value from another TSU. Thus multiple Ethernet connections can share the same timer or different Ethernet connections may have their individual timer.
- A software PTP Reference Design. SoC-e provides a Linux kernel patch that allow accessing the TSUs using the Linux PTP Hardware Clock (PHC) subsystem. A modified version of the Open Source LinuxPTP software stack with additional features is also provided. Because of its modular design, porting to other operating is feasible.