Vivado IP的两种综合方式:Global 和 Out-Of-Context

FPGA随记——赛灵思OOC功能 方式的 模块除外,它们独立于顶层设计而单独综合。通常,在整个设计周期中,顶层设计会被多次修改并综合。模块会被视为黑盒子,并且 不会参与到顶层的综合中来。OOC 模块只会在综合顶层之前被综合一次,这样在顶层的设计迭代过程中,模块的黑盒子才会被打开,这时其网表才是 可见的,并参与到全局设计的实现过程中来。模块就不必跟随顶层模块, 而一次次的产生相同结果的多余综合了。流程减少了设计的周期,并消除了设计迭代,使您可 以保存和重用综合结果。)综合方式,将顶层之下的所有逻辑模块都进行综合,但是设置为。 阅读详情
AI摘要

本文详细解析了Vivado中的两种综合方式:“Out-Of-Context(OOC)”与“全局综合”。OOC综合能独立综合IP模块并生成.dcp文件,加速设计迭代。全局综合则会将IP与其他用户文件一同综合。文章还探讨了高阻态在不同综合模式下的处理方法。

在最新的Vivado的版本中,定制IP的时候,会有一个综合方式的选择,如下图所示。可以看到一种叫做”Global”,一种叫”Out-Of-Context (OOC)”。从字面意思上来理解,”Out-Of-Context”是“脱离上下文”的意思。”Global”即全局。



Global synthesis

如果选择的是全局综合选项,那IP生成的文件将会和其他的用户文件一起进行综合,这也就意味着,每一次用户文件被修改后,IP都会跟着一起综合一遍。

Out-Of-Context (OOC)

OOC选项是Vivado给我们的默认选项,在OOC模式下,Vivado将会把生成的IP当成一个单独的模块来进行综合,生成.dcp (design checkpoint)文件。同时会使用一个只在OOC模式下有用的约束文件“_ooc.xdc”。
除了生成.dcp文件,OOC还会生成一个以”stub”结尾的HDL文件,是当前IP设计的一个黑盒文件,其实就是只有输入输出端口,没有其他内容,如下图所示是一个FIFO IP的”char_fifo_stub.v”实例。这个文件的作用就是跟着工程中的其他文件一起进行综合过程。
这里写图片描述
最后,在”implementation”阶段,OOC生成的.dcp文件中的网表文件将和其他设计文件综合后生成的网表文件一起。




总之,两种综合方式的flow看上图。

OOC的优势
  1. 通过综合实现某个模块的快速迭代,不用综合系统的其余部分,整个设计的迭代更快了;
  2. 利于系统其余部分的快速迭代,如果某部分确定稳定不变了,可以对这个模块进行OOC综合操作,保留这个综合版本,这样就可以方便迭代其余部分;
  3. OOC将会产生”_sim_netlist.v” 或者 “_sim_netlist.vhdl”仿真文件,如果我们在使用只支持某种语言的仿真器,而IP不提供该语言的RTL文件,我们就可以直接用这些仿真文件进行IP仿真。
关于高阻态和OOC(out of context)综合方式

如果设计中存在三态(高阻态),OOC综合操作就会受到影响,FPGA仅支持I/O输出端口的高阻态,在器件内部是不允许的,如果你使用OOC综合方式,Vivado工具并不知道某个具体的信号是连接I/O输出还是在器件内部进行连接,最后,综合工具会将这个高阻信号转换为某个逻辑值,而不是最为高阻态进行综合。

举个例子,下面的代码就会带来不好的影响:

assign my_signal = enable?din1:1’bz;

通过OOC方式综合后,my_signal信号值就不会是高阻值Z了, Vivado会选择不保留三态。如果my_signal信号只连接到外部输出I/O呢?即能够使用OOC方式对这部分模块进行综合,同时保留三态。
满足上述需求的方式就是在RTL中实例化一个三态缓存(buffer)。

OBUF u1(.l(din1), .T(n_enable), .O(my_signal));
参考资料
  1. Vivado Design Suite User Guide: Designing with IP (UG896) - Xilinx
  2. http://www.sohu.com/a/129575422_292853
Vivado使用心得(一)Vivado IP的两种综合方式:Global 和 Out-Of-Context Vivado IP的两种综合方式:Global 和 Out-Of-Context 阅读详情

相关推荐

Vivado IP核的综合模式:Global以及Out of context的区别理解

在Vivado中使用 "Out-Of-Context"方法的好处是节省了合成时间,无需在每次运行时重新合成IP。

Reborn Lee 6814

Vivado Synth -8 5535 报错解决办法

报错内容: Synth 8-5535 Port has illegal connections.it is illegal to have  a port connected to an input buffer and other compoents. 解决办法尝试: 1.  2.  尝试方法如下 https://www.xilinx.com/support/answers

世界各处去跑马 1万+

[Vivado IP综合选项Global和Out-Of-Context区别(FPGA不积跬步101)] - Vivado IP综合选项——全局(Global)与...

