请有经验的工程师帮我分析一下这个Bug的原因(十分奇怪)
时间:10-02
整理:3721RD
点击:
小弟刚做FPGA不长时间,做的是一个板级系统的FPGA中的一个模块,在功能仿真完成之后直接上电路板接上设备进行实测;
实测第一次结果效果和理想情况最接近,输入的码流大部分都被成功加密并且输出,只是每隔6的倍数就有错误的结果出现的可能;
我怀疑是时序约束没做好,于是修改约束,而且加了一些亮灯的测试电路;
结果出乎意料的糟糕,修改一点点约束或者编译的时候改变一些编译选项,甚至什么都不变只是加上一点点测试电路(比如quartus中的一些speed, area的选项)都会让结果越来越糟(有可能加密的结果错的更多,有可能甚至码流都不对齐了);
后来几天之后我又用第一次实测编译的文件(没有重新编译,直接用的之前的的下载bit-stream的文件)进行实测,结果居然对了。
而我们测试的工程师说几次测试的条件都一样的,请问有什么可能会造成这种结果?
FPGA是一种硬件电路,虽然你是用程序写的,但是在资源紧张,或者时序紧张的情况下(保证没有时序报错),每一次重新布线,生成了一种新的电路啊,也许之前的走线延时能满足你的要求,现在就不能满足,这个很常见。
如果做约束?最好还是严格按照你的时序路径去约束,另外,刚开始的时候面积上可以暂时不做考虑。只有对正确约束条件的检查通过才有意义。约束条件如果错了,再怎么处理都是错的。
6的倍数具体点
6是6帧?
很可能跟时序有关
你的资源用到多大比例了?
6是指第六个加密模块加扰的数据,出现错误也是有可能出错;而且每个模块都是完全一样的结构;
我logic utilization是97%,但是我的模块中似乎并未有明显的setup/hold violation;
而且奇怪的是第一次测明明出错的电路,昨天又测就完全没问题了;怀疑是不是时序在某个临界点上,温度
和电压变化了就导致错误?
根据你的描述还是很可能跟时序没通过有关系
97%啊。资源太紧了。
首先约束要正确。约束还需要包括对管脚延时的约束
您好,能说说对管脚延迟进行约束时板级走线延迟和板级时钟偏斜怎么进行估算吗?