自动协商端口 - 4.1 简体中文

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

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

下表显示了用于自动协商的其他端口。可在 *wrapper.v 层级文件中找到这些信号。

表 1. 用于自动协商的其他端口
端口名称 I/O 描述 时钟域
an_clk 输入 自动协商电路的输入时钟。在相应版本的 README 自述文件中标示了所需的频率。此信号应为自由运行的时钟。

Vivado 集成设计环境 (IDE) 会将此时钟设置为与 GUI 中输入的 GT drp CLK 设置相同的频率。

请参阅 时钟
an_reset 输入 异步高电平有效复位。 异步
ctl_autoneg_enable 输入 自动协商的使能信号。 an_clk
ctl_autoneg_bypass 输入 输入信号,用于禁用自动协商并绕过自动协商功能。如果断言此输入有效,将关闭自动协商,但 PCS 将连接到输出以允许执行操作。 an_clk
ctl_an_nonce_seed[7:0] 输入

8 位种子,用于初始化随机数 (nonce) 字段多项式生成器。

针对自动协商器的每个实例,此输入应始终设置为唯一的非零 (0) 值。

an_clk
ctl_an_pseudo_sel 输入 选择位 49 随机位生成器的多项式生成器。如果此输入为 1,则多项式为 x7+x6+1。如果此输入为 0,则多项式为 x7+x3+1。 an_clk
ctl_restart_negotiation 输入 此输入用于触发重新启动自动协商,与当前电路状态无关。 an_clk
ctl_an_local_fault 输入 此输入信号用于设置发射链路代码字的 remote_fault 位。 an_clk
用于暂停功能播发的信号
ctl_an_pause 输入 此输入信号用于设置发射链路代码字的 PAUSE 位 (C0)。如果该核不支持暂停,则此信号可能不存在。 an_clk
ctl_an_asmdir 输入 此输入信号用于设置发射链路代码字的 ASMDIR 位 (C1)。如果该核不支持暂停,则此信号可能不存在。 an_clk
功能信号输入
ctl_an_ability_1000base_kx 输入 这些输入用于识别发射链路代码字中播发到链路伙伴的以太网协议功能。值为 1 表示接口支持此协议并播发此信息。 an_clk
ctl_an_ability_100gbase_cr10 输入 an_clk
ctl_an_ability_100gbase_cr4 输入 an_clk
ctl_an_ability_100gbase_kp4 输入 an_clk
ctl_an_ability_100gbase_kr4 输入 an_clk
ctl_an_ability_10gbase_kr 输入 an_clk
ctl_an_ability_10gbase_kx4 输入 an_clk
ctl_an_ability_25gbase_cr 输入 an_clk
ctl_an_ability_25gbase_cr1 输入 an_clk
ctl_an_ability_25gbase_kr 输入 an_clk
ctl_an_ability_25gbase_kr1 输入 an_clk
ctl_an_ability_40gbase_cr4 输入 an_clk
ctl_an_ability_40gbase_kr4 输入 an_clk
ctl_an_ability_50gbase_cr2 输入 an_clk
ctl_an_ability_50gbase_kr2 输入 an_clk
ctl_an_ability_2_5gbase_kx 输入 训练模式选择:

0=>25BASE-CR/KR,50GBASE-CR2/KR2,100GBASE-CR10/KR10

1=>100GBASE-CR4/KR4

2=>50GBASE-CR/KR,100GBASE-CR2/KR2,200GBASE-CR4/KR4

an_clk
ctl_an_ability_5gbase_kr 输入 an_clk
ctl_an_ability_50gbase_krcr 输入 an_clk
ctl_an_ability_100gbase_kr2cr2 输入 an_clk
stat_an_lp_ability_200gbase_kr4cr4 输入 an_clk
ctl_lt_polynomial_select [1:0] 输入 an_clk
ctl_an_fec_request 输入 用于在发射链路代码字中控制第 74 条 FEC 请求位。如果该 IP 核不支持第 74 条 FEC,则此信号可能不存在。 an_clk
ctl_an_fec_ability_override 输入 用于在发射链路代码字中控制第 74 条 FEC 功能位。如果设置此输入,则清除发射链路代码字中的 FEC 功能位。如果该 IP 核不支持第 74 条 FEC,则此信号可能不存在。 an_clk
ctl_an_cl91_fec_ability 输入 该位用于指示第 91 条 FEC 的功能。 an_clk
ctl_an_cl91_fec_request 输入 该位用于请求第 91 条 FEC。 an_clk
stat_an_link_cntl_1000base_kx[1:0] 输出
来自各种以太网协议的自动协商控制器的链路控制输出。设置如下:
  • 00:DISABLE;PCS 断开连接
  • 01:SCAN_FOR_CARRIER;RX 已连接到 PCS
  • 11:ENABLE;PCS 已连接,可执行任务模式操作
  • 10:不使用
