25 Gbps以太网IP核用户指南

ID 683639
日期 10/31/2016
Public
文档目录

2.5.3. 为具有1588 PTP特性的实例添加外部Time-of-Day模块

包含1588 PTP模块的25GbE IP核需要一个外部time-of-day(TOD)模块提供连续的当前time-of-day信息。TOD模块必须在每个时钟周期更新time-of-day输出值,并必须以V2格式(96 bits)或64-bit TOD格式(或两者兼而有之)提供TOD值。

Intel提供了可用于组合以创建25GbE IP核所需的TOD模块的组件如下:

  • 简单TOD时钟模块,可从IP Catalog(Interface Protocols > Ethernet > Reference Design Components > Ethernet IEEE 1588 Time of Day Clock)获得。可例化其中两个时钟模块并将一个连接到TX MAC,另一个连接到RX MAC。
  • 单格式TOD同步器,可从IP Catalog(Interface Protocols > Ethernet > Reference Design Components > Ethernet IEEE 1588 TOD Synchronizer)获得。该组件仅可处理单TOD格式。因此,如果将Time of day format参数设置为Enable both formats,就必须例化并连接两个TOD同步器模块。如果您的IP核仅支持单TOD格式,您的设计仅需一个单TOD同步器模块。

每个TOD同步器连接一个主TOD时钟和一个从TOD时钟。

  • 如果通过单TOD同步器创建您的TOD模块,就将主TOD时钟连接到25GbE IP核的TX MAC, 从TOD时钟连接到25GbE IP核的RX MAC。
  • 或者,从单个主TOD时钟一并驱动TX时钟和RX TOD时钟。这样,您的设计中就一定包含两个TOD同步器,一个连接到主TOD时钟和从TX TOD时钟,一个连接到主TOD时钟和从RX TOD时钟。

如果您的IP核支持两种TOD格式,就可将TOD同步器数量增加一倍。所实现的配置取决于您的系统设计对1588 PTP功能性的要求。

图 6. 96-Bit TOD格式的TOD同步器和TOD时钟设计说明单个TOD格式设计中2个TOD时钟组件和一个TOD同步器组件之间的必要连接。简单TOD模块中,主TOD时钟连接到IP核的TX MAC,从TOD时钟连接到IP核的RX MAC。如果您的25GbE IP核支持两个TOD格式,则第二TOD同步器要连接到相同主,从TOD时钟相对应的64-bit 时间(time-of-day)信号。

关于以太网IEEE 1588时间(Time of Day)时钟和以太网IEEE 1588 TOD同步器组件的信息,请参阅Ethernet Design Example Components User Guide

表 9.  TOD模块所需的25GbE IP核信号的连接使用提供96-bit TOD和64-bit TOD的TOD模块的信号名,罗列出TOD模块与25GbE IP核之间的必要连接。如果创建您自己的TOD模块,则其必须具有25GbEIP核所要求的输出信号。但,其信号名可能与列表中TOD模块信号名称有所不同。IP核包含的信号取决于您在参数编辑器中为Time of day format设置的值。例如,RX TOD模块可能只需要96-bit TOD输出信号。本列表未罗列TOD模块和设计的其他部分之间所需的连接。
TOD模块信号 25GbE IP核信号
rst_n(输入到TX和RX TOD时钟) 将该信号从与csr_rst_n 输入信号相同的时钟源驱动到25GbE IP核。

period_rst_n(输入到RX TOD时钟)

reset_slave(输入到同步器)

将该信号从与rx_rst_n输入信号相同的时钟源驱动到25GbE IP核。

period_rst_n(输入到TX TOD时钟)

reset_master(输入到同步器)

将该信号从与tx_rst_n输入信号相同的时钟源驱动到25GbE IP核。
time_of_day_96b[95:0](TX TOD时钟输出) tx_time_of_day_96b_data[95:0](输入)
time_of_day_64b[63:0](TX TOD时钟输出) tx_time_of_day_64b_data[63:0](输入)
time_of_day_96b[95:0](RX TOD时钟输出) rx_time_of_day_96b_data[95:0](输入)
time_of_day_64b[63:0](RX TOD时钟输出) rx_time_of_day_64b_data[63:0](输入)

period_rst_n(输入到TX TOD时钟)

clk_master(输入到同步器)

clk_txmac(输出)

period_clk(输入到RX TOD时钟)

clk_slave(输入到同步器)

clk_rxmac(输出)