用户接口 - 3.2 简体中文

40G/50G High Speed Ethernet 子系统 v3.2 产品指南 (PG211)

Document ID
PG211
Release Date
2021-02-04
Version
3.2 简体中文

将使用简单的握手协议来告知您,已使用 ctl_rx_pause_enable[8:0]stat_rx_pause_req[8:0]ctl_rx_pause_ack[8:0] 总线接收到暂停包。对于这些总线,位 [8] 对应于全局暂停包,位 [7:0] 对应于优先暂停包。

收到暂停包时,会发生以下步骤:

  1. 如果 ctl_rx_pause_enable[8:0] 的对应位为 0,那么将忽略暂停量并且 40G/50G High Speed Ethernet 子系统保持处于步骤 1 不变。否则,stat_rx_pause_req[8:0] 总线的对应位将设置为 1,并且接收到的暂停量将加载到定时器中。
    注释: 如果当暂停处理处于步骤 2 或后续阶段时,ctl_rx_pause_enable[8:0] 的任一位设置为 0(即禁用),那么 40G/50G High Speed Ethernet 子系统会照常完成这些步骤,然后返回步骤 1。
  2. 如果 ctl_rx_check_ack 输入为 1,那么 40G/50G High Speed Ethernet 子系统会等待您将 ctl_rx_pause_ack[8:0] 总线的相应位设置为 1。
  3. 当您将 ctl_rx_pause_ack[8:0] 的适当位设置为 1 之后或者如果 ctl_rx_check_ack 为 0,那么 40G/50G High Speed Ethernet 子系统会开始对定时器进行倒计时。
  4. 当定时器超时时,40G/50G High Speed Ethernet 子系统会将 stat_rx_pause_req[8:0] 的相应位重新设置为 0。
  5. 如果 ctl_rx_check_ack 输入为 1,则当您将 ctl_rx_pause_ack[8:0] 的相应位重新设为 0 时,此操作即告完成。

如果您不将 ctl_rx_pause_ack[8:0] 的相应位重新设为 0,那么 40G/50G High Speed Ethernet 子系统会在 32 个时钟周期后将此操作视为完成。

下图中演示了前述步骤,每个步骤均显示在波形上。

图 1. RX 暂停接口示例 Page-1 Sheet.1 Sheet.2 Sheet.3 Sheet.4 Sheet.5 Sheet.6 Sheet.7 Sheet.8 Sheet.9 stat_rx_pause_req[n] stat_rx_pause_req[n] Sheet.10 Sheet.11 Sheet.12 Sheet.13 Sheet.14 stat_rx_pause_ack[n] stat_rx_pause_ack[n] Sheet.15 Sheet.16 Sheet.17 Sheet.18 Sheet.19 1 1 Sheet.20 Sheet.21 Sheet.22 Sheet.23 Sheet.24 2 2 Sheet.25 Sheet.26 Sheet.27 Sheet.28 Sheet.29 3 3 Sheet.30 Sheet.31 Sheet.32 Sheet.33 Sheet.34 4 4 Sheet.35 Sheet.36 Sheet.37 Sheet.38 Sheet.39 Sheet.40 Sheet.41 Received quanta period Received quanta period Sheet.42 Sheet.43 Sheet.44 Sheet.45 Sheet.46 5 5 Sheet.47 Sheet.48 Sheet.49 Sheet.50 Sheet.51 Sheet.52 Sheet.53 Sheet.54 Sheet.55 X16602-032916 Sheet.56 Sheet.57 Sheet.58 X16602-080621

如果步骤 2 到 5 期间任意时间收到新的暂停包,那么定时器将加载新获取的暂停量值,并且此进程继续运行。