暂停接口 - 4.1 简体中文

10G/25G High Speed Ethernet Subsystem 产品指南 (PG210)

Document ID
PG210
Release Date
2023-05-10
Version
4.1 简体中文

下表显示了暂停接口 I/O 端口。

表 1. 暂停接口 - 控制端口
名称 I/O 时钟域 描述
ctl_rx_pause_enable[8:0] 输入 clk

RX 暂停使能信号。此输入用于启用对应优先级的暂停量的处理。

此信号仅影响 RX 用户接口,不影响暂停处理逻辑

ctl_tx_pause_enable[8:0] 输入 clk TX 暂停使能信号。此输入用于启用对应优先级的暂停量的处理。此信号用于对暂停包的发射进行门控。
表 2. 暂停接口 - TX 路径
名称 I/O 时钟域 描述
ctl_tx_pause_req[8:0] 输入 clk 如果该总线的某个位设置为 1,那么核会使用 ctl_tx_pause_quanta[8:0][15:0] 总线上关联的暂停量值来发射暂停包。如果 bit[8] 设置为 1,那么将发射全局暂停包。所有其他位设置为 1 都会导致发射优先暂停包。
ctl_tx_resend_pause 输入 clk 重新发射暂挂的暂停包。当此输入采样为 1 时,所有挂起的暂停包都将尽快(即,在当前进行中的包完成后)重新发射,并且重新发射计数器将复位。此输入应脉冲至 1,并且每次保持 1 个周期不变。
ctl_tx_pause_quanta[8:0][15:0] 输入 clk 这 9 个总线用于指示在基于优先级的暂停操作和全局暂停操作中,针对 8 个优先级中的每个优先级要发射的暂停量。ctl_tx_pause_quanta[8] 的值用于全局暂停操作。所有其他值均用于基于优先级的暂停操作。
ctl_tx_pause_refresh_timer[8:0][15:0] 输入 clk 这 9 个总线用于设置在基于优先级的暂停操作和全局暂停操作中,针对 8 个优先级中的每个优先级,暂停包的重新发射时间。ctl_tx_pause_refresh_timer[8] 的值用于全局暂停操作。所有其他值均用于优先暂停操作。
ctl_tx_da_gpp[47:0] 输入 clk 发射全局暂停包的目标地址。
ctl_tx_sa_gpp[47:0] 输入 clk 发射全局暂停包的源地址。
ctl_tx_ethertype_gpp[15:0] 输入 clk 发射全局暂停包的以太类型 (Ethertype)。
ctl_tx_opcode_gpp[15:0] 输入 clk 发射全局暂停包的操作代码。
ctl_tx_da_ppp[47:0] 输入 clk 发射优先暂停包的目标地址。
ctl_tx_sa_ppp[47:0] 输入 clk 发射优先暂停包的源地址。
ctl_tx_ethertype_ppp[15:0] 输入 clk 发射优先暂停包的以太类型 (Ethertype)。
ctl_tx_opcode_ppp[15:0] 输入 clk 发射优先暂停包的操作代码。
stat_tx_pause_valid[8:0] 输出 clk 如果该总线的某个位设置为 1,则表示核已发射暂停包。如果 bit[8] 设置为 1,则表示已发射全局暂停包。所有其他位设置为 1 都会导致发射优先暂停包。
表 3. 暂停接口 - RX
名称 I/O 时钟域 描述
ctl_rx_pause_ack[8:0] 输入 clk 暂停确认信号。该总线用于确认收到来自用户逻辑的暂停帧。
ctl_rx_check_ack 输入 clk 等待确认。如果此输入设置为 1,那么该核会使用 ctl_rx_pause_ack[8:0] 总线进行暂停处理。如果此输入设置为 0,则不使用 ctl_rx_pause_ack[8:0]。
ctl_rx_enable_gcp 输入 clk 值为 1 即表示启用全局控制包处理。
ctl_rx_check_mcast_gcp 输入 clk 值为 1 即表示启用全局控制多播目标地址处理。
ctl_rx_check_ucast_gcp 输入 clk 值为 1 即表示启用全局控制单播目标地址处理。
ctl_rx_pause_da_ucast[47:0] 输入 clk 暂停处理的单播目标地址。
ctl_rx_check_sa_gcp 输入 clk 值为 1 即表示启用全局控制源地址处理。
ctl_rx_pause_sa[47:0] 输入 clk 暂停处理的源地址。
ctl_rx_check_etype_gcp 输入 clk 值为 1 即表示启用全局控制以太类型 (Ethertype) 处理。
ctl_rx_etype_gcp[15:0] 输入 clk 以太类型 (Ethertype) 字段,用于全局控制处理
ctl_rx_check_opcode_gcp 输入 clk 值为 1 即表示启用全局控制操作代码 (opcode) 处理。
ctl_rx_opcode_min_gcp[15:0] 输入 clk 最小全局控制操作代码值
ctl_rx_opcode_max_gcp[15:0] 输入 clk 最大全局控制操作代码值
ctl_rx_enable_pcp 输入 clk 值为 1 即表示启用优先控制包处理
ctl_rx_check_mcast_pcp 输入 clk 值为 1 即表示启用优先控制多播目标地址处理
ctl_rx_check_ucast_pcp 输入 clk 值为 1 即表示启用优先控制单播目标地址处理
ctl_rx_pause_da_mcast[47:0] 输入 clk 暂停处理的多播目标地址。
ctl_rx_check_sa_pcp 输入 clk 值为 1 即表示启用优先控制源地址处理
ctl_rx_check_etype_pcp 输入 clk 值为 1 即表示启用优先控制以太类型 (Ethertype) 处理
ctl_rx_etype_pcp[15:0] 输入 clk 以太类型 (Ethertype) 字段,用于优先控制处理
ctl_rx_check_opcode_pcp 输入 clk 值为 1 即表示启用优先控制操作代码 (opcode) 处理
ctl_rx_opcode_min_pcp[15:0] 输入 clk 最小优先控制操作代码值
ctl_rx_opcode_max_pcp[15:0] 输入 clk 最大优先控制操作代码值
ctl_rx_enable_gpp 输入 clk 值为 1 即表示启用全局暂停包处理
ctl_rx_check_mcast_gpp 输入 clk 值为 1 即表示启用全局暂停多播目标地址处理
ctl_rx_check_ucast_gpp 输入 clk 值为 1 即表示启用全局暂停单播目标地址处理
ctl_rx_check_sa_gpp 输入 clk 值为 1 即表示启用全局暂停源地址处理。
ctl_rx_check_etype_gpp 输入 clk 值为 1 即表示启用全局暂停以太类型 (Ethertype) 处理
ctl_rx_etype_gpp[15:0] 输入 clk 以太类型 (Ethertype) 字段,用于全局暂停处理
ctl_rx_check_opcode_gpp 输入 clk 值为 1 即表示启用全局暂停操作代码 (opcode) 处理。
ctl_rx_opcode_gpp[15:0] 输入 clk 全局暂停操作代码值。
ctl_rx_enable_ppp 输入 clk 值为 1 即表示启用优先暂停包处理
ctl_rx_check_mcast_ppp 输入 clk 值为 1 即表示启用优先暂停多播目标地址处理
ctl_rx_check_ucast_ppp 输入 clk 值为 1 即表示启用优先暂停单播目标地址处理
ctl_rx_check_sa_ppp 输入 clk 值为 1 即表示启用优先暂停源地址处理
ctl_rx_check_etype_ppp 输入 clk 值为 1 即表示启用优先暂停以太类型 (Ethertype) 处理
ctl_rx_etype_ppp[15:0] 输入 clk 以太类型 (Ethertype) 字段,用于优先暂停处理
ctl_rx_check_opcode_ppp 输入 clk 值为 1 即表示启用优先暂停操作代码 (opcode) 处理
ctl_rx_opcode_ppp[15:0] 输入 clk 优先暂停操作代码值
ctl_rx_forward_control 输入 clk

值为 1 表示该核将转发控制包。

值为 0 会导致核删除控制包。

stat_rx_pause_valid [8:0] 输出 clk 用于指示已收到暂停包,并且 stat_rx_pause_quanta[8:0][15:0] 总线上的关联暂停量有效,且必须将其用于暂停处理。如果收到的是 802.3x MAC 暂停包,则 bit[8] 设置为 1。
stat_rx_pause_quanta[8:0] [15:0] 输出 clk 这 9 个总线用于指示在基于优先级的暂停操作和全局暂停操作中,针对 8 个优先级中的每个优先级所接收到的暂停量。如果收到的是 802.3x MAC 暂停包,那么此暂停量将置于值 [8] 内。
stat_rx_pause_req [8:0] 输出 clk 暂停请求信号。当 RX 收到有效的暂停帧时,它会将该总线的对应位设置为 1,其值保持为 1 不变,直至完成暂停包的处理为止。