an_clk
stat_an_link_cntl_100gbase_cr10[1:0] 输出 an_clk
stat_an_link_cntl_100gbase_cr4[1:0] 输出 an_clk
stat_an_link_cntl_100gbase_kp4[1:0] 输出 an_clk
stat_an_link_cntl_100gbase_kr4[1:0] 输出 an_clk
stat_an_link_cntl_10gbase_kr[1:0] 输出 an_clk
stat_an_link_cntl_10gbase_kx4[1:0] 输出 an_clk
stat_an_link_cntl_25gbase_cr[1:0] 输出 an_clk
stat_an_link_cntl_25gbase_cr1[1:0] 输出 an_clk
stat_an_link_cntl_25gbase_kr[1:0] 输出 an_clk
stat_an_link_cntl_25gbase_kr1[1:0] 输出 an_clk
stat_an_link_cntl_40gbase_cr4[1:0] 输出 an_clk
stat_an_link_cntl_40gbase_kr4[1:0] 输出 an_clk
stat_an_link_cntl_50gbase_cr2[1:0] 输出 an_clk
stat_an_link_cntl_50gbase_kr2[1:0] 输出 an_clk
stat_an_link_cntl_2_5gbase_kx[1:0] 输出

来自各种以太网协议的自动协商控制器的链路控制输出。设置如下:

00:DISABLE;PCS 断开连接

01:SCAN_FOR_CARRIER;RX 已连接到 PCS

11:ENABLE;PCS 已连接,可执行任务模式操作

