本文作者:赛灵思工程师 fancheng meng
qdma的驱动在进行版本升级时,可能会对部分寄存器的数值进行变更,用户如果要进行升级,推荐升级到最新的vivado和驱动版本。如果驱动和vivado之间的版本相差较大,有时会遇到c2h_cmpt_ready为0的情况,此时ip无法进行数据的传输,这种情况通常在传输大包或者大流量数据的时会出现,遇到这种情况可将qdma ip的prefetch depth参数进行修改,以改善传输性能。
如果是ip在传输中发生了错误或者出现了丢包的情况,就需要使用ila ip来抓取qdma ip中的信号和dump qdma ip中的寄存器来进行分析,下面重点讲解下如何dump ip中的寄存器、重点对哪些寄存器进行分析以及寄存器的意义。
dump 寄存器:
通过以下网站下载qdma driver, 运行test app中的reg_dump指令来dump qdma 寄存器的值和context data。
https://github.com/xilinx/dma_ip_drivers
寄存器的dump操作可以参考下面网址中的user guide界面。
https://xilinx.github.io/dma_ip_drivers/master/qdma/dpdk/html/userguide.html
寄存器数值代表的意义可以从在pg302的124页的register reference file可以下载到,如下图所示:
对dump出的寄存器进行分析:
使用test app dump出的寄存器的数目太多,本文重点以下几个寄存器进行分析并举例说明:
qdma_c2h_stat_debug_dma_eng_3
qdma_c2h_stat_debug_dma_eng_4
c2h_drop_desc_rsp_len
c2h_drop_qid_fifo_len
c2h_drop_pld_cnt
qdma_c2h_stat_debug_dma_eng_3 是一个32 bit的寄存器,涵盖了许多重要信号的状态信息,是非常重要的debug寄存器,每一个bit位代表的意义及寄存器默认的数值如下:
在对寄存器的数值进行分析时,需要重点关注3、4、5比特,当3、4、5为低是表明ip并未遇到传输错误,那么错误应该是发生在ip传输数据之前,需要对在数据传输前的驱动配置阶段进行分析和定位。
一般ip内发生传输错误时,此寄存器的3、4、5位比特会被置高,当wrq_packet_out_data_marker为高时,需要检查在工程设计中是否使用了s_axis_c2h_cmpt_ctrl_no_wrb_marker信号,此信号的意义如下:
the dma also has an option not to send completion information to completion ring during a
marker packet. port s_axis_c2h_cmpt_ctrl_no_wrb_marker can be set during a marker
packet. this option disables any write to completion ring when that marker packet is generated.
when this signal is set for a maker packet, the dma has no data or completion transfers, but will
respond with maker response on qsts_out_op[7:0].
如果没有使用此信号,说明ip的传输出现了不可修复的错误,需要通过其他的寄存器进行进一步的分析,通常在3、4、5bit被置为高时,此寄存器的0,1bit不会全为高,ip会挂起并停止数据的传输。ip的传输错误有可能是发送了过量的描述符,时序问题及逻辑设计的不规范,下面对在遇到ip 传输错误时的定位方法进行举例说明:
当发现qdma_c2h_stat_debug_dma_eng_3的3,4,5比特为高时,可以去查找与丢包相关的寄存器,例如:c2h_drop_desc_rsp_len,c2h_drop_qid_fifo_len和c2h_drop_pld_cnt。这三个寄存器所代表的意义分别如下所示:
因为操作不当导致ip发生丢包时,c2h_drop_desc_rsp_len,c2h_drop_qid_fifo_len和c2h_drop_pld_cnt 三个寄存器的数值分别为在ip丢包时:描述符的长度、qid fifo中的包长和负载fifo 0中的信用值。当ip发生丢包时,根据以上三个寄存器的前18bit的数值,会比较容易判断驱动或者工程中可能存在的问题。
小基站将成为全球网络容量压力的给力良药 无线新世界因小而美
云栖大会人脸识别闸机【技术亮点篇5】--人脸识别闸机采用海康威视摄像头
多层线路板的结构
STM32国产替代者灵动微以及市场趋势的分析
台积电被告侵权,华为受其影响
对dump出的寄存器进行分析
【安防】维安达斯 GSM+WIFI双网智能防盗报警套装主机推荐
科技小达人涂鸦智能携手落地智能生活介绍
以智能楼宇的视频监控系统为例,阐述在该视频监控系统中PoE交换机的工作原理
国产化的趋势之下,泰明同金属借技术优势脱颖而出
到达6G需要什么?为什么一定要超越5G?
如何选择合适的机器视觉检测设备厂家
中国移动宽带用户访问互联网平均速率同比上年同期提升11.9%
深度测评风光370 1.5L
OpenDaylight的示例
煤气管道腐蚀原因及解决方案
全新“视”界,all in 阿丘|VisionChina 上海站邀请函
MMKP82电容器的全称是什么?
中兴通讯发布新一代全屋光纤组网系列产品
AX88179千兆以太网 USB3.0转RJ45-集佰睿