首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Vivado高效设计案例分享大赛---13. 运行多个综合策略

Vivado高效设计案例分享大赛---13. 运行多个综合策略

在使用以往版本的软件例如ISE中的XST进行FPGA开发的时候,如果我们想改变综合策略,哪怕是微调一个综合工具中的参数,如果想获取综合结果,也要重新运行一下综合,此时原来的结果就被覆盖掉了,想比较一下也不方便。在Vivado开发环境中,引入了Design Runs这样一个设计思想,就是说对同一个设计,我们可以创建多个综合策略,Vivado可以分别运行并保存它们的综合结果,这样我们很容易对不同综合方法的结果进行比较,并把其中比较优化的结果设置为综合结果,从而提高开发效率。下面我们就用简单的几步看一下这个Design Runs是如果实现的。第一步还是在Vivado里面打开或者创建一个工程,并完成相应的功能设计。然后在Vivado的设计流程管理器中,在综合按钮上点击运行,并选择创建多个综合操作,如图1所示。[[wysiwyg_imageupload:1157:]]图1 创建多个综合操作然后综合操作向导就被自动打开了,如图2所示。[[wysiwyg_imageupload:1158:]]图2 综合操作向导然后就是选择多个综合操作了,如图3所示。值得注意的是,在这里我们不仅可以选择不同的综合策略,可以选择不同的约束文件,甚至可以选择不同的目标器件:这点在设计的选型、评估阶段是很有用的功能,我们不用去改变工程属性里的目标器件,只要在这里进行对比就行了,例如在ZYNQ的选型里,我们可以对不同速度的7010进行对比,也可以在7010、7020之间进行对比,看看在成本优先的情况下哪一个片子更适合我们的要求等。[[wysiwyg_imageupload:1159:]]图3 选择不同的综合策略、约束文件与目标器件图3中,被选择为active的那个综合操作的结果,将被用于后续的实现、产生bit流等操作。接下来选择的是运行几个综合操作,在我的电脑上显示是1-8个,可能与CPU的线程数有关,如图4所示。[[wysiwyg_imageupload:1160:]]图4 运行综合操作的数量最后一步是创建结果,不合适的话可以返回修改,如图5所示。[[wysiwyg_imageupload:1161:]]图5 Design Runs总结完成之后,我们就可以在Vivado开发环境中对比多个综合结果了,如图6、图7所示。因为使用的设计并不是太复杂,所以综合花费的时间相差无几。[[wysiwyg_imageupload:1162:]][[wysiwyg_imageupload:1163:]]图6/7  Vivado中不同综合结果的比较例如,我们可以对比器件的利用率,如图8所示,结果一目了然,非常高效地提供给我们不同综合策略之间的差异。[[wysiwyg_imageupload:1164:]]图8 器件利用率比较
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表