前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Vivado那些事】OOC综合方式

【Vivado那些事】OOC综合方式

作者头像
碎碎思
发布2021-01-28 22:13:25
1.3K0
发布2021-01-28 22:13:25
举报
文章被收录于专栏:OpenFPGAOpenFPGA

之前有分析过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综合方式。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenFPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档