10:不使用

 
stat_an_link_cntl_5gbase_kr[1:0] 输出  
stat_an_link_cntl_50gbase_krcr[1:0] 输出  
stat_an_link_cntl_100gbase_kr2cr2[1:0] 输出  
stat_an_link_cntl_200gbase_kr4cr4[1:0] 输出  
stat_an_fec_enable 输出 用于支持在链路上使用第 74 条 FEC。 an_clk
stat_an_rs_fec_enable 输出 用于支持在链路上使用第 91 条 FEC。 an_clk
stat_an_tx_pause_enable 输出 用于支持在发射路径中进行站对站(全局)暂停包生成,以控制接收路径中的数据流。 an_clk
stat_an_rx_pause_enable 输出 用于支持在接收路径中进行站对站(全局)暂停包解释,以控制来自发射器的数据流。 an_clk
stat_an_autoneg_complete 输出 指示自动协商已完成,并且已接收到来自 PCS 的 RX 链路状态。 an_clk
stat_an_parallel_detection_fault 输出 指示自动协商期间发生并行检测故障。 an_clk
stat_an_lp_ability_1000base_kx 输出 这些信号用于指示从链路伙伴播发的协议。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,这些信号全部变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 an_clk
stat_an_lp_ability_100gbase_cr10 输出 an_clk
stat_an_lp_ability_100gbase_cr4 输出 an_clk
stat_an_lp_ability_100gbase_kp4 输出 an_clk
stat_an_lp_ability_100gbase_kr4 输出 an_clk
stat_an_lp_ability_10gbase_kr 输出 an_clk
stat_an_lp_ability_10gbase_kx4 输出 an_clk
stat_an_lp_ability_25gbase_cr 输出 an_clk
stat_an_lp_ability_25gbase_kr 输出 an_clk
stat_an_lp_ability_40gbase_cr4 输出 an_clk
stat_an_lp_ability_40gbase_kr4 输出 an_clk
stat_an_lp_ability_2_5gbase_kx 输出 这些信号用于指示从链路伙伴播发的协议。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,这些信号全部变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 an_clk
stat_an_lp_ability_5gbase_kr 输出 an_clk
stat_an_lp_ability_50gbase_krcr 输出 an_clk
stat_an_lp_ability_100gbase_kr2cr2 输出 an_clk
stat_an_lp_ability_200gbase_kr4cr4 输出 an_clk
stat_an_lp_ability_25gbase_cr1 输出 用于指示从链路伙伴播发的协议。当 stat_AN_lp_Extended_Ability_Valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 an_clk
stat_an_lp_ability_25gbase_kr1 输出 用于指示从链路伙伴播发的协议。当 stat_AN_lp_Extended_Ability_Valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 an_clk
stat_an_lp_ability_50gbase_cr2 输出 用于指示从链路伙伴播发的协议。当 stat_AN_lp_Extended_Ability_Valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 an_clk
stat_an_lp_ability_50gbase_kr2 输出 用于指示从链路伙伴播发的协议。当 stat_AN_lp_Extended_Ability_Valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 an_clk
stat_an_lp_pause 输出 此信号用于指示来自链路伙伴的接收链路代码字的 PAUSE 位 (C0) 的播发值。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,此信号即变为有效。 an_clk
stat_an_lp_asm_dir 输出 此信号用于指示来自链路伙伴的接收链路代码字的 ASMDIR 位 (C1) 的播发值。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,此信号即变为有效。 an_clk
stat_an_lp_fec_ability 输出 此信号用于指示来自链路伙伴的接收链路代码字的 FEC 功能位的播发值。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,此信号即变为有效。 an_clk
stat_an_lp_fec_request 输出 此信号用于指示来自链路伙伴的接收链路代码字的 FEC 请求位的播发值。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,此信号即变为有效。 an_clk
stat_an_lp_autoneg_able 输出 此输出信号用于指示链路伙伴能够执行自动协商。当 stat_AN_lp_Ability_Valid 输出信号断言有效时,此信号即变为有效。 an_clk
stat_an_lp_ability_valid 输出 此信号用于指示何时所有链路伙伴播发将变为有效。 an_clk
an_loc_np_data[47:0] 输入 本地下一页代码字。这是设置 loc_np 输入的情况下所使用的 48 位代码字。在此数据字段中,位 NP、ACK 和 T 以及位元位置 15、14、12 和 11 将不会随下一页代码字一起传输。这些位是在 Auto-Negotiation Intellectual Property Core (ANIPC) 中生成的。但位元位置 13 处的消息协议位 MP 将进行传输。 an_clk
an_lp_np_data[47:0] 输出 链路伙伴下一页数据信号。此 48 位代码字由 ANIPC 驱动,包含来自远端链路伙伴的 48 位下一页代码字。 an_clk
ctl_an_loc_np 输入 本地下一页 (Local Next Page) 信号指示符。如果此位为 1,则 ANIPC 会将 loc_np_data 输入处的下一页数据字传输到远端链路伙伴。如果此位为 0,则 ANIPC 不会启动下一页协议。如果链路伙伴包含多个待发送的下一页信号,并且 loc_np 位已清零,那么 ANIPC 将传输空消息页面。 an_clk
ctl_an_lp_np_ack 输入 链路伙伴下一页确认信号。此信号用于告知 ANIPC,本地主机已读取位于 lp_np_data 输出管脚处的下一页数据(来自远端链路伙伴)。当此信号变为高电平时,表示 ANIPC 确认已接收发送到远端链路伙伴的下一页代码字,并启动下一个代码字的传输。在此期间,ANIPC 会移除 lp_np 信号,直至新的下一页信息可用为止。 an_clk
stat_an_loc_np_ack 输出 此信号可指示用于接收 loc_np_data 输入管脚上显示的本地下一页数据的本地主机。当 ANIPC 在 loc_np_data 输入管脚上对下一页数据进行采样时,此信号将脉冲至高电平并保持 1 个时钟周期。当本地主机检测到此信号为高电平时,它必须将位于 loc_np_data 输入管脚处的 48 位下一页代码字替换为要发送的下一个 48 位代码字。如果本地主机没有其他下一页要发送,则它必须将 loc_np 输入清零。 an_clk
stat_an_lp_np 输出 链路伙伴下一页信号。此信号用于指示在 lp_np_data 输出管脚处存在来自远端链路伙伴的有效的 48 位下一页代码字。当 lp_np_ack 输入信号被驱动至高电平时,此信号将被驱动至低电平,表示本地主机已读取下一页数据。它将保持低电平,直至在 lp_np_data 输出管脚上下一个代码字变为可用为止,届时 lp_np 输出将被重新驱动至高电平。 an_clk
stat_an_lp_ability_extended_fec[1:0] 输出 此输出用于指示 Schedule 3 中所定义的 FEC 扩展功能。 an_clk
stat_an_lp_extended_ability_valid 输出 当该位为 1 时,表示检测到的扩展功能有效。 an_clk
stat_an_lp_rf 输出 此位用于指示链路伙伴远端故障。 an_clk
stat_an_start_tx_disable 输出 当 ctl_autoneg_enable 为高电平且 ctl_autoneg_bypass 为低电平时,此 stat_an_start_tx_disable 信号会在自动协商的 TX_DISABLE 阶段开始时,在 1 个时钟周期内保持高电平循环。即,当自动协商进入 TX_DISABLE 状态时,此输出将在 1 个时钟周期内保持循环高电平。这样即可有效标示自动协商开始。 an_clk
stat_an_start_an_good_check 输出 当 ctl_autoneg_enable 为高电平且 ctl_autoneg_bypass 为低电平时,此 stat_an_start_an_good_check 信号会在自动协商的 AN_GOOD_CHECK 阶段开始时保持高电平循环(持续 1 个时钟周期)。即,当自动协商进入 AN_GOOD_CHECK 状态时,此输出将在 1 个时钟周期内保持循环高电平。这样即可有效标示链路训练开始。但如果未启用链路训练,即,如果 ctl_lt_training_enable 输入为低电平,那么 stat_an_start_an_good_check 输出可有效标示任务模式操作开始。 an_clk