欢迎来到天天文库
浏览记录
ID:27506259
大小:140.50 KB
页数:3页
时间:2018-12-04
《FPGA实战开发技巧(6).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、FPGA实战开发技巧(6)5.3.3.2提高时序性能的手段 时序性能是FPGA设计最重要的指标之一。造成时序性能差的根本原因有很多,但其直接原因可分为三类:布局较差、逻辑级数过多以及信号扇出过高。下面通过时序分析实例来定位原因并给出相应的解决方案。1.布局太差及解决方案 图5-13所示时序报告,其中附加的周围约束为3ns,实际周期为3.027ns,逻辑时间只有0.869ns,而布线延迟竟达到2.203ns,很明显失败的原因就是布局太差。 图5-13布局太差的时序报告示意图 相应的解决方案有: 1)在ISE布局工具中调整布局的努力
2、程度(effortlevel);2)利用布局布线工具的特别努力程度(extraeffort)或MPPR选项;3)如果用户熟悉区域约束,则利用Floorplanner相对区域约束(RLOC),重新对设计进行布局规划。2.逻辑级数过多及解决方案 在FPGA设计中,逻辑级数越高,意味着资源的利用率就越高,但对设计工作频率的影响也越大。在图5-5所示的例子中,附加的周围约束为3ns,实际周期为3.205ns,逻辑时间为1.307ns,已经对设计的实际性能造成了一定的影响。对于这种情况,ISE实现工具是没有任何改善的,必须通过修改代码来提高性能,相应
3、的解决方案有: 1)使用流水线技术,在组合逻辑中插入寄存器,简化原有的逻辑结构;2)检查该路径是否是多周期路径,如果是,添加相应的多周期约束;3)具备良好的编码习惯,不要嵌套if语句或if、case语句,并且尽量用case语句代替if语句。 图5-14逻辑级数太多的时序报告示意图3.信号扇出过高及解决方案 高扇出会造成信号传输路径过长,从而降低时序性能。如图5-15所示,附加的周期约束为3ns,而实际周期为3.927ns,其中网线的扇出已经高达187,从而导致布线时延达到3.003ns,占实际时延的77.64%。这种情况是任何设计所
4、不能容忍的。 图5-15扇出太高的时序报告示意图 相应的解决方案有: 1)通过逻辑复制的方法来降低信号的高扇出,可在HDL代码中手动复制或通过在综合工具中设置达到目的;2)可利用区域约束,将相关逻辑放置在一起,当然本方法仅限于高级用户。
此文档下载收益归作者所有