OOC-脱离上下文

ooc(out of context)是在Vivado当中非常常用的概念。在ug1118中关于ip_core OOC模式下的约束文件的描述中有两点:

OOC约束的USED_IN属性应该同时设置synthesis,implementation,out_of_context而不是只设置out_of_context;(page16)
OOC约束在编译的时候,处理顺序早于非OOC约束的文件,甚至早于PROCESSING_ORDER设置成EARLY的情况。(page16)
概述
这个方面最详细的内容在ug896的page36。Global和OOC本身是作为IP Package的generate output的生成选项存在的。

概述

简单一句话来概括两者的关系就是:在OOC模式下,IP成为了一个完全的黑盒结构,它会以网表结构参与整个工程的综合;而在Global模式下,IP核与顶层逻辑一起进行综合,也被称为Global synthesis,对原始文件的任何更改需要对整个工程和该IP进行重新综合。(参见ug939(v2016.1) Page30)

OOC是默认的IP生成产物的生成方式,生成产物包括:XCI文件,dcp文件,changelog,行为仿真文件(<ip_name>_sim_netlist.v,应该是用来封装网表黑盒的文件,此时应该只使用单独语言种类的仿真器(没说是不是应该对应)page40)。

DCP文件在其中最为重要(但是不能是只有dcp文件,见ug896,page36),dcp文件是一个容器,其中包含了网表和约束文件(_ooc.file和_in_context.xdc)。

在BD当中的OOC
Block design可以看做是IP的可视化的集合,相当于一个大的IP。这个东西也支持OOC模式,并且支持三个选项(参见ug995,v2016.4,page33),分别是Global,Out-of-Context per IP以及Out-of-context per BD。

OOC global综合差异

ooc和global只是IP的synthesis过程发生的时间点的差别,一个是预先synthesis,一个是跟整个工程一起synthesis。

无论是在哪个时间点综合,IP自身都是相对独立综合的,因为综合过程中IP的边界是自动加了dont_touch约束的。因此综合过程的优化差别也不大。

IP核重新generate,整个工程势必也是重新跑了一次,就是一次不同的布局布线而得到了一个不同的结果。

转载于:https://www.cnblogs.com/lafiizh/p/10548622.html

Vivado当中的ooc与global模式相关推荐

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

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

  2. vivado中的OOC技术

    一.什么是OOC OOC(Out-of-context)是Vivado提供的一项技术,选择将HDL对象当作一个隔离模块运行,完成自底向上的综合流程. 底层的OOC模块相对于顶层模块独立运行,并且拥有自 ...

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

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

  4. Vivado Tcl命令行模式小记

    Vivado Tcl命令行模式小记 在Tcl Console下运行 作为参数运行 实用tcl脚本 在Tcl Console下运行 使用vivado自带的tcl console运行Tcl脚本.在终端窗口 ...

  5. 无招胜有招-Vivado非工程模式下的FPGA设计流程

    参考:UG892 UG835 Vivado集成开发工具为设计者提供了非工程模式下的FPGA设计流程.在Vivado非工程模式下,FPGA开发人员可以更加灵活地对设计过程的每个阶段进行控制,从而进一步提 ...

  6. vivado中的rtl中电路图无发生成_Vivado 综合崩溃调试指南

    欢迎FPGA工程师加入官方微信技术群 要解决任何综合崩溃问题,通常应该从了解崩溃发生在综合的哪个阶段着手,以及工具方面是否有任何迹象指向特定的模块.赋值.声明或推断. 在某些情况下会出现日志不足的状况 ...

  7. Vivado Design Suite用户指南之约束的使用第二部分(约束方法论)

    Constraints Methodology(约束方法论) 关于约束方法论 设计约束定义了编译流程必须满足的要求,以使设计在板上起作用. 并非所有步骤都使用所有约束 在编译流程中. 例如,物理约束仅 ...

  8. 【Vivado那些事儿】Vivado 增量综合流程

    [Vivado那些事儿]Vivado 增量综合流程 从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了.这使用户能够在设计变化较小时减少总的综合运行时间. Viv ...

  9. excel两个表格数据对比_Excel表格怎么防止看错数据?阅读模式了解一下

    在我们日常的办公生活当中,使用Excel表格来统计各种数据信息,已经成为很多小伙伴们的工作日常了.而有的小伙伴需要在表格当中录入数据,而有的小伙伴就需要对表格当中的数据进行查看.核对. 而如果Exce ...

  10. 关系模式(关系模式必须遵循)

    关系模式和关系是什么意思? 关系模式和关系:描述模式描述关系的静态结构,由模式名.关系模式所包含的属性及属性值所满足的条件组成模式定义. 委托代理关系有哪些内涵及模式? 委托代理关系有5种模式 (1) ...

最新文章

  1. Go 知识点(05)— 类型别名与类型定义
  2. Spring Boot 2.4 对多环境配置的支持更改
  3. 【APIO2018】Duathlon 铁人两项 【圆方树】
  4. 创建Console应用程序,粘贴一下代码,创建E://MyWebServerRoot//目录,作为虚拟目录,亲自测试通过,
  5. 个人工作室的网站开发规范V1.0
  6. “一加一减”的两种说话技巧
  7. ubuntu安装vasp_Ubuntu常用软件的安装
  8. oracle数据库一些常用数据库类型
  9. java学生管理系统代码
  10. 自来水供水收费管理系统
  11. 服务器,Linux,centos7成功安装显卡驱动(超详细)
  12. PHP基础知识系统复习
  13. 苹果摄像头黑屏_报道称苹果已将折叠 iPhone 送往测试/苹果官网上线送份好礼,送到心里页面/iPhone 12 mini 拆解报告公布...
  14. 夜光带你走进Bootstrap(2)
  15. 11gR2 硬件导致重新添加节点
  16. TOOD: Task-aligned One-stage Object Detection
  17. HDU1507 Uncle Tom's Inherited Land*
  18. AMI CORE8 OEM BIOS
  19. ICLR 22 GRAPH CONDENSATION FOR GNNS 图压缩工作目前的 第一篇 密歇根州立 CMU Snap
  20. 状态模式(状态变化)

热门文章

  1. 云计算中的Server Consolidation
  2. Geoserver通过SLD配置道路线样式,随着放大加粗
  3. 熔断机制什么意思_熔断机制是什么意思?什么是熔断机制?
  4. 常变量和符号常量的区别?常变量和文字常量的区别?
  5. 虎牙不想做一家游戏直播公司
  6. 802.11有线等效加密WEP
  7. 【C++005】结构体(值传递,地址传递,数组)
  8. 不断尝试,做更好的自己|Fabia,很高兴再认识你
  9. 这特么也太好看了----------博客园主题美化
  10. SendGrid -- Stressful Subject