本帖最后由 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反复跳入中断,
造成系统崩溃。后来,因为经过重新编译的二进制文件没有引发类似现象,该问题就被当作是一个偶然事
件被忽略了。
中断产生逻辑电路相当标准,不可能产生随机的错误行为。问题缩小到FPGA连接到CPU的双向数据总线上,
这里是除中断外唯一一个由FPGA驱动到CPU的逻辑电路。我的推论是,由于该FPGA工程没有对CPU相关的输
入输出引脚进行时序约束,两次编译会导致双向数据总线的输出使能信号的响应差异,这一差异进一步影响了
FPGA驱动双向数据总线的速度差异,在某些情况下,FPGA或早或晚地驱动了总线,引发了总线驱动冲突,导
致CPU对总线上其它设备的访问失败。经过对所有CPU相关的信号进行时序约束后,编译的二进制文件没有引
发系统崩溃。
一周热门 更多>