本质上,OOC(Out-of-Context)综合是一种自底向上(Bottom-up)的综合方法,可以应用于IP、IPI(IP Integrator)的Block Design以及用户逻辑。这里着重介绍如何对用户逻辑使用OOC综合方式。
在OOC模式下,模块可以有自己的约束文件,同时会单独生成该模块对应的DCP文件,且综合时不会插入IBUF或OBUF。
方法一:选中模块,单击右键,选择Set as Out-of-Context for Synthesis,如下图所示。
一旦模块被设定为OOC模式,会弹出如下对话框。
同时,在Sources窗口中,相应的模块前会有一个金色方框标记,以显示该模块用于OOC模式。
对于已经是OOC综合的模块,也可以取消其OOC模式,如下图所示。
方法二:在综合选项设置中添加-mode out_of_context,如下图所示。
该方法适用于将顶层设置为OOC模式,便于时序评估,因为OOC模式不会插入IBUF或OBUF,避免因为管脚不够用而无法布局布线。
使用OOC应注意的事项:
如果某模块下有Xilinx的IP,而该IP采用OOC综合方式,那么该模块就不能使用OOC综合方式,除非将该IP使用Global综合方式;
如果某模块内有parameter(Verilog)或generic(VHDL)定义的参数,该模块就不能采用OOC综合方式。
OOC综合方式的好处:
最明显的好处是节省编译时间,这是因为OOC模块综合只运行一次,只要代码没有改动,整个工程在执行综合时,已经生成DCP的OOC模块不会再执行综合。同时,对关键模块采用OOC综合方式还可能会改善时序,加速时序收敛。
结论
-OOC综合模式可以单独生成相应的DCP,从而节省编译时间;
-不是所有的模块都可以使用OOC综合方式
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有