仅对英特尔可见 — GUID: nik1398706909458
Ixiasoft
仅对英特尔可见 — GUID: nik1398706909458
Ixiasoft
2.6.4.7.1. 1G/10GbE寄存器定义
下表指定了您可以通过Avalon存储器映射接口进行访问的控制和状态寄存器。一个单一地址空间提供了对所有寄存器的访问。
字地址 | 比特 | R/W | 名称 | 说明 |
---|---|---|---|---|
0x4B0 | 0 | RW | Reset SEQ | 设为1时,复位10GBASE-KR定序器(自动速率检测逻辑),启动PCS重配置,如果使能了自动协商(AN)和链路训练(LT)(10GBASE-KR模式),那么可能重新启动自动协商(AN),链路训练(LT)或者两者。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 bit (0x4B0[0])以与新值重新协商。设置为0时,禁止FEC请求。 | |
0x4B1 | 0 | R | SEQ Link Ready | 置位时,定序器(sequencer)指示链路准备就绪。 |
1 | R | SEQ AN timeout | 置位时,定序器发生了AN超时。此比特被锁存,当定序器重新启动AN时才复位。 | |
2 | R | SEQ LT timeout | 设置时,表示定序器发生了超时。 | |
13:8 | R | SEQ Reconfig Mode[5:0] | 对PCS重配置指定定序器模式(sequencer mode)。下面的模式定义为:
|
|
16 | R | KR FEC ability 170.0 | 设置为1时,表明10GBASE-KR PHY支持FEC。设置为参数SYNTH_FEC。关于更多信息,请参考Clause 45.2.1.84 of IEEE 802.3ap-2007。 | |
17 | R | KR FEC err ind ability 170.0 | 设置为1时,表明10GBASE-KR PHY能够报告FEC解码错误给PCS。关于更多信息,请参考Clause 74.8.3 of IEEE 802.3ap-2007。 | |
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 36 | 0 | RW | AN enable | 设为1时,将使能AN功能。默认值为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时,本地器件将在AN页中发出远程故障(Remote Faults)信号。设为0时,尚未发生故障。 | |
4 | RW | Force TX nonce value | 设为1时,将强制TX随机数值支持某些UNH测试模式。设为0时,这是正常操作。 | |
5 | RW | Override AN Parameters Enable | 设为1时,覆盖AN_TECH、AN_FEC和AN_PAUSE参数,并改为使用0x4C3中的比特。您必须将重配置和重启动的Sequencer复位到AN模式。当设置为0时,这是正常操作,并与0x4B0 bit 0和0x4C3 bits[30:16]一起使用。 | |
0x4C1 | 0 | RW | Reset AN | 设为1时,复位所有的10GBASE-KR AN状态机。此比特会自清零。 |
4 | RW | Restart AN TX SM | 设为1时,重新启动10GBASE-KR TX状态机。此比特会自清零。仅当TX状态机处于AN状态时,此比特才有效。关于更多信息,请参考 IEEE 802.3ap-2007的Clause 73.8 Management Register Requirements中的bit 7.0.9。 | |
8 | RW | AN Next Page | 置位时,新的后续页(NP)信息已准备好发送。数据位于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)在基本Link Codeword的bit D13中进行编码。关于更多信息,请参考IEEE 802.3ap‑2007的Clause 73.6.7中的bit 7.16.13。 | |
4 | RO | AN RX SM Idle | 设置为1时,AN状态机处于空闲状态。输入数据不是Clause 73兼容的。设置为0时,正在进行自动协商(AN)。 | |
5 | RO | AN Ability | 设置为1时,收发器PHY能够执行自动协商(AN)。设置为0时,收发器PHY不能执行AN。如果您的类别(variant)包括AN,那么此比特连接到1。关于更多信息,请参考IEEE 802.3ap-2007的Clause 45中的bits 7.1.3和7.48.0。 | |
6 | RO | AN Status | 设置为1时,链路启动(up)。设置为0时,链路关闭(down)。读取寄存器时,当前值将清零。关于更多信息,请参考 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]对应于页面比特(page bits) [47:16]。bit 49 (PRBS bit)由自动协商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的技术功能域(technology ability field)比特。10GBASE‑KR PHY支持A0和A2。下面协议定义为:
|
26:25 | RO | AN LP ADV FEC_F[1:0] | 接收到的FEC ability比特(F0:F1)是在基本链路代码字(link codeword)的bits D46:D47中进行编码的。F0是FEC ability (FEC功能)。F1是FEC requested (请求的FEC)。有关详细信息,请参考IEEE 802.3ap-2007的Clause 73.6.5。 | |
27 | RO | AN LP ADV Remote Fault | 已接收的远程故障(RF)功能比特。RF是在Clause 73 AN中的基本链路代码字(link codeword)的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 ability)比特。pause (C0:C1)是在Clause 73 AN中基本链路代码字(link codeword)的bits 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时,在进入到Training_Failure状态时,PMA值(VOD, Pre-tap, Post-tap)没有被初始化。当max_wait_timer_done时(设置了training_failure = true (reg 0x4D2 bit 3))会出现这种情况。用于University of New Hampshire (UNH)测试。设为0时,当进入到Training_Failure状态时,PMA值被初始化。关于详细信息,请参考IEEE 802.3ap-2007的图72-5。 | |
16 | RW | Ovride LP Coef enable | 设置为1时,覆盖链路搭档的均衡系数;软件会更改发送到链路搭档TX均衡器系数的更新命令。设置为0时,使用Link Training逻辑来确定链路搭档系数。与0x4D1 bit-4和0x4D4 bits[7:0]一起使用。 | |
17 | RW | Ovride Local RX Coef enable | 设置为1时,覆盖本地器件均衡系数生成协议。设置后,软件会更改本地TX均衡器系数。设置为0时,使用从链路搭档接收到的更新命令来确定本地器件系数。与0x4D1 bit-8和0x4D4 bits[23:16]一起使用。默认值为0。 | |
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中使能此覆盖(override)。 | |
8 | RW | Updated RX coef new | 设置为1时,可以使用新的本地器件系数。LT逻辑将本地TX equalizer系数修改成0x4D4 bits[23:16]中指定的系数。设置为0时,继续正常操作。此比特会自清零。必须在0x4D0 bit17中使能此覆盖(override)。 | |
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时,表明在链路训练期间丢失了帧锁(frame lock)。如果0x4D5的域指定的抽头设置与初始参数值相同,那么帧锁错误是不可恢复的。 | |
6 | RO | RXEQ Frame Lock Loss | 在RXEQ期间的某个时刻未检测到帧锁(frame lock),这可能触发有条件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,以使time/bits与下面值匹配:
|
|
29:20 | RW | ber_time_m_frames | 指定训练帧的数量(百万),通过检验此数量的训练帧来确定均衡设置的每一步链路上的比特错误。对于时间/比特,设置ber_time_k_frames = 4'd1000 = 0x43E8,以使time/bits与下面值匹配:
|
|
0x4D4 | 5:0 | RO或RW | LD coefficient update[5:0] | 反映从本地器件控制通道发送的训练帧的首个16-bit字的内容。通常,此寄存器中的比特为只读的;然而,当通过设置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 bit的值是在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-bit字的内容。 通常,此寄存器中的比特为只读的;然而,通过将KR Training使能控制比特设为较低值来禁止训练时,这些比特会变成可写的。定义了以下域:
关于详细信息,请参考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的Clause 45.2.1.78.3 中的bit 10GBASE-KR LP系数更新寄存器比特(1.152.12)。 | |
0x4D4 | 23 | RO或RW | LP Preset Coefficients | 设置为1时,本地器件TX系数被设置成一个均衡关闭的状态。使用了预置系数(preset coefficients)。设置为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 bit的值是在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使用Transceiver Reconfiguration Controller IP core指定的最新post-tap设置进行存储。对LT指定的最新post-tap设置进行存储。它反映了用于微调TX预加重抽头的Link Partner命令。 | |
20:16 | R | LT Pre-tap setting | 对LT指定的最新pre-tap设置进行存储。它反映了用于微调TX预加重抽头的Link Partner命令。 | |
0x4D5 | 27:24 | R | RXEQ CTLE Setting | 在RX均衡期间发送到重配置捆绑包(reconfig bundle)的最新ctle_rc设置。 |
29:28 | R | RXEQ CTLE Mode | 在RX均衡期间发送到重配置捆绑包(reconfig bundle)的最新ctle_mode设置。 | |
31:30 | R | RXEQ DFE Mode | 在RX均衡期间发送到重配置捆绑包(reconfig bundle)的最新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参数的覆盖值。 | |
0x4D7 to 0x4FF | 保留用于40G KR | 保留为空,以实现与40G MAC + PHY KR解决方案的地址兼容性。 |