Board logo

标题: Vivado高效设计案例分享大赛---13. 运行多个综合策略 [打印本页]

作者: pengpengpang    时间: 2014-1-16 23:35     标题: Vivado高效设计案例分享大赛---13. 运行多个综合策略

在使用以往版本的软件例如ISE中的XST进行FPGA开发的时候,如果我们想改变综合策略,哪怕是微调一个综合工具中的参数,如果想获取综合结果,也要重新运行一下综合,此时原来的结果就被覆盖掉了,想比较一下也不方便。在Vivado开发环境中,引入了Design Runs这样一个设计思想,就是说对同一个设计,我们可以创建多个综合策略,Vivado可以分别运行并保存它们的综合结果,这样我们很容易对不同综合方法的结果进行比较,并把其中比较优化的结果设置为综合结果,从而提高开发效率。下面我们就用简单的几步看一下这个Design Runs是如果实现的。

第一步还是在Vivado里面打开或者创建一个工程,并完成相应的功能设计。然后在Vivado的设计流程管理器中,在综合按钮上点击运行,并选择创建多个综合操作,如图1所示。



图1 创建多个综合操作

然后综合操作向导就被自动打开了,如图2所示。



图2 综合操作向导

然后就是选择多个综合操作了,如图3所示。值得注意的是,在这里我们不仅可以选择不同的综合策略,可以选择不同的约束文件,甚至可以选择不同的目标器件:这点在设计的选型、评估阶段是很有用的功能,我们不用去改变工程属性里的目标器件,只要在这里进行对比就行了,例如在ZYNQ的选型里,我们可以对不同速度的7010进行对比,也可以在7010、7020之间进行对比,看看在成本优先的情况下哪一个片子更适合我们的要求等。



图3 选择不同的综合策略、约束文件与目标器件

图3中,被选择为active的那个综合操作的结果,将被用于后续的实现、产生bit流等操作。
接下来选择的是运行几个综合操作,在我的电脑上显示是1-8个,可能与CPU的线程数有关,如图4所示。



图4 运行综合操作的数量

最后一步是创建结果,不合适的话可以返回修改,如图5所示。



图5 Design Runs总结

完成之后,我们就可以在Vivado开发环境中对比多个综合结果了,如图6、图7所示。因为使用的设计并不是太复杂,所以综合花费的时间相差无几。





图6/7  Vivado中不同综合结果的比较

例如,我们可以对比器件的利用率,如图8所示,结果一目了然,非常高效地提供给我们不同综合策略之间的差异。



图8 器件利用率比较


作者: pengpengpang    时间: 2014-1-16 23:35

共同努力,共同学习!------------中电网技术论坛




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0