仅对英特尔可见 — GUID: nik1398706909458
Ixiasoft
仅对英特尔可见 — GUID: nik1398706909458
Ixiasoft
2.6.4.7.1. 寄存器定义
下表指定了控制和状态寄存器,可通过Avalon-MM接口进行访问。一个地址空间提供对所有寄存器的访问。
字地址 | 比特 | R/W | 名称 | 说明 |
---|---|---|---|---|
0x4B0 | 0 | RW | Reset SEQ | 设为1时,复位10GBASE-KR定序器(自动速率检测逻辑),启动PCS重配置;如果使能了AN和LT,则还会重新启动自动协商(AN),链路训练(LT)或者两者(10GBASE-KR模式)。SEQ Force Mode[2:0]强制这些模式。这将复位自清零。 |
1 | RW | Disable AN Timer | AN禁用计时器。如果禁用了(Disable AN Timer = 1),AN可能会卡住,并且需要软件支持才能移除ABILITY_DETECT功能(如果链路搭档不包括此特性)。此外,如果链路被困在ACKNOWLEDGE_DETECT状态,则软件可能必须使链路摆脱环回模式。要使能此计时器,需要设置Disable AN Timer = 0。 | |
2 | RW | Disable LF Timer | 设为1时,禁用Link Fail timer。设为0时,使能Link Fault timer。 | |
3 | RW | fail_lt_if_ber | 设为1时,最后的LT测量将是一个非零数字。将此视为一次失败的运行。0 = 正常。 | |
7:4 | RW | SEQ Force Mode[2:0] | 除了"No force"模式(0x4B0[7:4] = 4'b0000),当通过修改(强制) 0x4B0[7:4]比特切换到所需数据模式时,必须将Reset SEQ(0x4B0[0])写为1。下面的编码定义为:
|
|
8 | RW | Enable Arria 10 Calibration | 设为1时,它会在PCS动态重配置过程中启用Arria 10 HSSI重配置校准。设为0将会在重配置PCS时跳过校准。 | |
16 | RW | KR FEC enable 171.0 | 设为1时,将使能FEC。设为0时,将禁用FEC。复位成CAPABLE_FEC参数值。 | |
17 | RW | KR FEC enable err ind 171.1 | 设为1时,KR PHY FEC解码错误的信号发送到PCS。设为0时,FEC错误的信号不发送到PCS。请参考IEEE 302.3ap-2007的Clause 74.8.3以了解详细信息。 | |
18 | RW | KR FEC request | 设为1时,使能FEC请求。该比特更改后,您必须将Reset SEQ比特(0x4B0[0])置位以与新值重新协商。设为0时,将禁用FEC请求。 | |
0x4B1 | 0 | R | SEQ Link Ready | 置位后,定序器指示链路就绪。 |
1 | R | SEQ AN timeout | 置位后,定序器的自动协商超时。此比特被锁存,且当定序器重新启动自动协商时,它才复位。 | |
2 | R | SEQ LT timeout | 设置后,表明定序器已超时。 | |
13:8 | R | SEQ Reconfig Mode[5:0] | 对PCS重配置指定Sequencer模式。下面的模式定义为:
|
|
16 | R | KR FEC ability 170.0 | 设为1时,表明10GBASE-KR PHY支持FEC。设为参数SYNTH_FEC。关于更多信息,请参考IEEE 302.3ap-2007的Clause 45.2.1.84。 | |
17 | R | KR FEC err ind ability 170.0 | 设为1时,表明10GBASE-KR PHY能够向PCS报告FEC解码错误。有关更多信息,请参考IEEE 302.3ap-2007的Clause 74.8.3。 | |
0x4B2 | 0:10 | RW | 已保留 | — |
11 | RWSC | KR FEC TX Error Insert | 写入1将会根据转码器和突发错误设置向TX FEC中插入一个错误脉冲。 | |
31:15 | RWSC | 已保留 | — | |
0x4B5 to 0x4BF | 保留给40G KR | 故意留空以实现地址与40G MAC + PHY KR 解决方案兼容。 | ||
0x4C0 35 | 0 | RW | AN enable | 设为1时,使能自动协商功能。默认值是1。关于更多信息,请参考IEEE 802.3ap-2007的Clause 73.8 Management Register Requirements中的bit 7.0.12。 |
1 | RW | AN base pages ctrl | 设为1时,将使能用户基本页。您可以通过用户基本页低/高位发送任意数据。设为0时,将禁用用户基本页并且状态机将生成要发送的基本页。 | |
2 | RW | AN next pages ctrl | 设为1时,将使能用户后续页。您可以通过用户后续页低/高位发送任意数据。设为0时,将禁用用户后续页。状态机将生成要作为后续页发送的null消息。 | |
3 | RW | Local device remote fault | 设为1时,本地器件将在自动协商页中发出远程故障信号。设为0时,尚未发生故障。 | |
4 | RW | Force TX nonce value | 设置为1时,将强制TX随机数值支持某些UNH测试模式。设为0时,这是正常操作。 | |
5 | RW | Override AN Parameters Enable | 设为1时,将覆盖AN_TECH,AN_FEC和AN_PAUSE参数,并使用0xC3中的比特。您必须将定序器复位才能重配置并重新启动自动协商模式。设为0时,这是正常操作并且与0xB0 bit 0和0xC3 bits[30:16]一起使用。 | |
0x4C1 | 0 | RW | Reset AN | 设为1时,将所有10GBASE-KR自动协商状态机复位。此比特会自清零。 |
4 | RW | Restart AN TX SM | 设为1时,重新启动10GBASE-KR TX状态机。此比特会自清零。仅当TX状态机处于自动协商状态时,此比特才有效。欲了解更多信息,请参阅 IEEE 802.3ap-2007的Clause 73.8 Management Register Requirements中的bit 7.0.9。 | |
8 | RW | AN Next Page | 置位后,新的后续页信息可以准备发送了。数据位于XNP TX寄存器中。设为0时,TX接口发送null页。此比特会自清零。后续页(NP)采用Link Codeword的bit D15进行编码。关于更多信息,请参考IEEE 802.3ap-2007的Clause 73.6.9和Clause 45.2.7.6的bit 7.16.15。 | |
0x4C2 | 1 | RO | AN page received | 设为1时,已接收到一个页。设为0时,尚未接收到页。读取该寄存器后,当前值将清除。关于更多信息,请参考IEEE 802.3ap-2007的Clause 73.8中的bit 7.1.6。 |
2 | RO | AN Complete | 置位后,AN已完成。为0时,正在进行AN。关于更多信息,请参考IEEE 802.3ap-2007的Clause 73.8中的bit 7.1.5。 | |
3 | RO | AN ADV Remote Fault | 设置为1时,故障信息已发送到链路搭档。设置为0时,未发生故障。读取该寄存器后,当前值将清除。远程故障(RF) 采用基本链路Codeword的bit D13 进行编码。关于更多信息,请参考IEEE 802.3ap‑2007的Clause 73.6.7中的bit 7.16.13。 | |
4 | RO | AN RX SM Idle | 设置为1时,自动协商状态机处于空闲状态。输入数据不是Clause 73兼容的。设置为0时,正在进行自动协商。 | |
5 | RO | AN Ability | 设置为1时,收发器PHY能够执行自动协商。设置为0时,收发器PHY不能执行自动协商。如果您的种类包括自动协商,则此比特连接到1。有关更多信息,请参考IEEE 802.3ap-2007的Clause 45中的bits 7.1.3和7.48.0。 | |
6 | RO | AN Status | 设置为1时,链路正在运行。设置为0时,链路出现故障。读取该寄存器后,当前值将清除。有关更多信息,请参考 IEEE 802.3ap-2007的Clause 45中的bit 7.1.2。 | |
7 | RO | LP AN Ability | 设置为1时,链路搭档能够执行自动协商。设置为0时,链路搭档不能执行自动协商。有关更多信息,请参考IEEE 802.3ap-2007的Clause 45中的bit 7.1.0。 | |
8 | RO | FEC negotiated – enable FEC from SEQ | 设置为1时,PHY经过协商执行FEC。设置为0时,PHY未经过协商执行FEC。 | |
0x4C2 | 9 | RO | Seq AN Failure | 设置为1时,检测到定序器AN故障。设置为0时,尚未检测到AN故障。 |
17:12 | RO | KR AN Link Ready[5:0] | 提供an_receive_idle = true的独热编码(one-hot encoding)和Clause 73.10.1 中所述的支持链路的链路状态。以下编码定义为:
|
|
0x4C3 | 15:0 | RW | User base page low | 如果设置了AN基本页控制比特,则AN TX状态机将使用这些比特。下面比特定义为:
|
21:16 | RW | Override AN_TECH[5:0] | 要覆盖的AN_TECH值。下面比特定义为:
|
|
25:24 | RW | Override AN_FEC[1:0] | 要覆盖的AN_FEC值。下面比特定义为:
|
|
30:28 | RW | Override AN_PAUSE[2:0] | 要覆盖的AN_PAUSE值。下面比特定义为:
|
|
0x4C4 | 31:0 | RW | User base page high | 如果设置了AN基本页控制比特,则AN TX状态机将使用这些比特。下面比特定义为:
|
0x4C5 | 15:0 | RW | User Next page low | 如果设置了AN后续页控制比特,则AN TX状态机将使用这些比特。下面比特定义为:
|
0x4C6 | 31:0 | RW | User Next page high | 如果设置了AN后续页控制比特,则AN TX状态机将使用这些比特。Bits [31:0]对应于页面比特[47:16]。Bit 49,PRBS比特由自动协商TX状态机生成。 |
0x4C7 | 15:0 | RO | LP base page low | AN RX状态机从链路搭档接收这些比特。下面比特定义为:
|
0x4C8 | 31:0 | RO | LP base page high | AN RX状态机从链路搭档接收这些比特。下面比特定义为:
|
0x4C9 | 15:0 | RO | LP Next page low | AN RX状态机从链路搭档接收这些比特。下面比特定义为:
|
0x4CA | 31:0 | RO | LP Next page high | AN RX状态机从链路搭档接收这些比特。比特[31:0]对应于页面比特[47:16]。 |
0x4CB | 24:0 | RO | AN LP ADV Tech_A[24:0] | Clause 73 Auto Negotiation中已接收的技术功能域比特。10GBASE‑KR PHY支持A0和A2。下面协议定义为:
|
26:25 | RO | AN LP ADV FEC_F[1:0] | 接收的FEC ability比特(F0:F1)在基本链路代码字的bits D46:D47中编码。F0是FEC ability。F1是所要求的FEC。请参考IEEE 802.3ap-2007的Clause 73.6.5获得详细信息。 | |
27 | RO | AN LP ADV Remote Fault | 已接收的远程故障(RF)功能比特。RF在Clause 73 AN基本链路代码字的bit D13中进行编码。有关更多信息,请参考IEEE 802.3ap‑2007的Clause 73.6.7,以及Clause 45中的比特AN LP基本页面功能寄存器 (7.19-7.21)。 | |
30:28 | RO | AN LP ADV Pause Ability_C[2:0] | 已接收的暂停功能比特。Pause (C0:C1)在Clause 73 AN中基本链路代码字的D11:D10位进行编码,具体如下:
|
|
0x4D0 | 0 | RW | Link Training enable | 为1时,使能10GBASE-KR启动协议。为0时,禁用10GBASE-KR 启动协议。默认值是1。关于更多信息,请参考IEEE 802.3ap‑2007的Clause 72.6.10.3.1和10GBASE-KR PMD控制寄存器比特(1.150.1)。 |
1 | RW | dis_max_wait_tmr | 设置为1时,禁用LT max_wait_timer。当设置更长的BER计时器值时,则用于表征模式。 | |
2 | RW | quick_mode | 设置为1时,仅使用初始值和预置的值来计算最佳BER。 | |
3 | RW | pass_one | 设置为1时,BER算法在搜索最低BER时不仅仅考虑第一个本地最低值。默认值为1。 | |
7:4 | RW | main_step_cnt [3:0] | 指定每次主抽头更新的均衡步骤数目。大约有20项设置需要由内部算法进行测试。有效范围为1-15。默认值为4'b0010。 | |
11:8 | RW | prpo_step_cnt [3:0] | 指定每次预抽头和后抽头更新的均衡步骤数目。可以采用16-31个步骤。默认值为4'b0001。 | |
0x4D0 | 14:12 | RW | equal_cnt [2:0] | 将滞后误差加到错误计数上,以免达到本地最低值。下面值定义为:
|
15 | RW | disable Initialize PMA on max_wait_timeout | 设置为1时,PMA值(VOD、预抽头、后抽头)在进入Training_Failure状态后不会初始化。这在max_wait_timer_done时出现, 设置training_failure = true (reg 0xD2 bit 3)。用于UNH测试。在设置为0时,PMA值会在进入Training_Failure状态后进行初始化。有关更多信息,请参考IEEE 802.3ap-2007的Figure 72-5。 | |
16 | RW | Ovride LP Coef enable | 设置为1时,用于覆盖链路搭档的均衡系数;软件会更改发往链路搭档TX均衡器系数的更新命令。设置为0时,则会使用链路训练逻辑来确定链路搭档系数。与0x4D1 bit-4和0x4D4 bits[7:0]一起使用。 | |
17 | RW | Ovride Local RX Coef enable | 设置为1时,用于覆盖本地器件均衡系数生成协议。设置后,软件会更改本地TX均衡器系数。设置为0时,则会使用从链路搭档接收到的更新命令来确定本地器件系数。与0x4D1 bit-8和 0x4D4 bits[23:16]一起使用。默认值为1。 | |
0x4D0 | 22 | RW | adp_ctle_mode | 保留。默认值 = 000 |
28:24 | RW | Manual ctle | 保留 | |
31:29 | RW | max_post_step[2:0] | 保留 | |
0x4D1 | 0 | RW | Restart Link training | 设置为1时,复位10GBASE-KR启动协议。设置为0时,则继续正常运行。该比特会自清零。有关更多信息,请参考IEEE 802.3ap‑2007的Clause 72.6.10.3.1中定义的状态变量mr_restart_training和10GBASE-KR PMD控制寄存器比特(1.150.0)。 |
4 | RW | Updated TX Coef new | 设置为1时,表明有新的链路搭档系数可供发送。LT逻辑会开始向远程器件发送在0x4D4 bits[7:0] 中设置的新值。设置为0时,则继续正常运行。此比特会自清零。必须在0x4D0 bit16中使能这种覆盖。 | |
8 | RW | Updated RX coef new | 设置为1时,表明有新的本地器件系数可用。LT逻辑会更改在 0x4D4 bits[23:16] 中指定的本地TX均衡器系数。设置为0时,则继续正常运行。此比特会自清零。必须在0x4D0 bit17中使能这种覆盖。 | |
0x4D2 | 0 | RO | Link Trained - Receiver status | 设置为1时,表明接收器已经被训练并准备接收数据。设置为0时,表明正在进行接收器训练。有关详细信息,请参阅IEEE 802.3ap‑2007的Clause 72.6.10.3.1中定义的状态变量rx_trained和10GBASE-KR PMD控制寄存器比特10GBASE_KR PMD状态寄存器比特(1.151.0)。 |
1 | RO | Link Training Frame lock | 设置为1时,表明已检测到训练帧描述。设置为0时,表明尚未检测到训练帧描述。有关详细信息,请参阅 IEEE 802.3ap‑2007的Clause 72.6.10.3.1中定义的状态变量frame_lock和10GBASE_KR PMD状态寄存器比特(1.151.1)。 | |
2 | RO | Link Training Start-up protocol status | 设置为1时,表明启动协议正在进行中。设置为0时,表明启动协议已完成。有关详细信息,请参阅IEEE 802.3ap‑2007的Clause 72.6.10.3.1中定义的状态训练和10GBASE_KR PMD状态寄存器比特(1.151.2)。 | |
3 | RO | Link Training failure | 设置为1时,表明已检测到训练失败。设置为0时,表明没有检测到训练失败。有关详细信息,请参阅IEEE 802.3ap-007的Clause 72.6.10.3.1中定义的状态变量training_failure以及10GBASE_KR PMD状态寄存器比特(1.151.3)。 | |
4 | RO | Link Training Error | 设置为1时,表明在链路训练期间发生了过多错误。设置为0时,表明BER是可以接受的。 | |
5 | RO | Link Training Frame lock Error | 设置为1时,表明在链路训练期间丢失了帧锁。如果0x4D5 的域指定的抽头设置与初始参数值相同,则帧锁错误是不可恢复的。 | |
6 | RO | RXEQ Frame Lock Loss | 在RXEQ期间的某个时刻未检测到帧锁,这可能触发有条件RXEQ模式。 | |
7 | RO | CTLE Fine-grained Tuning Error | 由于在细粒度调整模式下每个步骤存在最大BER限制,因此无法确定最佳CTLE。 | |
0x4D3 | 9:0 | RW | ber_time_frames | 指定对于每一步均衡设置,要检查链路上是否存在位错误的训练帧数目。仅在ber_time_k_frames为0时使用。下面值定义为:
|
19:10 | RW | ber_time_k_frames | 指定对于每一步均衡设置,要检查链路上是否存在位错误的训练帧数目(以千为单位)。对于时间/比特,设置ber_time_m_frames = 0, 以与下面值匹配:
|
|
29:20 | RW | ber_time_m_frames | 指定对于每一步均衡设置,要检查链路上是否存在位错误的训练帧数目(以百万为单位)。对于时间/比特,设置ber_time_k_frames = 4'd1000 = 0x43E8,以与下面值匹配:
|
|
0x4D4 | 5:0 | RO或RW | LD coefficient update[5:0] | 反映从本地器件控制通道发出的首个16位字的内容。通常,此寄存器中的位是只读的;然而,当通过设置Ovride Coef enable控制位覆盖训练时,这些位变成可写的。下面域定义为:
|
6 | RO或RW | LD Initialize Coefficients | 设置为1时,请求设置链路搭档系数以便将TX均衡器配置为其INITIALIZE状态。设置为0时,则继续正常运行。有关详细信息,请参阅IEEE 802.3ap-2007的Clause 45.2.1.80.3和Clause 72.6.10.2.3.2中的10G BASE-KR LD系数更新寄存器比特(1.154.12)。 | |
7 | RO或RW | LD Preset Coefficients | 设置为1时,请求将链路搭档系数设置为禁用均衡状态。设置为0时,链路正常运行。有关详细信息,请参阅IEEE 802.3ap-2007的Clause 45.2.1.80.3和Clause 72.6.10.2.3.2中的10G BASE-KR LD系数更新寄存器比特(1.154.13)。 | |
13:8 | RO | LD coefficient status[5:0] | 最近从本地器件控制通道发送的训练帧的第二个16-bit字内容的状态报告寄存器。下面域定义为:
|
|
0x4D4 | 14 | RO | Link Training ready - LD Receiver ready | 设置为1时,表明本地器件接收器已经确定训练已完成且已做好数据接收准备。设置为0时,表明本地器件接收器正在请求训练继续。接收器ready比特的值在Clause 72.6.10.2.4.4中定义。有关详细信息,请参阅IEEE 802.3ap-2007的Clause 45.2.1.81中的10G BASE-KR LD状态报告寄存器比特(1.155.15) 。 |
21:16 | RO或RW | LP coefficient update[5:0] | 反映了从控制通道最近接收的首个16位字的训练帧的内容。 通常此寄存器中的位是只读的;然而,当通过将KR训练使能控制位设置为低来禁止训练时,这些位变成可写的。下面域定义为:
关于详细信息,请参考IEEE 802.3ap-2007的Clause 45.2.1.78.3中的bit 10GBASE-KR LP系数更新寄存器比特(1.152.5:0)。 |
|
22 | RO或RW | LP Initialize Coefficients | 设置为1时,本地器件发送均衡器系数设为INITIALIZE状态。设置为0时,则继续正常运行。Clause 72.6.10.2.3.2 中定义了初始化比特的功能和值。有关详细信息,请参阅IEEE 802.3ap-2007 | |
0x4D4 | 23 | RO或RW | LP Preset Coefficients | 设置为1时,本地器件TX系数设置为禁用均衡状态。采用预置的系数。设置为0时,本地器件正常运行。72.6.10.2.3.1 中定义了预置比特的功能和值。Clause 72.6.10.2.3.2 中定义了初始化比特的功能和值。有关详细信息,请参阅IEEE 802.3ap-2007的Clause 45.2.1.78.3中的10G BASE-KR LP系数更新寄存器位 (1.152.13)。 |
29:24 | RO | LP coefficient status[5:0] | 状态报告寄存器反映最近从控制通道接收到的训练帧的第二个16-bit字内容:下面的域定义为:
|
|
30 | RO | LP Receiver ready | 设置为1时,表明链路搭档接收器已经确定训练已完成且已做好数据接收准备。设置为0时,表明链路搭档接收器正在请求继续培训。 接收器ready比特的值在Clause 72.6.10.2.4.4 中定义。有关详细信息,请参阅IEEE 802.3ap-2007的Clause 45.2.1.79中的10G BASE-KR LP状态报告寄存器比特(1.153.15)。 |
|
0x4D5 | 4:0 | R | LT VOD setting | 存储LT指定的最新VOD设置。 它反映了用于微调VOD的Link Partner命令。 |
13:8 | R | LT Post-tap setting | 存储LT使用收发器重配置控制器IP内核指定的最新后抽头设置。 存储LT指定的最新后抽头设置。它反映了用于微调TX预加重抽头的Link Partner命令。 | |
20:16 | R | LT Pre-tap setting | 存储LT指定的最新预抽头设置。它反映了用于微调TX预加重抽头的Link Partner命令。 | |
0x4D5 | 27:24 | R | RXEQ CTLE Setting | 在RX均衡期间发送到重配置捆绑的最新ctle_rc设置。 |
29:28 | R | RXEQ CTLE Mode | 在RX均衡期间发送到重配置捆绑的最新ctle_mode设置。 | |
31:30 | R | RXEQ DFE Mode | 在RX均衡期间发送到重配置捆绑的最新dfe_mode设置。 | |
0x4D6 | 4:0 | RW | LT VODMAX ovrd | VMAXRULE参数的覆盖值。使能后,此值将替代 VMAXRULE,以支持逐通道覆盖器件设置。这仅影响所指定通道的本地器件TX输出。 此值必须大于 INITMAINVAL参数才能正确运行。请注意,此值还将覆盖 PREMAINVAL参数值。 |
5 | RW | LT VODMAX ovrd Enable | 设置为1时,使能在LT VODMAX ovrd寄存器域中存储的VMAXRULE参数的覆盖值。 | |
12:8 | RW | LT VODMin ovrd | VODMINRULE参数的覆盖值。使能后,此值将替代 VMINRULE,以支持逐通道覆盖器件设置。此覆盖仅影响所指定通道的本地器件TX输出。 要替代的值必须小于INITMAINVAL参数且大于VMINRULE参数才能正确运行。 |
|
13 | RW | LT VODMin ovrd Enable | 设置为1时,使能在LT VODMin ovrd寄存器域中存储的VODMINRULE参数的覆盖值。 | |
21:16 | RW | LT VPOST ovrd | VPOSTRULE参数的覆盖值使能后,此值将替代VPOSTRULE,以支持逐通道覆盖器件设置。此覆盖仅影响所指定通道的本地器件TX输出。 要覆盖的值必须大于INITPOSTVAL参数才能正确运行。 |
|
22 | RW | LT VPOST ovrd Enable | 设置为1时,使能在LT VPOST ovrd寄存器域中存储的VPOSTRULE参数的覆盖值。 | |
28:24 | RW | LT VPre ovrd | VPRERULE参数的覆盖值。使能时,此值将替代VPOSTRULE,以支持逐通道覆盖器件设置。此覆盖仅影响所指定通道的本地器件TX输出。 此值必须大于INITPREVAL参数才能正确运行。 |
|
29 | RW | LT VPre ovrd Enable | 设置为1时,使能在LT VPre ovrd寄存器域中存储的VPRERULE参数的覆盖值。 | |
0x4D6 to 0x4FF | 保留用于40G KR | 保留为空以便与40G MAC+PHY KR解决方案实现地址兼容。 |