本帖最后由 mdyfpga 于 2022-3-30 08:45 编辑
大家学习在线调试工具(SIGNALTAP chipscope vivado)都会遇到各种问题,明德扬整理了的同学们提出的问题,本帖将对在线调试工具问题进行一个汇总,大家可以从这里找到您想要学习或疑惑的问题,然后进行学习。为方便您随时找到答案,敬请您收藏本网址: http://www.mdy-edu.com/wentijieda/20210409/1217.html
【问题1】 按以下设置采样时钟,结果提示出现wait clock,没有抓到数据。
答:可能的原因如下:
1.该时钟确实是没有,即一直为0,或者一直为1。
2. 该clk不是本模块产生的,而是其他模块产生,然后在此模块使用。这个时候有可能不能作为采样时钟。正确的做法,哪个模块产生的就使用那个模块的信号。例如常见的PLL的C0,C1等。
【问题2】 如果使用在线调试工具,测量一个信号低电平的间隔。
答:假设预期一个信号低电平时间为2000个时钟周期。那么可以如下设置。
1. 采集深度设置至少为2K,即2048个点,保证能采到一个低电平周期时间。
2. 触发条件为:该信号的下降沿。当触发条件满足后,查看低电平的采样点个数,即可测量出时间。
如果受资源限制,采样深度小于信号低电平时,可以在代码里添加计数器,通过观测计数器来推测出低电平时间。
【问题3】 采样时钟必须是时钟信号吗?
答:在线调试工具在采样时钟的上升沿,对信号进行采样。注意,在线调试工具不是智能的,它无法判断连接到采样时钟的信号是时钟。
它只是在采样时钟的上升沿,对信号采样。也就是说,连到“采样时钟”的信号,可以是任意信号。但一般来说,这没有任何意义。
【问题4】在线调试工具采集到的信号,其时间是怎么算的?
答:在线调试工具,每次触发时,只能看到 时间 =采样时钟频率*采样深度。 例如说采样时钟是50M,采样深度为2000个点,那么将只看到20*2000ns内的信号。
【问题5】在线调试工具严格反应FPGA内部数据么?为什么我的波形不对?
答:在线调试工具肯定是要严格反应内部数据的,如果这都做不了,那这FPGA也不用玩了。波形不对,只能说明
1. 你工具使用不当;
2. 这波形确实是不对。
【问题6】我们做了一个工程,用SOF文件运行不正常,但是加上逻辑分析仪检测数据正常运行,将该SOF生成JIC仍然不可以,一般遇到这种情况,什么原因啊?
答:一般是可以考虑时序不满足而导致的,具体请看时序报告
【问题7】使用ila的时候,有的信号看不到位宽定义,该怎么在ila中设置位宽? 答:没有位宽定义的信号位宽就是1bit的
【问题8】如果我想看抓“模块的时钟”,看其波形是否正确,如何做?即观察信号是“时钟”。
答:通常想看“时钟信号”,一般的需求是2个。1. 看时钟有没有;2. 看频率正不正确。看时钟有没有:可以用一个更高频的时钟,作为“采样时钟”,对时钟信号进行观察,如果频率更高,就能看到是否有变化。
看频率正不正确:在线调试工具没法解决这个问题。建议将该信号拉到IO口,通过示波器来观察。
【问题 9】在线调试工具抓取三态门信号,会报错,该如何解决?
答:一般三态门是放在接口上的,内部不会有三态信号。FPGA三态信号一般可分解成如下:
assign sdio = sdio_en?sdio_w:1'bz;assign sdio_in = sdio ;您可以抓取sdio_en和sdio_w来观察
【问题 10】在明德扬提供的SIGNALTAP练习中,找到错误后,要如何修改?
答:明德扬提供的SIGNATAP练习,为了不让学员看到答案,专心找BUG,特意将有错误的代码封装成IP核的形式,即QXP格式文件。
该格式文件的内容是不可观看的。所以这些练习只要找到错误即可,不必修改。
由于问题比较多,没有全部展示出来,有需要的同学可以进MDY官网查看,网址 http://www.mdy-edu.com/wentijieda/20210424/1359.html:如果同学们的问题我们帖子里面没有的请第一时间联系易老师,我们对新问题进行补充!
|