• 创龙TL6678F开发板: 实现FPGA与DSP之间 SRIO(3.125Gbps, 4x)通信


    创龙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时, 支持125MHz156.25MHz两种参考时钟频率).

    本文介绍了如何在创龙TL6678F开发板上实现FPGA与DSP之间 SRIO(3.125Gbps, 4x)通信.

    FPGA工程

    • 打开 fmc_ad9613_srio 工程, 将 srio_gen_2 模块的 Transfer Frequency 改为 3.125, Reference Clock Frequency 改为 156.25.

    在这里插入图片描述- 为了确认SRIO链路是否连接成功, 将 模块的 link_initializedport_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]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    • 综合, 实现并生成bit流文件和bin文件
    • 上电烧写FPGA的 PROM.

    DSP工程

    • 打开 CCS, 并导入 srio_fft 工程
    • 修改 srio_fft.c文件.
      • 修改 SRIO_SERDES_CFGPLL寄存器的 MPY00110010b(12.5x), DSP 的 SRIO参考时钟为 250MHz, 250 ∗ 12.5 = 3125 M H z 250*12.5=3125MHz 25012.5=3125MHz
      CSL_BootCfgSetSRIOSERDESConfigPLL (0x0065);
      
      • 1
      • 修改 SRIO_SERDES_CFGRX[n]SRIO_SERDES_CFGTX[n] 寄存器的 RATE10b(ratescale=1.0), 即每个PLL时钟采集一个数据样本.
      for(i = 0; i <= 3; i++)
          CSL_BootCfgSetSRIOSERDESRxConfig(i, 0x004684a5);
      for(i = 0; i <= 3; i++)
          CSL_BootCfgSetSRIOSERDESTxConfig(i, 0x001c8fa5);
      
      • 1
      • 2
      • 3
      • 4
      • 编译并在开发板上调试, 开发板上的两个蓝灯亮, 说明链路初始化和端口初始化完成.

    关于DSP SRIO寄存器的详细说明, 请参考: KeyStone Architecture Serial Rapid IO (SRIO)-SPRUGW1B 文档.

  • 相关阅读:
    绁炵粡缃戠粶杈撳叆鍥剧墖澶у皬
    测试基础知识
    【SpringBoot笔记06】SpringBoot集成log4j2日志框架
    Real-Time Rendering——10.1 Area Light Sources区域光源
    【注册Huggingface】获取token
    Maven与IDEA版本兼容问题以及配置
    SpringSecurity - 登录用户数据获取
    LeetCode50天刷题计划第二季(Day 32 — 阶乘后的零(13.20-14.00)
    RocketMQ 发送事务消息
    637. 二叉树的层平均值-深度优先遍历+层次遍历-力扣双百代码
  • 原文地址:https://blog.csdn.net/falwat/article/details/133022612