首先,全局综合会将整个设计代码一起综合成为一个顶层模块。这种综合方式可以提高设计的时序分析和优化效率,同时也能避免时间浪费在综合子模块上。但是,全局综合的缺点在于其综合时间较长,因为整个设计都需要被编译、优化和综合。[Vivado IP综合选项Global和Out-Of-Context区别(FPGA不积跬步101)] - Vivado IP综合选项——全局(Global)与上下文外(Out-Of-Context)的异同点,本文将进行详细说明。相对而言,上下文外综合只综合设计中的子模块,而不包括顶层模块。

DevScribe的博客 782

FPGA开发——vivado使用

用vivado仿真和FPGA开发的一些记录

知识,既贵,又便宜。 6209

Vivado IP综合选项Global和Out-Of-Context区别

首先全局综合会将整个设计代码一起综合成为一个顶层模块,这种综合方式可以提高设计的时序分析和优化效率,同时也能避免时间浪费在综合子模块上,但是全局综合的缺点在于其综合时间较长,因为整个设计都需要被编译、优化和综合。相对而言,上下文外综合只综合设计中的子模块,而不包括顶层模块,尽管上下文外综合所需的时间较短,但其时序分析和优化的效率可能会受到影响,这种方式仅能综合模块,不能生成比模块更高级别的元件。以上是关于 Vivado IP 综合选项——全局与上下文外的异同点的详细介绍。

weixin_50547796的博客 718

(17)Vivado IP综合选项Global和Out-Of-Context区别(FPGA不积跬步101)

名言:水滴石穿。 1 Vivado IP综合选项到底如何选择? 在Vivado定制IP时,选择"Customize IP"后会弹出一个框。细心的设计人员可以看到Synthesis Options可以选择,一种叫做”Global”,另一种叫”Out of Context (OOC)”。其中”Out-Of-Context”是“脱离上下文”的意思。”Global”即全局。 2 Global和Out-Of-Context区别? 1)Global选项不会产生.dcp文件,因为工程综合的时候是对IP核的源码进.

m0_46498597的博客 5633

Vivado IP核Global 和 out of context per IP两种综合方式区别

Vivado IP核Global 和 out of context per IP两种综合方式区别两者区别OOC生成的文件注意、注意、注意1、更新IP核参数时需注意2、IP核中包括高阻态时需注意 两者区别 在用vivado 生成IP核时,有两种综合方式:Global和out of context per IP。Global模式可以理解为全局综合,当整个工程中的某个文件修改综合时,之前生成的IP核将被重新综合,而out of context per IP模式被称为OOC模式,在生成综合IP核时,已经将IP核综合

weixin_39789553的博客 1万+

Windows10完美驱动Apple Studio Display全攻略:从雷电转接到亮度调节(附N卡兼容列表)

本文详细介绍了在Windows10系统下如何完美驱动Apple Studio Display显示器,包括雷电接口转接方案、BootCamp驱动安装及NVIDIA显卡兼容性测试。特别推荐GTX 1660 Super等显卡,提供5K@60Hz稳定输出,并分享色彩管理及日常使用技巧,帮助用户充分发挥这款苹果显示器的性能。

weixin_29284657的博客 1089

vivado global和out-of-context 选项

在 vivado 的ip核配置完成后会弹出一个关于IP综合的选项一个是”Global”,另一个是”Out of Context (OOC)”。 默认情况下,Vivado Design Suite 会为综合后的 IP DCP 生成 OOC 运行。在“Generate Output Products”对话框中,选择以下任一选项: “Global Synthesis”:指示工具对当前设计执行自上而下的综合。选中该选项时会移除所有 OOC 运行文件。 “Out-of-Context Settings”:支持您添加

qq_39597489的博客 3649

别再手动抓波形了!用Synopsys AXI VIP的Port Monitor自动收集事务数据(附完整连接Scoreboard代码)

当标准Port Monitor无法满足需求时,Synopsys提供的callback机制就像一套精密的手术工具,允许你深入VIP内部进行定制化改造。创建自定义监控点的四步法继承基类// 其他自定义字段...endclass重写目标phase方法// 克隆事务并发送到自定义端口在env中注册callbackcustom_cb);连接自定义端口到分析组件经典应用场景地址phase特定检查数据beat级监控自定义性能统计异常注入检测。

weixin_28716181的博客 397

自动驾驶传感器选型实战:摄像头、激光雷达与毫米波雷达融合策略

自动驾驶感知系统的核心在于多传感器协同,而非单一技术优劣。摄像头擅长语义识别但受光照和天气制约;激光雷达提供高精度测距却面临成本、温漂与多径干扰等物理瓶颈;毫米波雷达则以全天候鲁棒性与精准测速成为安全底线的守门人。三者融合不是简单叠加,而是基于场景约束(如暴雨、强光、高速跟车)、成本边界(BOM控制)与时间窗口(量产节奏)的工程权衡。真实量产方案中,‘纯视觉’实为视觉主责+毫米波兜底,‘激光雷达上车’本质是用硬件真值加速算法迭代,而传统车企更倾向以毫米波为仲裁者协调冲突。理解这些底层原理,才能在传感器选型、

