需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN电子技术论坛>博客 >riple博客 >锲而不舍--使用signaltapII调试FPGA设计中的bug

riple的博客——究其不明,摒其不力:实践中的FPGA工程师

博主:riple???? ???? ????
介绍: 究其不明,摒其不力:实践中的FPGA工程师
文章(258)???? 访问(1104134)???? 评论(765)???? 投票(129)???? 订阅本博??

博文列表查看方式: ???

锲而不舍--使用signaltapII调试FPGA设计中的bug
发布时间:2006-11-22 18:50:28
技术类别:CPLD/FPGA
需要确认注册邮箱后才能下载,立即确认我的邮箱

??? 工作以来,学到的最有用的调试方法就是:锲而不舍,一条路走到底。(马老师)?riple


??? 学到的最有用的调试格言就是:“三心:细心、耐心和责任心”。(库哥)?riple


??? 我采用signaltap的通常步骤是:?riple


??? 1. 勘查现场。bug通常不是系统停顿的直接原因;bug发生时,系统按照正常的协议运行,直到走入死胡同,表现为停顿或异常。虽然此时的系统状态不是bug本身,但是这是我们查找bug的唯一可靠线索。当然,如果能通过分析代码确定bug的位置会更省力。我在分析不了众多的并行事件时才会求助于signaltap。?riple


??? 需要观察的系统状态包括:与故障相关的FPGA IO引脚,与故障相关的状态机状态(在这一步不建议引入状态机的输入信号,即使你怀疑哪些输入信号有问题,也最好假装不知道)。?riple


??? 这一步一定要沉住气,一次就可以把所有的异常状态确定下来。?riple


?


??? 2. 顺藤摸瓜。查到了系统的停顿状态(状态机的状态值)或异常的表现(IO取值异常),就要按照状态机的跳转顺序或IO输出的驱动逻辑,逆向设置触发条件,确认在哪个状态、什么样的输入条件导致状态跳转错误或怎样的逻辑组合导致输出异常。?riple


??? 这一步需要综合捕获的波形和对应的HDL代码才能有效地设置触发条件。这时引入状态机的输入信号和组合逻辑的驱动信号才更有效。?riple


??? 在这个顺藤摸瓜的过程中,会逐步发现某些异常现象。由于FPGA的资源有限,不能设置过大的存储深度,想要同时看到异常的原因和结果是很困难的。举个例子,用50MHz的时钟作为采样时钟,相邻两个采样点的时间间隔是20ns,如果存储深度设为256点的话,一次循环采样可以观察到的时间间隔是5us,对于FPGA本身来说是够了,如果系统中还有其他反应较慢的器件(比如较慢的CPU),这样的观察时间是不够的。这时就需要利用各种触发方式和综合各种触发条件(比如多设一级触发深度)。(以后我会给出signaltap设置选项的用法和用处)?riple


??? 这一步是发挥调试人员聪明才智的一步。?riple


?


??? 3. 设置陷阱,守株待兔。随着离bug作案的时间越来越近,幸运的话,可能已经看到bug在手舞足蹈了。在这一步,一定要通过设置触发条件把bug每次作案的照片(波形)都拍下来。合理的触发条件可以保证每一次抓到的波形都是bug作案的真实写照。?riple


??? 这一步很关键,如果不能抓到bug作案的快照,就不能定位bug。没有证据就下结论是很危险的,可能前功尽弃。?riple


??? 每到这个时候,我就把自己想象成一个戴着皮帽,穿着翻毛皮袄,腰插烟袋杆儿的猎人,在雪地里蹲了三天三夜,正眼看着猎物一步一步走进自己设置的陷阱。?riple


?


??? 4. 亡羊补牢。捉到了bug,就该处理它了。是自己模块的问题,就要闭门思过了icon;是外部的问题,就可以兴师问罪了icon?riple

标签:??
分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
??????有[ 0 ]名读者喜欢此文
阅读(5984)?? 评论(15)?? 收藏??I?? 打印??I?? 推荐到小组??I?? 转发到我的博客 (0)
对不起,您还没有登录,请先登录注册
上一篇:江湖越老,胆子越小?

