NetTimeLogic’s NTP Clientis a full hardware (FPGA) only implementation of a SNTPv4 Client according to RFC 4330/5905. It supports hardware timestamping and insertion with 4ns resolution. It is mainly intended to synchronize to a local NTP Server (one Server only), however it can of course also synchronize to the NTP pool (pool.ntp.org). It also support arbitrary request rates of multiple requests per second. It supports the NTP unicast and multicast mode and can forward non-NTP frames for sharing the same Ethernet port with e.g. a CPU. Conversion from TAI to UTC (taking leap seconds and smearing into account) is completely done in HW. This allows running NTP synchronization completely independent and standalone from the user application. The core can be configured either by signals or by an AXI4Light-Slave Register interface.
All calculations, filtering and corrections are implemented completely in HW.
NTP Client core
Overview
Key Features
- SNTP Client according to RFC 4330/5905
- Intercepts path between MAC and PHY
- Single Port
- Unicast requests at configurable intervals (also faster than 1/s)
- Process Unicast/Multicast responses from the NTP Server
- Hardware timestamping on (R)(G)MII level
- Support for UTC leap second handling (jump or smearing)
- Optional leap second smearing (configurable rate)
- AXI4Lite register set or static configuration
- MII/GMII/RGMII Interface support (optional AXI4 stream for interconnection to 3rd party cores)
- Timestamp resolution with 50 MHz system clock: 10ns or with a 250MHz aligned clock 4ns
- Hardware PI Servo