【Vivado那些事】OOC综合方式

OOC(OutOfContext)综合方式是Vivado中一种自底向上的综合方法,能针对用户逻辑单独进行综合并生成DCP文件,节省编译时间并可能改善时序。设置OOC包括通过右键菜单和综合设置添加-modeout_of_context两种方法。但注意,含IP或参数化的模块不能使用OOC。使用OOC能有效提升设计效率,但并非所有模块都适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前有分析过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现在行动!
推荐阅读
【Vivado那些事】如何查找官网例程及如何使用官网例程【Vivado使用误区与进阶】总结篇【Vivado那些事】Vivado下头文件使用注意事项【Vivado那些事】Vivado中常用的快捷键(一)F4键【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
HDL Designer Series(HDS)介绍
SystemVerilog数字系统设计_夏宇闻 PDF
Verilog 里面,always,assign和always@(*)区别
FPGA上如何求32个输入的最大值和次大值:分治一文读懂TCP/IP!《RISC-V on T-Core》学习笔记新年愿望是什么?先送大家一波开发软件谈谈FPGA(入门)学习的两种方式ZYNQ-迷恋ZYNQ-FPGA开发板资源分享
零基础入门FPGA,如何学习?
黑金全部开发板资料(FPGA+ZYNQ)分享
点击上方字体即可跳转阅读哟

点个在看 你最 好看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值