在 vivado 的ip核配置完成后会弹出一个关于IP综合的选项一个是”Global”,另一个是”Out of Context (OOC)”。
默认情况下,Vivado Design Suite 会为综合后的 IP DCP 生成 OOC 运行。在“Generate Output Products”对话框中,选择以下任一选项:

  • “Global Synthesis”:指示工具对当前设计执行自上而下的综合。选中该选项时会移除所有 OOC 运行文件。
  • “Out-of-Context Settings”:支持您添加 OOC 设置描述。

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

  • 建议生成 IP 时使用 OOC 流程,这也是 Vivado Design Suite 中的默认行为。OOC 流程可缩短完整工程的运行时间,并避免执行工程运行时对 IP 进行重新综合。

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

  • 还可指定同时启动的 OOC 综合运行数。默认情况下,指定 1 项作业,并且设计运行按顺序启动。在“Number of Jobs”选项中指定更大的数值,即可指定可并行运行的最大设计运行数。

采用 OOC 流程作为默认流程主要是因为它具备 2 大优势:
•它可缩短综合运行时间,因为它仅根据 IP 自定义或版本更改的需要来执行综合,而不是在顶层设计过程中执行重新综合。
•它可生成<ip_name>_sim_netlist.v或<ip_name>_sim_netlist.vhdl结构仿真网表。如使用单一语言仿真器且 IP 不提供该语言的行为 HDL,则可在仿真期间使用这些文件。

关于高阻态和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));

手动生成输出文件

您可随时通过选择“IP Sources”中的 IP、右键单击并选择“Generate Output Products”来手动生成输出文件。生成输出文件的默认流程是通过非关联 (OOC) 流程为 IP 创建并启动综合设计运行。这样即可在对设计顶层进行综合时推断 IP 黑盒。

这个方法可以重新设置IP核的综合方式。如之前设置为global 现在想把他设置成ooc模式可以选择此选项。

参考:

http://www.sohu.com/a/129575422_292853 关于高阻态和OOC(out of context)综合方式

vivado global和out-of-context 选项相关推荐

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

    提出问题 从接触FPGA生成第一个IP核开始,就遇到一个选择的问题,定制完成IP核后,最有一页会有一个选择综合模式的问题,有两个选择,一个是Global,另一个是Out of Context,是什么意 ...

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

    Vivado IP核Global 和 out of context per IP两种综合方式区别 两者区别 OOC生成的文件 注意.注意.注意 1.更新IP核参数时需注意 2.IP核中包括高阻态时需注 ...

  3. VIVADO 中的几种仿真选项以及功能仿真、前仿真、后仿真、时序仿真

    run behavioral simulation run post-synthesis simulation run post-synthesis timing simulation run pos ...

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

    名言:水滴石穿. 1 Vivado IP综合选项到底如何选择? 在Vivado定制IP时,选择"Customize IP"后会弹出一个框.细心的设计人员可以看到Synthesis ...

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

    转载:关于Vivado综合选项--Out of context per IP和Gobal 原文地址:https://www.cnblogs.com/yhsy1002/p/7441309.html 关于 ...

  6. 关于Vivado综合选项——Out of context per IP和Gobal

    Vivado生成IP输出文件注意的地方,是选择Global还是Out of context per IP: vivado默认是第二种,Out of context per IP是指让vivado在综合 ...

  7. Vivado使用:综合篇(二)综合选项设置

    目录 -flatten_hierarchy (影响综合结果的层次) -gated_clock_conversion -fsm_extraction (影响状态机编码方式) -fsm_encoding ...

  8. (已发布源码)图像修复——上下文编码器以及加入全局判别器的改进(Context Encoder and Global and Local Discriminator)

    Context Encoder and Global and Local Discriminator Context Encoder ,Global and Local Discriminator C ...

  9. Vivado IP核生成设置

    vivado中design with ip相比于ise感觉还是改进了. 首先我们简单介绍一下vivado中design with ip的设计过程: (1)打开IP Catlog定制自己的IP设计,比如 ...

最新文章

  1. 数据快传对于企业的重要性!
  2. 业务工作流平台设计(七)
  3. vue-cli教程(一)
  4. ReentrantLock重入锁
  5. android ffmpeg 优点_在Android中使用FFmpeg(android studio环境)
  6. 三行代码隐藏所有console.log
  7. MBA 案例:一个叫花子做的策划
  8. 冲突域和CSMA/CD
  9. java 开发平台下载,JAVA开发平台和JAVA开发工具下载
  10. P3C-PMD自定义规则实战
  11. python将列表元素全部小写_python实现创建新列表和新字典,并使元素及键值对全部变成小写...
  12. L298N、电机、单片机的线路连接(51、stm32程序)
  13. 面向数字孪生城市的智能化全息测绘(论文摘抄)
  14. JavaScript画星星
  15. 瀚海星云BBS python脚本登陆
  16. Android_studio 开发简单登陆界面
  17. 谷歌八年算法工程师分享几点算法学习小技巧
  18. snmp连接工具_运维工程师不可错过的2020年值得关注的综合性网络监控工具
  19. zlog库的交叉编译
  20. 按键精灵--------后台插件

热门文章

  1. nivdia错误0x0003_超全解决Geforce 错误代码 ERROR CODE:0x0003问题方法
  2. Javascript第四章变量的作用域第三课
  3. VM虚拟机里安装Centos
  4. android http 图片上传,Android okHttp上传图片
  5. vue中将汉字按照首字母排序,也适用于其他地方,但不适用多音字
  6. 记一次 nginx 504 Gateway Time-out
  7. Python狼人之夜--文字冒险游戏
  8. 创建loop15设备挂载镜像文件(.img)
  9. Emacs默认打开任何文件为只读模式
  10. WSL配置C/D盘大小写敏感