您的位置:网站首页 > 电器维修资料网 > 正文 >
增量编译技术介绍
来源: 日期:2013-12-7 10:02:03 人气:标签:
通常fpga工程师编译较大的工程时比较头疼,因为编译时间非常长,常常需要花费几个小时,如果是在调试阶段,每次修改一个错误需要几小时,这样效率就非常低。导致编译时间较长的原因有两点:1. 设计中资源利用比较大,synthesis、translate和map需要的时间较长;2. 设计的时序比较紧张,需要反复p&r来达到 佳时序状态。
如果不想修改工程代码,想要缩短编译时间,则可以采用增量编译技术,其基本原理就是根据前一次编译的结果,只重新编译部分修改过设计,其它部分则沿用前一次编译的结果,这样就可以缩短总体的编译时间。xilinx的增量编译技术有两种:smartguide和partition。
smartguide:这个ise中的全局优化选项,使能这个选项,编译器在implementation时会比较前一次编译的implementation结果,未修改部分则沿用前一次的结果,但是如果时序比较紧张,会根据情况重新实现相应未修改部分来达到时序要求。smartguide主要能缩短map和par的时间。
smartguide具体的使用方法如下:
1. 右击top module,然后点击smartguide选项。
图1
2. 选择前一次的编译信息,其中ncd文件包含当前设计的物理映射信息。
图2
3. 点击ok,使能smartguide。
partition:基于partition(分区)的设计,如果一个partition的hdl代码、时序、物理约束和实现选项未修改,实现工具会采用“复制粘贴”操作保留这部分partition的信息,从而缩短了实现的时间。partition设置后能缩短综合、实现的时间。
自ise12.1版本后,ise软件就不再支持partition选项,但是在planahead软件中支持partition功能(ise快退出xilinx软件舞台了,据说以后有个rodin的软件,界面与现在的planahead类似)。如图3所示,在netlist窗口中右击需要分区的module,然后选择set partition即可。
图3
参考文献:
xapp918:incremental design reuse with partitions
注:在 近的项目中,为了缩短编译时间,使能了smartguide选项,但是发现时序一直很差,记得以前timing score都是0分的,然后采用了各种优化:加bufg、关键路径加register打拍等等,但是时序始终达不到0分。在快绝望的时候,突然发现之前使 能过smartguide选项,把它去了试试,结果版本跑出来时序0分了,当时是既欣喜又崩溃。 通过这次的经历,得到了一些教训,在debug阶段虽然使用增量编译技术能加快效率,但是前提是你的代码功能、时序都需要满足条件,之后才能使用增量编译 继续debug
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 基于FPGA消除模块的研究与应用
- 下一篇: 了解逻辑门的等效电路