下一篇:JTAG协议学习笔记(续一)

牛人有话说 - 锲而不舍--使用signaltapII调试FPGA设计中的bug
美国的游客 (您将以游客身份发表,请登录 | ?注册)
?
你还可以输入1000
验证码:
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
?
有 [ 8 ] 名读者发表评论 - 锲而不舍--使用signaltapII调试FPGA设计中的bug

河南省郑州市的游客
我也用这个,呵呵
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2013-05-14 21:52
检查一下你是否能够正常下载,能下载的话,就能调试。
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2008-10-06 21:05
我才刚开始用signaltapii,我想请问博主,为什么我在设置的时候,一直说no device is selected。我已经通上电了。请问这是为什么啊?谢谢博主。
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2008-10-05 21:48
这是老毛病了。回复完了记得跳转,别刷新。
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2008-07-13 18:49
晕...看来博客系统有点儿小问题,总提示回复不成功,一不小心,水了
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2008-07-11 11:15
看来关于SignalTap还有很多东西要学习呢...没办法,只能常来看看咯
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2008-07-11 11:07
(以后我会给出signaltap设置选项的用法和用处) riple 麻烦你总结下采样级别的设置以及采样条件的设置吧,我刚学,每次都只设置为 level 1,这样就可以了吗?谢谢
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2008-04-03 10:08

使用signaltapII需要有硬件电路板和下载电缆,还要PLD器件支持,所以有机会使用的人少了许多。我也是工作后才有机会用起来的,这是我们最常用的调试工具。

(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2007-12-14 09:31
singletapII做调试??哈 写错了 signaltapII
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2007-12-14 08:58
每次从你的blog里都能学到很多东西。我工作这么长时间,从来没有用过singletapII做调试。最近面试了一家公司,他们提到这个,看来要学的东西还是很多很多的。
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2007-12-14 08:52
转发到我的博客
评论?@究其不明,摒其不力:实践中的FPGA工程师?的“锲而不舍--使用signaltapII调试FPGA设计中的bug”
工作以来,学到的最有用的调试方法就是:锲而不舍,一条路走到底。(马老师)riple学到的最有用的调试格言就是:“三心:细心、耐心和责任心”。(库哥)riple我采用signaltap的通常步骤是:riple1.勘查现场。bug通常不是系统停顿的直接原因;bug发生时,系统按照正常的协议运行,直到走入...
你还可以输入30000
同时评论给?riple
????
快速回复
?
你还可以输入1000
????
引用回复
引用评论?
?
你还可以输入1000
????
博主资料

实践中的FPGA工程师

个人文章分类
文章存档
最新评论
阅读排行
riple的小组???? 加入小组
FPGA讨论组
成员3308名
创建者:stephen100 OVPsim边学边用 成员24名
创建者:riple 《基于FPGA的快速系统原型开发》翻译 成员1038名
创建者:特权同学 成员363名
创建者:riple Altium Designer 成员482名
创建者:Neddy The SOPC Builders 成员437名
创建者:riple ATA协议A、B、C 成员116名
创建者:riple 8051之SOPC 成员27名
创建者:riple 点评EDN文章 成员24名
创建者:jean CUDAZONE 成员25名
创建者:jean EDN帮助小组 成员405名
创建者:彩云 电子文章编译 成员296名
创建者:cocappjj EDN原创博客群 成员54名
创建者:cocappjj 博客精华 成员59名
创建者:Colinzhang virtualBox虚拟linux 成员12名
创建者:walnutcy Xilinx SoPC 成员115名
创建者:shell
展开
最新网络博文
TQ210 WINCE 大分辨率不启动的问题
决战在即:量子点与OLED谁主沉浮?
基于HDRS平台的太阳能发电设备远程故...
例说FPGA连载4:FPGA语言与厂商介绍
加速创新,努比亚突破摩尔定律
? 更多博文>>
返回博客首页
有问题请反馈