weixin_32495691的博客 276

综合篇(四):Vivado中Global和Out-of-context(OOC)综合模式

1. 创建综合运行 一个“运行”(Run)是指定义和配置综合过程中的各个方面,包括:使用的Xilinx器件、应用的约束集、启动单个或多个综合的选项、控制综合引擎结果的选项。点击Flow菜单中的CreateFuns: 或在DesignRuns窗口中: 2. 综合方式选择 针对定制IP时候,会有一个综合方式(Synth...

风中少年的博客 1万+

Ubuntu声卡检测与故障排查:从基础命令到驱动修复

本文详细介绍了在Ubuntu系统中进行声卡检测与故障排查的完整流程。从使用lspci、aplay等基础命令识别硬件,到排查驱动冲突、修复权限问题,再到调整PulseAudio高级配置,提供了一套系统性的解决方案。文章结合实战案例,帮助用户快速诊断并解决Ubuntu系统常见的“无声”问题,恢复音频功能。

g2h3i4j5的博客 228

Vivado中Global和Out-of-context(OOC)综合模式

转自:https://blog.youkuaiyun.com/qq_26652069/article/details/90611519 1. 创建综合运行 一个“运行”(Run)是指定义和配置综合过程中的各个方面,包括:使用的Xilinx器件、应用的约束集、启动单个或多个综合的选项、控制综合引擎结果的选项。点击Flow菜单中的Create Funs: 或在Design Runs窗口中: 2. 综合方式选择 针对定制IP时候,会有一个综合方式(S

我的blog屋 3551

MMSegmentation 安装教程,避免mmcv不合适版本,及相关问题解决

都行,不做要求。

qq_43683133的博客 1220

数字电路实验避坑指南:如何正确搭建主从JK触发器测试电路(附Proteus仿真)

本文详细解析了主从JK触发器的工作原理及实验搭建指南,重点解决了常见的Catching Problem现象,并提供了Proteus仿真优化方案。通过元器件选型、电路连接步骤和常见错误排查,帮助读者正确搭建测试电路,确保数字电路实验的稳定性和可靠性。

weixin_30790841的博客 469

Vivado 的IP:Global 和 Out-Of-Context选项问题

OOC选项是Vivado给我们的默认选项,在OOC模式下,Vivado将会把生成的IP当成一个单独的模块来进行综合,生成.dcp (design checkpoint)文件,工程要用到IP的时候,只需从.dcp文件中解析出对应IP的网表文件即可,而不需对IP进行重新综合,这样的方式可以加快综合的速度;除了生成.dcp文件,OOC还会生成一个以”stub.v”结尾的HDL文件,是当前IP设计的一个黑盒文件,只有输入输出端口,工程调用这个的时候实际上是在解析.dcp中的网表文件,进而继续综合和布局布线。....

jk_101的博客 1595

DFIG风电场经LCC-HVDC外送系统SIMULINK建模与仿真

本文基于MATLAB/Simulink平台构建了DFIG风电场经LCC-HVDC外送系统的仿真模型。系统采用1000MW聚合DFIG模型与双极12脉动LCC-HVDC连接,详细阐述了参数设计、控制策略及接口协调方法。重点解决了风电场无功能力不足、功率波动影响换相等关键技术问题,为大规模风电基地外送提供了仿真研究框架。模型整合了官方DFIG和HVDC详细模块,通过参数缩放和控制系统优化,实现了完整系统的动态仿真分析。

huanghm88的专栏 120

转载:关于Vivado综合选项——Out of context per IP和Gobal

转载:关于Vivado综合选项——Out of context per IP和Gobal 原文地址:https://www.cnblogs.com/yhsy1002/p/7441309.html 关于Vivado综合选项——Out of context per IP和Gobal Vivado生成IP输出文件注意的地方,是选择Global还是Out of context per IP: (1)vi...

weixin_39055614的博客 1592

YOLOv11的元学习(MAML)few-shot适配-(5样本内快速适应新类别)

本文提出了一种基于元学习和YOLOv11的少样本目标检测方法。首先介绍了元学习的核心概念和MAML算法原理,分析了YOLOv11的架构改进及其在少样本检测中的适用性。针对少样本检测面临的过拟合、特征混淆和定位困难等挑战,提出了基于MAML的解决方案。在实现方面,详细阐述了环境配置、数据预处理和任务采样策略,构建了支持N-way K-shot任务的数据加载器。实验表明,该方法相比传统微调策略可显著提升小样本场景下的检测性能。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 601

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: vcs + verdi 查看仿真波形
下一篇: FPGA中的小数计算(定点小数) 与 verilog/VHDL有符号数计算
隋边边
博客等级 码龄11年 304粉丝 91原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值