创龙TL6678F开发板官方Demo:SRIO_AD9613 实现了FPGA和DSP之间的SRIO通信, SRIO的速率为5Gbps. 在FPGA端, srio_gen_2 模块的参考时钟为 125MHz. 而Demo: udp_10g_echo 实现了10G以太网通信, ten_gig_eth_pcs_pma模块的参考时钟为156.25 MHz. 两者共用一个 cdcm61002, 且两个参考时钟不能分别设置.
为了在此开发板上同时实现10G以太网和SRIO通信, 需要将SRIO的参考时钟改为156.25MHz(10G以太网参考时钟只能取156.25MHz, 而srio_gen_2线速率改为3.125Gbps时, 支持125MHz和156.25MHz两种参考时钟频率).
本文介绍了如何在创龙TL6678F开发板上实现FPGA与DSP之间 SRIO(3.125Gbps, 4x)通信.
- 为了确认SRIO链路是否连接成功, 将 模块的 link_initialized 和 port_initialized端口引出, 并输出到 SOM-6678F子卡的两个LED上. 约束文件中添加:
# user led on som
set_property PACKAGE_PIN AE2 [get_ports user_led1]
set_property PACKAGE_PIN AE3 [get_ports user_led2]
set_property IOSTANDARD LVCMOS15 [get_ports user_led1]
set_property IOSTANDARD LVCMOS15 [get_ports user_led2]

CSL_BootCfgSetSRIOSERDESConfigPLL (0x0065);
for(i = 0; i <= 3; i++)
CSL_BootCfgSetSRIOSERDESRxConfig(i, 0x004684a5);
for(i = 0; i <= 3; i++)
CSL_BootCfgSetSRIOSERDESTxConfig(i, 0x001c8fa5);
关于DSP SRIO寄存器的详细说明, 请参考: KeyStone Architecture Serial Rapid IO (SRIO)-SPRUGW1B 文档.