首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Vivado那些事】OOC综合方式

之前有分析过Vivado中不弹出OOC综合方式窗口的解决方式,传送门《【每周一问】Vivado综合时突然OCC模式弹不出来了》,里面简单介绍了和Global方式的区别,但是没有更加深入,今天在更深入的介绍[OOC综合方式]。

本质上,OOC(Out Of Context)综合方式是一种自底向上(Bottomup)的综合方法,可以应用于IP、IPI(IP Integrator)的Block Design及用户逻辑中。这里着重介绍如何对用户逻辑使用OOC综合方式。

在OOC综合方式下,模块可以有自己的约束文件,同时会单独生成该模块对应的DCP文件,且在综合阶段不会插入IBUF或OBUF。

1. 方法1

选中模块,单击鼠标右键,在弹出的快捷菜单中选择Set as Out-of-Context for Synthesis,如图所示。

一旦模块被设定为OOC综合方式,就会弹出如图所示的对话框。

在Sources窗口中的相应模块前会有一个方框标记,以显示该模块已经应用

OOC综合方式,如图所示。

此外,在Design Run窗口中会显示该模块的综合进程,如图所示。

对于已经应用OOC综合方式的模块,也可以取消其应用OOC综合方式,如图所示。

2. 方法2

在综合设置中添加-mode out_of_context,如图1.83所示。该方法适用于将顶层设置为OOC综合方式,以便进行时序评估。因为在OOC综合方式下不会插入IBUF或OBUF,所以可避免因引脚不够用而无法布线。

在使用OOC综合方式时的注意事项:如果在某模块下包含IP,且该P采用OOC综合方式,那么该模块将不能使用OOC综合方式,除非将该IP置为Global综合方式;如果在某模块内有利用parameter(Verilog版)或generic(VHDL版)定义的参数,那么该模块也不能采用OOC综合方式。

使用OOC综合方式的好处:节省编译时间,这是因为OOC综合方式只运行一次,只要代码没有改动,已经生成DCP文件的模块就不会再执行。同时,对关键模块采用OOC综合方式,还可能会有改善时序、加速时序收敛的效果。

结论:

OOC综合方式可以单独生成相应的DCP文件,从而节省编译时间。

不是所有的模块都可以使用OOC综合方式。

文章节选自《Vivado入门与提高》

版权归原作者所有

看完本文有收获?请转发分享给更多人

NOW现在行动!

点个在看 你最 好看

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210124A01HO400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券