时序约束方法及解决timing问题的方法(二)
来源:互联网 发布:php mvc理解 编辑:程序博客网 时间:2024/06/18 13:53
本文承接上一篇文章《时序约束方法及解决timing问题的方法(一)》,记录我在实际工程中fix timing问题的方法。
xilinx的Vivado工具也一直在更新,到本人记录此文的时候,Vivado已经有2017.3版本了,建议大家使用最新的Vivado工具。
继续上一篇博客中提到的约束问题,在修改了timing约束之后,有了false_path,set_multicycle等宽松的命令之后,如果timing还不收敛,那就可以考虑适当增加place约束来达到效果。
- 尝试不同的Place策略,Vivado的P&R过程是可以选择不同策略的,大家最好在vivado 的tcl命令行中,输入place_design -help,可以看本文附图的Log,注意我圈出来的选项,-directive有丰富的选择,如果在你的flow里不做配置,会用Default,可以尝试Explore、ExtraNetDelay_high等策略;
- 类似的,也可以替换route_design时的策略,在vivado中输入route_design -help来看-directive可以选择哪些策略,需要注意,这些策略和vivado的版本有关,随着vivado的版本更新,大家可能看到一些新的策略。
- 增加优化过程,根据xilinx自己推荐flow可以进行如下调整,需要注意的时,这个过程会极大的增加flow的时间消耗。
- 在place_design完成后,使用一次phys_opt_design -placement_opt优化;
- 然后在route_design完成后再用一次phys_opt_design -routing_opt优化;
- 再调用一次place_desing -post_place_opt,这个阶段会根据hold timing问题重新摆放一些cell;
- 最后调用一次route_desing;
以上提到的这些都是对vivado build flow的调整,还是依靠工具自动运行,我会在后面的文章中列出根据timing问题进行人工place critical cell的方法,这种方式主要依靠个人经验,工程师对自己使用FPGA的架构熟悉程度至关重要,所以在进行人工place之前一定要把所用的FPGA的datasheet了解清楚。
阅读全文
0 0
- 时序约束方法及解决timing问题的方法(二)
- 时序约束方法及解决timing问题的方法(一)
- 理解RAM的timing 【时序】之二
- 转载:FPGA时序约束的几种方法(待续)
- 几种进行时序约束的方法
- FPGA时序约束的几种方法
- 经验总结:FPGA时序约束的6种方法
- 最优化方法(3)带约束问题的最优性条件及求解方法
- FPGA 时序约束几种方法
- 理解RAM的timing【时序】之一
- 时序的约束
- 读时序图的方法
- 读时序图的方法
- FPGA 提高 时序的方法
- FPGA 提高 时序的方法
- fpga源同步输入时序约束(二)
- FPGA源同步输出时序约束(二)
- ACCESS常见的一些问题及解决的方法
- 《大话数据结构》程杰_原书冒泡排序p383错误
- js继承
- [一日一教学](14)文件替换:replace
- 炫酷神器,AE插件Bodymovin.zxp的安装与使用
- 初识Spring_04
- 时序约束方法及解决timing问题的方法(二)
- 批处理文件的@echo off
- List / Map / Collections
- 中文乱码问题
- 【Swift】上传图片限制大小
- IDEA中自动生成getter/setter的方式
- VMware Snapshot 工作原理
- Java中不使用第三个数交换两个数!
- C#二维矩形数组与二维交错数组