White Rabbit PTP Core Release v2.1
Gateware and software release of the White Rabbit PTP Core v2.1 contains the actual WR timing core placed inside the top module that can be run and tested on a PCIe SPEC board.
Release date
- 20 December 2013
Downloads
You can build it from the release
tarball
or just use official
binaries.
Documentation
Sources
The gateware and software source code of the White Rabbit PTP Core tagged wrpc-v2.1 can be found in the following repositories:
Release notes
HDL:*
- added separate 1-PPS output for driving LED
- fixed bug causing WRPC to hang on ping flood
- fixed packet filter decision queueing
- improved host and host-less carrier reset
- fixed fabric mux classes assignment and forwarding frame to first matching interface
- updated wbgen Wishbone interfaces
- added TX timestamp readiness register to avoid race condition
- added automatic simulation/synthesis LM32 firmware file loading
- renamed timing port names
- added interface for a new t24p transition point calibration procedure
- fixed remaining unsafe transfers between clock domains in the Endpoint
- updated the SoftPLL module (multichannel and selectable phase detector mode)
- fixed clearing TX timestamp valid flag in Mini-NIC
- added separate flags for setting tai seconds and nanoseconds
- added git-submodules for fetching gn4124-core, general-cores and etherbone-core repositories
- fixed wrong bitslide bug in Xilinx GTP wrapper
- updated default LM32 firmware binary to match latest wrpc-sw
LM32 firmware (wrpc-sw):*
- fixed bug causing WRPC to hang on ping flood
- fixed function reading time from HDL registers (caused locking issues on Altera)
- updated packet filter rules (e.g. for Streamer and Etherbone frames)
- fixed enabling timing interface when synced
- fixed setting time manually with shell command (added new commands to set TAI seconds and nanoseconds)
- set default MAC address to 11:22:33:44:55:66 if it cannot be assigned based on 1-Wire device ID
- added Kconfig for build configuration
- fixed automated revision generation
- reorganized Makefiles
- added automatic submodule fetching
- cleaned up the LM32 linker script
- updated printf implementation (mprintf replaced by pp_printf)
- added configurable stack size and stack overflow detection
- added lightweight atoi() implementation
- added reporting IP in GUI when compiled with Etherbone support
- fixed TX race condition in the Mini-NIC driver
- added shell command for enabling/disabling phase tracking (useful for WR timing demos)
- rewritten t24p transition point calibration procedure which is now executed every time a WRPC is set to Slave mode
- updated the SoftPLL implementation
- added shell help command which lists all available commands
- added optional shell config command which prints .config file
- rewritten lightweight usleep() implementation
- rewritten bit-banged 1-Wire implementation
- added functions to avoid 64-bit divisions
- fixed displaying long 64-bit values in GUI for long distance WR links
- default 1-PPS output width set to 10ms
- rewritten and optimized phase tracker from WR Switch
- fixed colors in GUI so that they don't break the terminal
- disabled 1-PPS output when WR PTP engine is stopped
- fixed locking to external GPS/atomic clock in GrandMaster mode
- replaced old WR PTP engine (ptp-noposix) with PPSI, now WRPC can run also in regular IEEE1588 Master/Slave mode
- added verbose shell command to set the verbosity of PPSI
- fixed timestamp linearization function (caused 8ns RTT jumps)
- added Python tool for analyzing log messages produced by stat cont shell command
- code clean up
- fixed indentation and code style
- updated user documentation
Grzegorz Daniluk - 20 December 2013