Vivado IP的两种综合方式:Global 和 Out-Of-Context
在最新的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的优势
- 通过综合实现某个模块的快速迭代,不用综合系统的其余部分,整个设计的迭代更快了;
- 利于系统其余部分的快速迭代,如果某部分确定稳定不变了,可以对这个模块进行OOC综合操作,保留这个综合版本,这样就可以方便迭代其余部分;
- 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;
- 1
通过OOC方式综合后,my_signal信号值就不会是高阻值Z了, Vivado会选择不保留三态。如果my_signal信号只连接到外部输出I/O呢?即能够使用OOC方式对这部分模块进行综合,同时保留三态。
满足上述需求的方式就是在RTL中实例化一个三态缓存(buffer)。
OBUF u1(.l(din1), .T(n_enable), .O(my_signal));
Vivado IP的两种综合方式:Global 和 Out-Of-Context相关推荐
- Vivado使用心得(一)Vivado IP的两种综合方式:Global 和 Out-Of-Context
在最新的Vivado的版本中,定制IP的时候,会有一个综合方式的选择,如下图所示.可以看到一种叫做"Global",一种叫"Out-Of-Context (OOC)&q ...
- Vivado IP核Global 和 out of context per IP两种综合方式区别
Vivado IP核Global 和 out of context per IP两种综合方式区别 两者区别 OOC生成的文件 注意.注意.注意 1.更新IP核参数时需注意 2.IP核中包括高阻态时需注 ...
- Linux下IP地址两种修改方式的总结(IP地址、子网掩码、网关、DNS简介)
目录 一.IP地址.子网掩码.网关.DNS简介 1.IP地址 2.子网掩码 3.网关 4.DNS 二.Linux下IP地址修改两种方式介绍(Centos7.6) 1.查看IP地址 2.修改配置文件修改 ...
- 使用vivado调用自定义IP的两种方法
使用vivado调用自定义IP的两种方法 方法一:采用Creat Block Design以图形化界面方式,即原理图方式调用自定义IP,例如下图: 方法二:采用代码方式,即类似函数方式调用自定义IP, ...
- Vite内网ip访问,两种配置方式
问题 使用vite运行项目的时候,控制台会只出现127.0.0.1(localhost)本地地址访问项目.不可以通过公司内网ip访问,其他团队成员无法访问,这是因为没有将服务暴露在局域网中: 两种解决 ...
- 获取用户手机IP的两种方式
安卓获取用户手机IP有两种方式,一种是通过wifi获取,一种是通过GPRS获取. 第一种wifi方式获取: 1.首先设置用户权限 <uses-permission android:name=&q ...
- 一文读懂工业设备的两种通讯方式:现场总线和工业以太网
随着传统制造企业正在加快智能制造转型的进程,工业互联网迅速在全世界范围内兴起.在工业互联网的技术构架中,通过各类通讯方式接入不同设备.系统和产品,来采集海量数据是其重要的一环.本文将重点介绍工业底层设 ...
- 前端与后端,顶象设备指纹的两种接入方式
在如今的移动互联网时代,用户上网的设备多元化.连接互联网的渠道多样化.接入服务的地点任意化,用户的操作行为个性化,用户设备更加难以被识别和跟踪,由此给广大开展数字化业务的企业,尤其互联网企业带来全新的 ...
- GP两种连接方式性能测试
GP两种连接方式性能测试 Pivotal java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...
最新文章
- 如何打开php页面跳转_php如何跳转页面
- html元素分类以及嵌套规则
- Android模拟位置出错IllegalArgumentException: Incomplete location object, missing timestamp or accuracy?
- 巧用定时任务监控第三方组件是否正常
- Android学习第三天--事件监听器
- 10 计算机组成原理第六章 总线 总线的概念与分类 总线性能指标 总线仲裁 总线操作和定时 总线标准
- 毕昇 JDK:“传奇再现”华为如何打造 ARM 上最好用的 JDK?
- 中国大学慕课python答案第七章_中国大学慕课mooc用Python玩转数据章节答案
- MiniProfiler 兼容 Entity Framework 6
- XDOC云服务API(二)
- SQL 2005 带自增列 带外键约束 数据导入导出
- 解决:Please either set ERLANG_HOME to point to your Erlang installation or place the RabbitMQ server d
- Seaborn 绘图中设置字体及大小
- 人生法则:蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则...
- 逻辑回归损失函数推导及其模型的推导
- 6-3 计算Fibonacci数列每一项时所需的递归调用次数 (10 分)
- hive:函数:转换函数:cast
- GSI-PDP管网勘测综合数据处理软件操作手册
- Texpad for mac(专业的LaTeX编辑工具)
- 类加载器系列一:类加载器有几种以及它们之间的关系?
热门文章
- 智能车竞赛技术报告 | 智能车视觉 - 青岛工学院 - 青工战斗
- 智能车竞赛技术报告 | 智能车视觉 - 扬州大学 - 这辆盲车不吃水果
- Laplace数值逆运算的讨论
- 第十五届全国大学生智能车竞赛线上竞赛方案(草案)
- 虚拟摄像头 安卓版_林俊杰 ft. M.E.,联同视效大厂数字王国加码虚拟偶像
- java 使用http2.0_【Java】okhttp3如何发送http2请求?
- 服务器群安装系统,服务器安装总结
- oracle object_type,Oracle TYPE OBJECT详解 | 学步园
- pb分组数据累计_A轮公司数据分析面试经验
- php nsdata,iOS播放PCM,NSData流代码(Audio Queue Services)