仅对英特尔可见 — GUID: wap1496269525694
Ixiasoft
2.3.1. 协议预置
2.3.2. GXT通道
2.3.3. 常规参数和数据通道参数
2.3.4. PMA参数
2.3.5. PCS-Core接口参数
2.3.6. 模拟PMA设置参数
2.3.7. Enhanced PCS参数
2.3.8. Standard PCS参数
2.3.9. PCS Direct数据通路参数
2.3.10. 动态重配置参数
2.3.11. 生成选项参数
2.3.12. PMA,校准和复位端口
2.3.13. PCS-Core接口端口
2.3.14. 增强PCS端口
2.3.15. 标准PCS端口
2.3.16. 收发器PHY PCS-to-Core接口参考端口映射
2.3.17. IP Core文件位置
2.5.1.1. PIPE的收发器通道数据通路
2.5.1.2. 支持的PIPE特性
2.5.1.3. 如何连接PIPE Gen1、Gen2和Gen3模式的TX PLL
2.5.1.4. 如何在 Intel® Stratix® 10收发器中实现PCI Express (PIPE)
2.5.1.5. PIPE的Native PHY IP Core参数设置
2.5.1.6. 用于PIPE的fPLL IP Core参数设置
2.5.1.7. 用于PIPE的ATX PLL IP Core参数设置
2.5.1.8. 用于PIPE的Native PHY IP Core端口
2.5.1.9. 用于PIPE的fPLL端口
2.5.1.10. 用于PIPE的ATX PLL端口
2.5.1.11. 到TX去加重的预置映射(Preset Mappings to TX De-emphasis)
2.5.1.12. 如何对PIPE配置布局通道
2.5.1.13. Gen3的链路均衡
2.5.1.14. 时序收敛建议
6.1. 重配置通道和PLL模块
6.2. 与重配置接口进行交互
6.3. 多个重配置设置文件(Multiple Reconfiguration Profiles)
6.4. 仲裁(arbitration)
6.5. 动态重配置的建议
6.6. 执行动态重配置的步骤
6.7. 直接重配置流程
6.8. Native PHY IP或PLL IP Core指导的重配置流程
6.9. 特殊情况的重配置流程
6.10. 更改模拟PMA设置
6.11. 端口和参数
6.12. 多个IP模块之间的动态重配置接口合并
6.13. 嵌入式调试功能
6.14. 时序收敛建议
6.15. 不支持的功能
6.16. 收发器寄存器映射
6.17. 重配置接口和动态重配置修订历史
7.5.1. 重新校准一个双工通道(PMA TX和PMA RX)
7.5.2. 仅在双工通道中重新校准PMA RX
7.5.3. 仅在双工通道中重新校准PMA TX
7.5.4. 在没有合并到同一物理通道的单工TX的情况下重新校准PMA单工RX
7.5.5. 在没有合并到同一物理通道的单工RX的情况下重新校准PMA单工TX
7.5.6. 仅重新校准单工TX合并的物理通道中的PMA单工RX
7.5.7. 仅重新校准单工RX合并的物理通道中的PMA单工TX
7.5.8. 重新校准fPLL
7.5.9. 重新校准ATX PLL
7.5.10. 当CMU PLL用作TX PLL时,重新校准CMU PLL
仅对英特尔可见 — GUID: wap1496269525694
Ixiasoft
2.4.4.4.4. 扫描水平和垂直相位
扫描水平和垂直相位以获得二维眼图。
注: 水平相位步长(left_phase和right_phase)对应于前一次扫描中的零BER。没有 BER的相位步长可能环绕(wrap around),例如,从相位110到相位20。
- 创建一个名为ODI_error_count的130*130 2D浮点数组,并将其初始化为0。
- 创建一个名为ODI_pattern_count的130*130 2D浮点数组,并将其初始化为0。
- 如果DFE禁用 28,重复Step 5到Step 37两次:
- 在第一次迭代中,将0x144[2]设置成0x0,将0x14D[0]设置成0x0。
- 在第二次迭代中,将0x144[2]设置成0x1,将0x14D[0]设置成0x1。
- 如果DFE使能28,重复Step 5到Step 37四次:
- 在第一次迭代中,将0x144[2]设置成0x0,将0x14D[0]设置成0x0。
- 如果DFE_tap1_sign = 0,那么将0x156[2]设置成0x0。
- 如果DFE_tap1_sign = 1,那么将0x156[2]设置成0x1。
- 在第二次迭代中,将0x144[2]设置成0x0,将0x14D[0]设置成0x1。
- 如果DFE_tap1_sign = 0,那么将0x156[2]设置成0x1。
- 如果DFE_tap1_sign = 1,那么将0x156[2]设置成0x0。
- 在第三次迭代中,将0x144[2]设置成0x1,将0x14D[0]设置成0x0。
- 如果DFE_tap1_sign = 0,那么将0x156[2]设置成0x0。
- 如果DFE_tap1_sign = 1,那么将0x156[2]设置成0x1。
- 在第四次迭代中,将0x144[2]设置成0x1,将0x14D[0]设置成0x1。
- 如果DFE_tap1_sign = 0,那么将0x156[2]设置成0x1。
- 如果DFE_tap1_sign = 1,那么将0x156[2]设置成0x0。
- 在第一次迭代中,将0x144[2]设置成0x0,将0x14D[0]设置成0x0。
- 如果目标器件是H-tile产品或者H-tile ES3:
- 将0x100[4]设置成0x1。
- 将0x0[7:0]设置成0x01以请求PreSICE校准ODI采样器。
- 读取0x481[2],直到它变成0x0。
- 将0x171[4:1]设置成0xB以配置 Avalon® memory-mapped interface testmux。
- 将0x157[3:2]设置成0x2来捕捉奇数眼(odd eye)。
- 将整数变量vertical_phase设置成0,然后重复Step 9到Step 11,同时递增vertical_phase直到126。
- 如果垂直相位 < 0x3F:
- 将0x156[0]设置成0x1以捕捉眼的上半部。
- 将0x143[7:2]设置成0x3F – vertical_phase。
- 如果垂直相位 >= 0x3F:
- 将0x156[0]设置成0x0以捕捉眼的下半部。
- 将0x143[7:2]设置成vertical_phase – 0x3F。
- 将整数horizontal_phase设置成left_phase – 10,重复Step 12到Step 36,同时递增horizontal_phase直到right_phase + 10。
- 如果right_phase < left_phase,也就是眼被环绕,那么将right_phase递增0x80。
- 如果horizontal_phase < 1,那么递增0x80。
- 如果horizontal_phase < 128,那么递减0x80。
- 将0x145[6:0]设置成编码的horizontal_phase。
- 将0x168[2]设置成0x0以复位串行比特计数器。
- 将0x168[2]设置成0x1以释放串行比特计数器上的复位。
- 将0x149[5:0]设置成0x1C以读取ODI状态。
- 读取0x17E[1] 29直到它变成0x1,表明ODI已接收到选定的比特数并已完成。
- 将0x149[5:0]设置成0x1B以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_count_A。
- 将0x149[5:0]设置成0x1A以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_count_B。
- 将0x149[5:0]设置成0x19以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_count_C。
- 将0x149[5:0]设置成0x18以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_count_D。
- ODI_error_count[horizontal_phase][vertical_phase] = ODI_count_A * 224 + ODI_count_B * 216 + ODI_count_C * 28 + ODI_count_D + ODI_error_count[horizontal_phase][vertical_phase]
如果器件不是H-tile产品,那么ODI_error_count可能比实际计数大1。
- 将0x149[5:0]设置成0x17以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_pattern_A。
- 将0x149[5:0]设置成0x16以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_pattern_B。
- 将0x149[5:0]设置成0x15以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_pattern_C。
- 将0x149[5:0]设置成0x14以读取ODI错误比特的数量。
- 读取0x17E[7:0] 29,将此值保存为一个整数ODI_pattern_D。
- ODI_pattern_count[horizontal_phase][vertical_phase] = ODI_pattern_A * 224 + ODI_pattern_B * 216 + ODI_pattern_C * 28 + ODI_pattern_D + ODI_pattern_count[horizontal_phase][vertical_phase]
- 将0x157[3:2]设置成0x1以捕捉偶数眼,并重复Step 8。
- 水平相位和垂直相位上的BER = ODI_error_count[horizontal_phase][vertical_phase]/ODI_Pattern_count[horizontal_phase][vertical_phase]。
28 通过读取0x161[6]来确定DFE模式。当0x161[6] = 1时,DFE禁用(disabled)。
29 在设置寄存器0x149[5:0]和读取0x17E或 0x17F之间等待25 µs。