GSM给你讲一个FPGA引脚“未分配”隐患的故事

2020-02-28 18:39发布

本帖最后由 GoldSunMonkey 于 2011-11-28 22:53 编辑

以前写过一篇文章如何处理未分配的管脚文章。
GSM教你使用ISE将未使用的管脚变成高阻态
http://bbs.21ic.com/icview-275872-1-1.html
很多人不以为然。
写一个听来的故事,给大家提提醒

一波三折——危险的“未分配”引脚
*第一折。半个月前,美国的同事对当前的一个工程进行了编译,并提交二进制文件
(FPGA配置文件)给软件工程师进行集成。结果该二进制文件导致了整个系统的崩溃:FPGA二进制文件
刚下载完毕,整个系统就不工作了。这一事件导致了美国FPGA工程师一整天的停工和系统恢复。Kevin给
出的分析结果是,FPGA给出的中断信号有问题,该信号经过CPLD转发到CPU后导致CPU反复跳入中断,
造成系统崩溃。后来,因为经过重新编译的二进制文件没有引发类似现象,该问题就被当作是一个偶然事
件被忽略了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
GoldSunMonkey
2020-02-29 13:49
通过这一问题的解决,我获得了以下几点认识:  
1. 没有约束位置的引脚是很危险的,尤其是输出引脚。随机分配的结果很可能是灾难性的。所以,PCB原理图
上的所有引脚,即使在FPGA内部没有被用到,也最好如实地加以约束。
2. PlanAhead工具可以为大家提供相应的内部链接的检查
3. FPGA EDITOR也能为大家找出内部逻辑的走线的检查和分析。
4. 为什么会存在未分配的输出和输入引脚?这是因为该工程还存在尚未实现的后期功能。这些引脚就是给以后
开发留下的,由于我们太专注于眼前要实现的功能而被忽视了。
5. 为什么会存在未用到,却实际连接了的地址线?这是PCB设计上的“冗余设计”。这样的冗余设计在该项目
中还有很多,有一些还真在关键时刻给了我们FPGA开发上的便利。
6. 既然上述两个问题都有合理的解释,为什么还会出现这么不合理的错误?原因之一是在PCB和FPGA设计上
缺乏完善的设计文档,PCB设计者的意图没有有效传达给FPGA设计者,而FPGA设计者之间也没能充分交流
原因之二是FPGA开发流程上缺乏被称之为“Peer Review”的设计评审和设计质量保证措施,一个显而易见

错误就被这样忽略并遗留了下来。

一周热门 更多>