wye11083 发表于 2016-6-28 00:15:13

Spartan6综合要想避免温度等影响,需要留约15%以上的余量

RT。今天做模块移植,但是时钟用的太多,需要优化,做优化过程中发现了这个情况。使用100%时序约束时,芯片Tj达到一定温度之后,有一路高速信号集总信号就开始错乱了(有时候是另一组,连SOC的一组信号都半死不活的)。我找了一天问题,晚上才发现把约束调到85%左右时,就再不受温度影响了。
仅针对ISE,XST。别的不熟。芯片45和25都有测,25最明显,板子温度达到50度就开始出错(Tj估计75度左右,即2C级高温范围)。比较显著的现象是你定义一个控制信号,然后发现这个信号经常SB,这个情况有两种可能:芯片坏了,或者达到临界值了。我前一段遇到过这么个SB信号,始终得不到解决方法。这次移植模块过程中终于找到了问题原因。
在此分享一点细节:(1)DCM的时钟稳定性较差,用DCM余量要保证15%以上(2)并不是每个时钟都要做处理;负载越重,越要处理好,因为不同负载会导致不同区域的同一时钟有较大偏差。轻负载超高速(带百十个寄存器)的,如果能给它们一个独立的区域,可以不加任何余量。因此解串之后应当直接跟个微型同步器(只同步高位地址)同步到本地时钟上,这样还有个好处是大家都能共享逻辑资源,资源利用率更高(3)加压超频可以提高一定的稳定性,但是频率似乎还是上不去,只是能在Tj上面也稳定工作。不要试着在2上面跑3的程序,出错几率非常高,要不然Xilinx早就打3卖了。毕竟FPGA里面是一堆布线盘(Matrix),走线延时到最后总是最大的延时。

7802848 发表于 2016-6-28 15:36:57

时钟约束的话,基本都是需要按照120%的时钟来约束的。对于时钟频率不高的情况,不约束都无所谓。我用到80MHz的时钟,都不约束

但是时钟约束与发热关系不大的,不管怎么约束,你的芯片都需要运行在这个时钟上,toggle rate是相同的。
想要降低发热量,最简单粗暴直接的办法是减小体积,资源占用率低了,同样的时钟频率,发热量肯定低。

wye11083 发表于 2016-6-28 21:58:38

7802848 发表于 2016-6-28 15:36
时钟约束的话,基本都是需要按照120%的时钟来约束的。对于时钟频率不高的情况,不约束都无所谓。我用到80MH ...

是啊。按100%总会出乱七八糟的问题,剪不断,理更乱。说明FPGA厂商忽略了不少地方。

7802848 发表于 2016-6-29 08:41:56

wye11083 发表于 2016-6-28 21:58
是啊。按100%总会出乱七八糟的问题,剪不断,理更乱。说明FPGA厂商忽略了不少地方。 ...

如果时钟频率不高,不约束都无所谓。
你出现这类问题,时钟频率又不高的话,只能说明你的设计不够robust
页: [1]
查看完整版本: Spartan6综合要想避免温度等影响,需要留约15%以上的余量