以下额外信号均用于自动协商功能。可在 *wrapper.v
层级中找到这些信号。
端口名称 | I/O | 时钟域 | 描述和注释 |
---|---|---|---|
an_clk | 输入 | 自动协商电路的输入时钟。在相应版本的 README 自述文件中标示了所需的频率。此信号应为自由运行的时钟。 | |
an_reset | 输入 | an_clk | 同步高电平有效复位,对应于 an_clk 域。 |
ctl_autoneg_enable | 输入 | an_clk | 自动协商的使能信号。 |
ctl_autoneg_bypass | 输入 | an_clk | 输入信号,用于禁用自动协商并绕过自动协商功能。如果断言此输入有效,将关闭自动协商,但 PCS 将连接到输出以允许执行操作。 |
ctl_an_nonce_seed[7:0] | 输入 | an_clk |
8 位种子,用于初始化随机数 (nonce) 字段多项式生成器。非零值。如果该值为零 (0),则自动协商无法运行。 |
ctl_an_pseudo_sel | 输入 | an_clk | 选择位 49 随机位生成器的多项式生成器。如果此输入为 1,则多项式为 x7+x6+1。如果此输入为 0,则多项式为 x7+x3+1。 |
ctl_restart_negotiation | 输入 | an_clk | 此输入用于触发重新启动自动协商,与当前电路状态无关。 |
ctl_an_local_fault | 输入 | an_clk | 此输入信号用于设置发射链路代码字的 remote_fault 位。 |
用于 PAUSE 功能播发的信号 | |||
ctl_an_pause | 输入 | an_clk | 此输入信号用于设置发射链路代码字的 PAUSE 位 (C0)。如果该核不支持暂停,则此信号可能不存在。 |
ctl_an_asmdir | 输入 | an_clk | 此输入信号用于设置发射链路代码字的 ASMDIR 位 (C1)。如果该核不支持暂停,则此信号可能不存在。 |
功能信号输入 | |||
ctl_an_ability_1000base_kx | 输入 | an_clk | 这些输入用于识别发射链路代码字中播发到链路伙伴的以太网协议功能。值为 1 表示接口支持此协议并播发此信息。 |
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_krcr | 输入 | an_clk | |
ctl_an_ability_25gbase_cr1 | 输入 | an_clk | |
ctl_an_ability_25gbase_krcr_s | 输入 | 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_lt_polynomial_select | 输入 | an_clk | |
ctl_an_ability_2_5gbase_kx | 输入 | an_clk | |
ctl_an_ability_5gbase_kr | 输入 | an_clk | |
ctl_an_ability_50gbase_krcr | 输入 | an_clk | |
ctl_an_ability_200gbase_kr4cr4 | 输入 | an_clk | |
ctl_an_ability_100gbase_kr2cr2 | 输入 | an_clk | |
ctl_an_fec_10g_request | 输入 | an_clk | 用于在发射链路代码字中设置第 74 条 FEC 请求位。此信号仅适用于以 10 Gb/s 运行的 PMD。在以任何其它状态运行的 PMD 中,忽略此信号。 |
ctl_an_fec_ability_override | 输入 | an_clk | 用于在发射链路代码字中设置第 74 条 FEC 功能位。如果设置此输入,则清除发射链路代码字中的 FEC 功能位。如果该 IP 核不支持第 74 条 FEC,则此信号可能不存在。 |
ctl_an_cl91_fec_ability | 输入 | an_clk | 该位用于设置第 91 条 FEC 功能。 |
ctl_an_cl91_fec_request | 输入 | an_clk | 该位用于请求第 91 条 FEC。 |
ctl_an_fec_25g_rs_request | 输入 | an_clk | 用于在发射链路代码字中设置 RS-FEC 请求位。此信号仅适用于以 25 Gb/s 运行的 PMD。在以任何其它状态运行的 PMD 中,忽略此信号。 |
ctl_an_fec_25g_baser_request | 输入 | an_clk | 用于在发射链路代码字中设置第 74 条 FEC 请求位。此信号仅适用于以 25 Gb/s 运行的 PMD。在以任何其它状态运行的 PMD 中,忽略此信号。 |
stat_an_rxcdrhold | 输出 | an_clk | 用于在自动协商期间设置 GT 的 rxcdrhold_in。 |
stat_an_link_cntl_1000base_kx[1:0] | 输出 | 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_krcr[1:0] | 输出 | an_clk | |
stat_an_link_cntl_25gbase_cr1[1:0] | 输出 | an_clk | |
stat_an_link_cntl_25gbase_krcr_s[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_fec_enable | 输出 | an_clk | 用于支持在链路上使用第 74 条 FEC。 |
stat_an_rs_fec_enable | 输出 | an_clk | 用于支持在链路上使用第 91 条 FEC。 |
stat_an_tx_pause_enable | 输出 | an_clk | 用于支持在发射路径中进行站对站(全局)暂停包生成,以控制接收路径中的数据流。 |
stat_an_rx_pause_enable | 输出 | an_clk | 用于支持在接收路径中进行站对站(全局)暂停包解释,以控制来自发射器的数据流。 |
stat_an_autoneg_complete | 输出 | an_clk | 指示自动协商已完成,并且已接收到来自 PCS 的 rx 链路状态。 |
stat_an_parallel_detection_fault | 输出 | an_clk | 指示自动协商期间发生并行检测故障。 |
stat_an_lp_ability_1000base_kx | 输出 | an_clk | 这些信号用于指示从链路伙伴播发的协议。当 stat_an_lp_ability_valid 输出信号断言有效时,这些信号全部变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 |
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_krcr | 输出 | an_clk | |
stat_an_lp_ability_25gbase_krcr_s | 输出 | an_clk | |
stat_an_lp_ability_40gbase_cr4 | 输出 | an_clk | |
stat_an_lp_ability_40gbase_kr4 | 输出 | an_clk | |
stat_an_lp_ability_25gbase_cr1 | 输出 | an_clk | 用于指示从链路伙伴播发的协议。当 stat_an_lp_extended_ability_valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 |
stat_an_lp_ability_25gbase_kr1 | 输出 | an_clk | 用于指示从链路伙伴播发的协议。当 stat_an_lp_extended_ability_valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 |
stat_an_lp_ability_50gbase_cr2 | 输出 | an_clk | 用于指示从链路伙伴播发的协议。当 stat_an_lp_extended_ability_valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 |
stat_an_lp_ability_50gbase_kr2 | 输出 | an_clk | 用于指示从链路伙伴播发的协议。当 stat_an_lp_extended_ability_valid 输出信号断言有效时,此信号即变为有效。值为 1 表示此协议已作为链路伙伴支持的协议进行播发。 |
stat_an_lp_pause | 输出 | an_clk | 此信号用于指示来自链路伙伴的接收链路代码字的 PAUSE 位 (C0) 的播发值。当 stat_an_lp_ability_valid 输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_asm_dir | 输出 | an_clk | 此信号用于指示来自链路伙伴的接收链路代码字的 ASMDIR 位 (C1) 的播发值。当 stat_an_lp_ability_valid 输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_fec_10g_ability | 输出 | an_clk |
此信号用于指示接收链路代码字中的第 74 条 FEC 功能位的播发值, 此接收链路代码字位于来自链路伙伴的对应 10 Gb/s PMD 接口上。当 stat_an_lp_ability_valid 输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_fec_10g_request | 输出 | an_clk | 此信号用于指示接收链路代码字中的第 74 条 FEC 请求位的播发值,此接收链路代码字位于来自链路伙伴的对应 10 Gb/s PMD 接口上。当 stat_an_lp_ability_valid 输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_fec_25g_rs_request | 输出 | an_clk | 此信号用于指示接收链路代码字中的 RS-FEC 请求位的播发值,此接收链路代码字位于来自链路伙伴的对应 25 Gb/s PMD 接口上。当输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_fec_25g_baser_request | 输出 | an_clk | 此信号用于指示接收链路代码字的第 74 条 FEC 请求位的播发值,此接收链路代码字位于来自链路伙伴的对应 25 Gb/s PMD 接口上。当 stat_an_lp_ability_valid 输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_autoneg_able | 输出 | an_clk | 此输出信号用于指示链路伙伴能够执行自动协商。当 stat_an_lp_ability_valid 输出信号断言有效时,此信号即变为有效。 |
stat_an_lp_ability_valid | 输出 | an_clk | 此信号用于指示何时所有链路伙伴播发将变为有效。 |
an_loc_np_data[47:0] | 输入 | an_clk | 本地下一页代码字。这是设置 loc_np 输入的情况下所使用的 48 位代码字。在此数据字段中,位 NP、ACK 和 T 以及位元位置 15、14、12 和 11 将不会随下一页代码字一起传输。这些位是在 AN IP 中生成的。但位元位置 13 处的消息协议位 MP 将进行传输。 |
an_lp_np_data[47:0] | 输出 | an_clk | 链路伙伴下一页数据信号。此 48 位代码字由 AN IP 驱动,包含来自远程链路伙伴的 48 位下一页代码字。 |
ctl_an_loc_np | 输入 | an_clk | 本地下一页 (Local Next Page) 信号指示符。如果此位为 1,则 AN IP 会将 loc_np_data 输入处的下一页代码字传输到远程链路伙伴。如果此位为 0,则 AN IP 不会启动下一页协议。如果链路伙伴包含多个待发送的下一页信号,并且 loc_np 位已清零,那么 AN IP 将传输空消息页面。 |
stat_fec_inc_cant_correct_count[3:0] | 输出 | rx_serdes_clk |
不可纠正错误的逻辑指示。如果遇到不可纠正的数据包, 则此输出信号会循环一次。此信号将在至少 16 个时钟周期内保持高电平 (High) 状态, 然后转至低电平 (Low) 状态并保持至少 16 个时钟周期。每个通道 1 个时钟。 |
stat_fec_inc_correct_count[3:0] | 输出 | rx_serdes_clk |
可纠正错误的逻辑指示。如果遇到可纠正的数据包, 则此输出信号会循环一次。此信号将在至少 16 个时钟周期内保持高电平 (High) 状态,然后转至低电平 (Low) 状态并保持至少 16 个时钟周期。每个通道 1 个时钟。 |
stat_fec_lock_error[3:0] | 输出 | rx_serdes_clk |
帧锁定失败的逻辑指示。接收器会扫描传入的数据串流中的约 10,000,000 位,通过尝试所有可能的位对齐来实现帧同步。随后,断言此信号高电平有效,直至接收器达成帧锁定。 每个通道 1 个时钟。 |
stat_fec_rx_lock[3:0] | 输出 | rx_serdes_clk | 帧锁定的逻辑指示。接收器对传入比特流达成帧锁定时,断言此信号为高电平有效。每个通道 1 个时钟。 |
ctl_an_lp_np_ack | 输入 | an_clk |
链路伙伴下一页确认信号。此信号用于告知 AN IP,本地主机已读取位于 lp_np_data 输出管脚处的下一页数据(来自远端链路伙伴)。当此信号变为高电平时,表示 AN IP 确认已接收发送到远端链路伙伴的下一页代码字,并启动下一个代码字的传输。 在此期间,AN IP 会移除 lp_np 信号,直至新的下一页信息可用为止。 |
stat_an_loc_np_ack | 输出 | an_clk | 此信号可指示用于接收 loc_np_data 输入管脚上显示的本地下一页数据的本地主机。当 AN IP 在 loc_np_data 输入管脚上对下一页数据进行采样时,此信号将脉冲至高电平并保持 1 个时钟周期。当本地主机检测到此信号为高电平时,它必须将位于 loc_np_data 输入管脚处的 48 位下一页代码字替换为要发送的下一个 48 位代码字。如果本地主机没有其它下一页要发送,则它必须将 loc_np 输入清零。 |
stat_an_lp_np | 输出 | an_clk | 链路伙伴下一页信号。此信号用于指示在 lp_np_data 输出管脚处存在来自远端链路伙伴的有效的 48 位下一页代码字。当 lp_np_ack 输入信号被驱动至高电平时,此信号将被驱动至低电平,表示本地主机已读取下一页数据。它将保持低电平,直至在 lp_np_data 输出管脚上下一个代码字变为可用为止,届时 lp_np 输出将被重新驱动至高电平。 |
stat_an_lp_ability_extended_fec[1:0] | 输出 | an_clk | 此输出用于指示 Schedule 3 中所定义的 FEC 扩展功能。 |
stat_an_lp_extended_ability_valid | 输出 | an_clk | 当该位为 1 时,表示检测到的扩展功能有效。 |
stat_an_lp_rf | 输出 | an_clk | 此位用于指示链路伙伴远端故障。 |
stat_an_start_tx_disable | 输出 | an_clk | 当 ctl_autoneg_enable 为高电平且 ctl_autoneg_bypass 为低电平时,此 stat_an_start_tx_disable 信号会在自动协商的 TX_DISABLE 阶段开始时,在 1 个时钟周期内保持高电平循环。即,当自动协商进入 TX_DISABLE 状态时,此输出将保持高电平循环(持续 1 个时钟周期)。这样即可有效标示自动协商开始。 |
stat_an_start_an_good_check | 输出 | an_clk |
当 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 输出可有效标示任务模式操作开始。 |