本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)
1.实验简介
实验目的:
完成 DDR3 的读写测试。
实验环境:
Window11 PDS2022.2-SP6.4
芯片型号:
PG2L50H-484
2.实验原理
PG2L100H 内置了线速率高达 6.6Gbps 高速串行接口模块,即 HSSTLP,包含 1 个 HSSTLP 共 4 个全双工收发 LANE,除了 PMA,HSSTLP 还集成了丰富的 PCS 功能,可灵活应用于各种串行协议标准。在产品内部,每个 HSST 支持 1~4 个全双工收发 LANE。HSST 主要特性包括:
- 支持 DataRate 速率:0.6Gbps-6.6Gbps
- 灵活的参考时钟选择方式
- 发送通道和接收通道数据率可独立配置
- 可编程输出摆幅和去加重
- 接收端自适应线性均衡器 Logos2 系列 FPGA 器件数据手册
- PMA Rx 支持 SSC
- 数据通道支持数据位宽:8bit only,10bit only,8b10b,16bit only,20bit only,32bit only,40bit only,64b66b/64b67b 等模式
- 可灵活配置的 PCS,可支持 PCI Express GEN1, PCI Express GEN2,XAUI,千兆以太 网,CPRI,SRIO 等协议
- 灵活的 Word Alignment 功能
- 支持 RxClock Slip 功能以保证固定的 Receive Latency
- 支持协议标准 8b10b 编码解码
- 支持协议标准 64b66b/64b67b 数据适配功能
- 灵活的 CTC 方案
- 支持 x2 和 x4 的 Channel Bonding
- HSSTLP 的配置支持动态修改
- 近端环回和远端环回模式
- 内置 PRBS 功能* 自适应
3.工程说明
3.1. 安装 HSST IP 核
PDS 安装后,需手动添加 HSST IP,请按以下步骤完成:
(1)HSST IP 文件:选择 1_9.iar
![]()
(2)IP 安装步骤:请查看 “工具使用篇\03_IP 核安装与查看用户指南”
![]()
3.2. 光纤通信测试例程
打开PDS软件,新建工程hsst_test,点开如下图标,打开IPCompiler;
![]()
选择 HSST IP,取名,然后点击 Customize;
![]()
在 HSST 设置界面中 Protocol and Rate 按照如下设置,Channel0、 Channel1、Channel3 为 DISABLE, Channel2 设置为 Fullduplex(全双工), Protocol(协议) 选择 CUSTOMERIZEDX1 (自定义模式),**TX Line Rate **和 RX Line Rate 均选择 6.25Gbps,**Encoder **均选择 8B10B,Data Width 选择 32bit,时钟选择 Diff_REFCK0,选择 125MHZ。

Alignment and CTC 按照如下设置,Word Align Mode 选择 CUSTOMERIZED_MODE。控制字(COMMA code-group select)选择 K28.5,CTC_MODE 选择 Bypassed。

![]()
Misc 按照如下设置,时钟选择 25MHZ,其余保持默认,然后点击 Generate 可生成 HSST IP;

关闭本工程,按此路径打开 Example 工程:
hsst_test\hsst_test\ipcore\hsst_test\pnr\example_design
![]()
为了能在开发板上运行,需对顶层文件 hsst_test_dut_top 的复位进行修改,详情请查看例程顶层文件:
![]()
上图是修改前的顶层文件。
下图是修改后的顶层文件。tx_disable 需要拉低才能打开 SFP 发射功能。


上图为部分管脚约束,具体需要查看工程的 fdc 文件,注意图中红色方框部分是 hsst_lane 和 hsst_pll 的位置约束,是必须要添加的,差分数据管脚可以不用约束,提供给 hsst 的参考时钟必须约束即(i_p_refckn_0 和 i_p_refckp_0)。
![]()
为了观察收发数据是否有误,需要进行 Debugger 插核操作。
![]()
时钟选择 o_p_clk2core_tx_2。
可按以下方式查看 IP 核的用户指南,了解 Example 模块组成;
![]()
4.实验现象
注:例程位置:hsst_test\hsst_test\ipcore\hsst_test\pnr\example_design
编辑
把光纤两端接入 SFP 口(用户需购买光模块),进行 Debugger 在线调试,可看到窗口中发送和接收的数据是一致的。
![]()
观察 tx_data 和 rx0_data_align,两者一样说明收发没有问题。