抓取SEM IP的串口log的详细步骤

描述

本文作者:赛灵思工程师 Ivy Guo

SEM IP在上板调试过程中有时会出现一些错误,比如无法执行IP的插错纠错功能,或者自身的初始化无法完成等等,需要对SEM IP本身进行调试定位。我们最推荐客户去查看IP从上电开始打印出来的串口信息。这里面的log不仅包含了IP从初始化开始经历的一系列状态,还能清楚地显示出一些事件的时间戳。

赛灵思

但是很多客户反应,实际调试的硬件板上没有连接串口,没办法查看log,只能靠抓取SEM IP Status Interface的 status_*信号,通过其可以查看 IP有无心跳,或者IP是否进入了正确的状态等。困难的是,很多问题需要同时查看所有的status_*信号组合,并且综合分析status_*的历史状态以及当前状态,复杂且需要较多的调试经验。

赛灵思

解决方法其实很简单,我们只要在设计里面添加一个FIFO,将SEM IP Monitor Interface输出的ASCII字符 log全部存入FIFO。需要定位的时候,用ILA+VIO控制读出来并直接显示就行了。

赛灵思

这里以VCU118 (VU9P) 开发板为例说明, 步骤如下:

1. 生成适配VCU118开发板的SEM IP example design。

2. 按照开发板的构造, 按需修改icap_clk的频率及管脚位置。也可以添加其他想要查看的信号。比如,可以绑定6个status_*信号到LED管脚上方便查看。

3. 顶层引入FIFO读写时钟clk300p/n (300MHz)。

赛灵思

XDC里面做好相应的约束:

赛灵思

4. 生成并添加用于存储log的FIFO,读取显示FIFO字符的ILA和用于控制的VIO。

至于FIFO的大小,SEM IP 正常情况下除了最开始会打印出初始化过程和基本信息,进入工作状态Observation后就基本没有输出了。只有发生了SEU事件或者其他异常,才会在串口推送出对应的报告。由于SEU事件是极为偶发的罕见事件,报告字符也不会多。所以这里设定500 bytes已经能满足绝大多数应用需求:

赛灵思

赛灵思

更多步骤,请点击阅读原文移步赛灵思中文博客如何利用FIFO+ILA/VIO抓取SEM IP的串口log

原文标题:开发者分享|如何利用FIFO+ILA/VIO抓取SEM IP的串口log

文章出处:【微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分