Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
W
White Rabbit core collection
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 30
    • Issues 30
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • CI / CD
    • CI / CD
    • Pipelines
    • Schedules
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • White Rabbit core collection
  • Wiki
  • Board vfc hd ports

Board vfc hd ports

Last edited by OHWR Gitlab support Mar 27, 2019
Page history

WhiteRabbit PTP core on VFC-HD (generics and ports)

Module Generics

There are five generics provided for the parametrisation of the module.

name type default description
g_simulation integer 0 This can be set to 1 to enable faster simulation, by speeding up some of the initialisation processes.
g_pcs16_bit boolean false The VFC-HD makes use of the Altera Arria V platform for WhiteRabbit, which provides the possibility to configure the PCS of the PHY either as 8bit or 16bit. The default is to use the 8bit PCS, but this generic can be used to override it.
g_fabric_iface string "plain" The WR PTP core provides a [fabric" interface towards the FPGA. The default value for this generic will leave the fabric interface as is. If instead it is set to "streamers", a WhiteRabbit streamer module will be attached to it. In the future, it is foreseen to have a third option here, for instantiating an "Etherbone core](https://www.ohwr.org/project/etherbone-core/wikis).
g_streamer_width integer 32 In case g_fabric_iface = "streamers", then this generic defines the data width for the streamer interface. Otherwise, it is ignored.
g_dpram_initf string "default" This generic can point to the path of the Altera memory initialisation file (.mif) containing the software binary for the embedded CPU of the WR PTP core. If provided, it will be included in the final FPGA bitstream and the embedded CPU will be properly initialised every time the FPGA is programmed with the bitstream.

Module Ports

The following table lists all the input/output ports of the module. Note that depending on the values of the module generics (g_fabric_iface in particular), not all ports are required.

name direction type description
Clocks/resets
clk_board_125m_i in std_logic 125 MHz clock input from the VFC-HD board (OSC2 output on the board).
clk_board_20m_i in std_logic 20 MHz clock input from the VFC-HD board (OSC3 output on the board).
areset_n_i in std_logic Reset input, active low. Can be asynchronous.
clk_sys_62m5_o out std_logic 62.5MHz system clock output.
clk_ref_125m_o out std_logic 125MHz WR reference clock output.
rst_sys_62m5_o out std_logic Active high reset output, synchronous to clk_sys_62m5_o.
SPI interfaces to DACs
dac_ref_sync_n_o out std_logic SPI CSn for main (ref) VCXO
dac_dmtd_sync_n_o out std_logic SPI CSn for helper (DMTD) VCXO
dac_din_o out std_logic SPI MOSI
dac_sclk_o out std_logic SPI CLK
SFP I/O for transceiver and SFP management info from VFC-HD
sfp_tx_o out std_logic SFP TX
sfp_rx_i in std_logic SFP RX
sfp_det_valid_i in std_logic High if both of the following are true:
  1. SFP is detected (plugged in)
  2. The part number has been successfully read after the SFP detection| |sfp_data_i|in|std_logic_vector|The VFC-HD board implements I2C multiplexers to provide access to the numerous SFP interfaces (as well as other I2C-controlled peripherals). The VFC-HD project provides an additional module (in Verilog) which takes care of accessing the SFP information and making it available to the WR PTP code, in the form of a 16 byte vendor Part Number (128 bits std_logic_vector, ASCII encoded, first character byte in bits 127 downto 120).| |I2C EEPROM| |eeprom_sda_b|inout|std_logic|Bidirectional I2C SDA line.| |eeprom_scl_o|out|std_logic|Normally, this should also be bidirectional, but VFC-HD defines SCL as output, which works because the EEPROM is the only device connected on this I2C bus.| |Onewire interface| |onewire_i|in|std_logic|Data input from the onewire interface.| |onewire_oen_o|out|std_logic|Output enable to the onewire interface. When this is asserted, the instantiating module should drive the onewire data output to ground.| |External WB interface| |wb_adr_i|in|std_logic_vector|Wishbone slave interface, operating in "Pipelined" mode, with word granularity. It provides access to all the Wishbone peripherals inside the WR PTP core. VHDL records are not used here, to facilitate integration of the module into Verilog-based projects (such as the VFC-HD).| |wb_dat_i|in|std_logic_vector| |wb_dat_o|out|std_logic_vector| |wb_sel_i|in|std_logic_vector| |wb_we_i|in|std_logic| |wb_cyc_i|in|std_logic| |wb_stb_i|in|std_logic| |wb_ack_o|out|std_logic| |wb_int_o|out|std_logic| |wb_err_o|out|std_logic| |wb_rty_o|out|std_logic| |wb_stall_o|out|std_logic| |**WR fabric interface **| |wrf_src_adr_o|out|std_logic_vector|Pipelined Wishbone master interface. It passes all the Ethernet frames received from a physical link to a slave interface implemented in a user-defined module. VHDL records are not used here, to facilitate integration of the module into Verilog-based projects (such as the VFC-HD).| |wrf_src_dat_o|out|std_logic_vector| |wrf_src_cyc_o|out|std_logic| |wrf_src_stb_o|out|std_logic| |wrf_src_we_o|out|std_logic| |wrf_src_sel_o|out|std_logic_vector| |wrf_src_ack_i|in|std_logic| |wrf_src_stall_i|in|std_logic| |wrf_src_err_i|in|std_logic| |wrf_src_rty_i|in|std_logic| |wrf_snk_adr_i|in|std_logic_vector|Pipelined Wishbone slave interface. It receives Ethernet frames from a master interface implemented in a user-defined module, and sends them to a physical link. VHDL records are not used here, to facilitate integration of the module into Verilog-based projects (such as the VFC-HD).| |wrf_snk_dat_i|in|std_logic_vector| |wrf_snk_cyc_i|in|std_logic| |wrf_snk_stb_i|in|std_logic| |wrf_snk_we_i|in|std_logic| |wrf_snk_sel_i|in|std_logic_vector| |wrf_snk_ack_o|out|std_logic| |wrf_snk_stall_o|out|std_logic| |wrf_snk_err_o|out|std_logic| |wrf_snk_rty_o|out|std_logic| |**WR streamers **| |wrs_tx_data_i|in|std_logic_vector|Data word to be sent over the physical link. The width of the vector is equal to g_streamer_width parameter.| |wrs_tx_valid_i|in|std_logic|An '1' indicates that the tx_data_i contains a valid data word.| |wrs_tx_dreq_o|out|std_logic|Synchronous data request: when '1', the user may send a data word in the following clock cycle.| |wrs_tx_last_i|in|std_logic|An '1' indicates the last data word in a larger block of samples.| |wrs_tx_flush_i|in|std_logic|When asserted, the streamer will immediately send out all the data that is stored in its TX buffer.| |wrs_rx_first_o|out|std_logic|An '1' indicates the first data word of the data block on wrs_rx_data_o.| |wrs_rx_last_o|out|std_logic|An '1' indicates the last data word of the data block on wrs_rx_data_o.| |wrs_rx_data_o|out|std_logic_vector|Data word received from the physical link. The width of the vector is equal to g_streamer_width parameter.| |wrs_rx_valid_o|out|std_logic|An '1' indicates that rx_data_o is outputting a valid data word.| |wrs_rx_dreq_i|in|std_logic|Synchronous data request input: when '1', the streamer may output another data word in the subsequent clock cycle.| |WRPC timing interface and status| |pps_p_o|out|std_logic|1-PPS (Pulse Per Second) signal generated in the clk_ref_125m_o clock domain and aligned to WR time, pulse generated when the cycle counter is 0 (beginning of each full TAI second).| |tm_time_valid_o|out|std_logic|If 1, the timecode generated by the WRPC is valid.| |tm_tai_o|out|std_logic_vector|TAI part of the timecode (40 bits).| |tm_cycles_o|out|std_logic_vector|Fractional part of each second represented by the state of counter clocked with the frequency 125 MHz (values from 0 to 124999999, each count is 8 ns).| |led_link_o|out|std_logic|signal for driving Ethernet Link LED.| |led_act_o|out|std_logic|signal for driving Ethernet Act LED.|

20 December 2016

Clone repository
  • Board vfc hd
  • Board vfc hd ports
  • Current release
  • Development instructions
  • Documents
  • Documents
    • Project attachments
    • Version 'v3.0' attachments
    • Wr ptp core hdl specification v2.0
    • Wr ptp core building manual for release 2.0
    • Wr ptp core manual for release 2.1
    • Wr ptp core release tests
    • Wr ptp core release v3.0 documentation
    • Wr ptp core v4.0 files
    • Wr ptp core v4.1 files
    • Wr ptp core v4.2 files
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.