获取 csv:
现在,您不仅可以使用 python 脚本执行调试分析,更重要的是,借由 vivado ila 所生成的 ila 文件可以进一步简化此操作。通过将 *.ila 扩展名重命名为 *.zip 然后将生成的文件解压,即可将其转换为 csv 文件。
解压后的文件夹将包含以下列表中的文件:
python 可提供相应的库,用于 csv 文件分析,以便对 vivado ila 所生成的调试信号数据执行详尽的分析。调试信号还可在 vivado 硬件管理器中以波形形式来查看。对于计算某些接口中的数据包数量、解读数据包内的字段值等分析操作,使用 python 脚本方法更便于进行定制调试。
python 脚本用例示例
此处提供的 python 脚本会对 ila 数据执行分析,这些数据包含下图所示的 rq/rc/cq/cc 接口信号。此模块框图源自 (pg213),该文档适用于 ultrascale+ 器件 integrated block for pci express ip。
pg213:
此脚本可识别每个接口上有效的数据包、提取每个数据包中的描述符文件,并报告输出每个字段的值。
适用于 pcie 调试的 python 代码示例:
该脚本执行的步骤如下所述:
打开 csv 文件。
从所选 csv 文件中提取数据。
提取包含目标数据的特定列/报头。
使用“tready”、“tvalid”和“tlast”作为限定符来识别有效的数据包。
提取有效的 tdata 值,并使用函数执行十六进制到二进制转换。
二进制转换是从“tdata”提取比特级数据所必需的操作。
打印含十六进制数据的描述符字段。
以下 func_rq_pkt_analysis() 函数会导入 csv 文件并基于提供的 tready 值来判定要对哪个接口运行分析。
以下代码可识别 .csv 文件中相应字段的列编号,如下所示:
仅提取 tready 值、tdata 值、tvalid 值和 tlast 值,并将其存储在词典中,作为对应索引的值,该索引将用作为词典的键。
下一步是对词典中存储的数据执行分析。词典包含 tdata、tready、tvalid 和 tlast。
for 循环会遍历词典中的每一行,如果发现 tready 和 tvalid 均为“1”,那么它会将对应数据复制到变量中。tdata 作为十六进制数值存储在 csv 文件中。为了对描述符字段标识执行比特级提取,需将十六进制值转换为二进制。
描述符字段的提取是基于 (pg213) 中提供的描述符格式来执行的。以下示例显示了完成方完成 (cc) 接口的描述符。
为打印描述符字段值,需使用 bin_to_hex_print( ) 函数将此二进制值再次转换为十六进制。
该函数定义如下:
以下是本篇博文随附的 waveform.csv 文件的输出示例:
代码限制示例
提供的代码示例仅作为概念证明。提供的脚本则可在以下情况下“按现状”直接使用:
1.数据包包含 1 个数据节拍,即 tready/tvalid 和 tlast 全都在同一个时钟周期内断言有效。
2.不使用跨接。
3.对应接口的 tdata、tready、tvalid 和 tlast 的信号命名方式与本文随附的 .csv 文件中的命名相同。
使用 python 执行 pcie 调试的用例
python 脚本示例可通过扩展用于调试下列各种场景:
1.计算每个接口上的数据包数量。
2.在启用跨接的用户接口上执行数据包分析。
3.支持分析含多个数据节拍的数据包,例如,跨多个时钟周期的数据包。
4.验证是否接收到拆分完成包。
5.在给定的 ila 捕获窗口缓冲器大小足够的情况下,验证用户逻辑在 cc 接口上生成的完成包是否正确,并验证在 rc 接口上是否同样接收到完成包(用于 rq 接口上的对应请求)。
网站搭建时该如何选择租用服务器
K58S32 雷达微波模是一款小型化的 5.8GHz 微波感应模块
AMS预计收购欧司朗将于今年第二季度完成 为加快合并进程持股比例已增至23.4%
中国在哪些技术领域上相对美国优势较大?在哪些技术领域上差距较大?
选购笔记本电脑提防概念误区(高人指路)
如何使用Python脚本调试赛灵思PCIe设计?
魅族pro7什么时候上市?魅族pro7最新配置价格曝光:相信一定不会让你失望
电气安装工程施工规范
心真大诺基亚N8在这样超窄边框,真的所有人都能接受吗?
智能镜子显示器带你体验不一样的健身运动
宜百利教你告别衣物缠绕,轻松洗衣!
奥迪首款纯电动车e-tron放在旧金山发布,挑衅意味明显
MathWorks 推出与机器人操作系统完整集成的 Robotics System Toolbox
PCR非洲猪瘟检测仪的应用领域及技术参数
感应加热原理与IGBT应用拓扑分析(上)
区块链专利与保护储存在云中的信息有着直接的关联
黑鲨游戏手机3系列高清图集
你知道如何去优化功率模块主端子设计吗?
城市“动脉” - 智慧管网知多少
“实践十六号”卫星用国产X波段、Ka波段空间行波管放大器