关于xilinx srio ip复位问题

关于xilinx srio ip复位问题

语言 :Verilg HDL 、VHDL

EDA工具: Vivado

  • 关键词: ip调用,Verilog HDL,srio ,复位
一、引言

在FPGA开发中, 在SRIO IP核使用时候,需要在必要时候对srio复位以确保两边设备可以正常的通信,博主总结了在实际应用中srio的处理方式。

二、FPGA 之间 srio通信复位处理

在使用 SRIO 进行 FPGA 之间的通信时,复位过程可能会影响通信链路的正确建立。以下是一些可能导致两块 FPGA 之间的 SRIO 连接无法建立的情况:

复位时序不同步:

如果两个 FPGA 的复位信号时序不同步,可能导致其中一个 FPGA 在另一个 FPGA 尚未完成复位时尝试建立 SRIO 连接。这可能导致通信链路的异常行为。确保在整个系统中复位信号同步是很重要的。

SRIO 模块未正确初始化:

如果在 SRIO 模块的复位过程中没有正确初始化,可能导致模块无法正确响应 SRIO 协议,从而影响通信链路。确保 SRIO 模块在复位后能够正确初始化。

等待复位完成的时间不足:

如果在 SRIO 模块复位后未等待足够的时间以确保模块完全初始化,可能会导致通信链路无法建立。请确保等待复位完成的时间是足够的。

SRIO 配置不匹配:

如果两个 FPGA 上的 SRIO 模块配置不匹配,例如,速率设置、协议版本不一致等,可能导致通信链路无法建立。确保两侧的 SRIO 配置是一致的。

两片fpga之间复位时候,需要注意时间上要尽量统一,且每个SRIO时钟域都有相关联的复位信号,复位应该在各自的时钟域中被断言至少四个时钟周期,并且在同步的情况下去除。如果核心被训练降频,即使phy_clk运行速度会比原始速率慢,复位仍然必须持续四个完整周期

三、FPGA与DSP之间srio通信复位处理

dsp与fpga之间srio通信时候,复位是两边上电进行一次复位 如果这个时候,srio没link的话,dsp会发送一个复位信号,即给一个上升沿给fpga,dsp会等10ms 然后再去link fpga 的srio.

四、FPGA与PPC之间srio通信复位处理

fpga和PPC的srio 如果没link上 那么 fpga检测到link为0 时,复位1s后 然后再继续link

相关推荐
Js_cold2 小时前
(* MARK_DEBUG=“true“ *)
开发语言·fpga开发·debug·verilog·vivado
Js_cold4 小时前
(* clock_buffer_type=“NONE“ *)
开发语言·fpga开发·verilog·vivado·buffer·clock
深圳光特通信豆子9 小时前
TTL光模块:短距离传输场景的优选方案
fpga开发
Js_cold10 小时前
Verilog运算符
开发语言·fpga开发·verilog
Js_cold2 天前
Verilog函数function
开发语言·fpga开发·verilog
Js_cold2 天前
Verilog任务task
开发语言·fpga开发·verilog
brave and determined2 天前
可编程逻辑器件学习(day3):FPGA设计方法、开发流程与基于FPGA的SOC设计详解
嵌入式硬件·fpga开发·soc·仿真·电路·时序·可编程逻辑器件
Lee_yayayayaya2 天前
锁相环技术及FPGA实现
fpga开发
Js_cold2 天前
Verilog局部参数localparam
开发语言·fpga开发·verilog
promising-w2 天前
【FPGA】使用移位实现LED流水灯
fpga开发