vivado IP核知识点学习

OCC模式

OOC是Vivado开发套件提供的一项技术,该综合模式本质上是一种自底向上(bottom-up)的综合方法,该方法可用于IP、IPI(IP Integrator)的Block Design以及选择将HDL对象(即用户逻辑)当作一个隔离模块运行  完成自底向上的综合流程。

针对定制IP

       由于不需要每次综合时都运行整个设计,这项技术可以大大减少顶层模块的综合运行时间。IP核就是典型的采用OOC技术的代表,配置好IP核后可以选择综合模式为global(与顶层设计一起综合)或Out-of-context(作为独立模块综合),最好的做法就是选择后者,以减少整体设计的综合运行时间。

       OOC选项是Vivado给我们的默认选项,在OOC模式下,Vivado将会把生成的IP当成一个单独的模块来进行综合,生成.dcp (design checkpoint)文件。同时会使用一个只在OOC模式下有用的约束文件“_ooc.xdc”。 除了生成.dcp文件,OOC还会生成一个以”stub”结尾的HDL文件,是当前IP设计的一个黑盒文件,其实就是只有输入输出端口,没有其他内容。

最后,在”implementation”阶段,OOC生成的.dcp文件中的网表文件将和其他设计文件综合后生成的网表文件一起。

OOC具有如下的特点

  • 底层的OOC模块相对于顶层模块独立运行,并拥有自己的约束集合
  • 运行了OOC模块之后,再运行顶层模块综合时可直接调用OOC综合结果,而不需要重新运行一次综合(除非修改了RTL设计或约束)。

PROCESSING_ORDER属性

每个约束文件都有PROCESSING_ORDER属性,属性值可以是:EARLY,必须首先被读取;NORMAL,默认;LATE:必须最后被读取.

注意IP核的XDC文件只会是early或者late,而不会是normal!对于包含依赖时钟的IP核,XDC文件的读取顺序属性设置为late;对于不包含依赖时钟的IP核,XDC文件的读取顺序设置为early;同时,对于多个IP核的XDC文件,如果他们有相同的PROCESSING_ORDER属性,则读取顺序由IP核的导入顺序决定,一般无法更改!

下面对XDC文件的读取顺序做一个总结,从上到下的读取顺序:

1.用户XDC文件,标记为early;

2.IP核XDC文件,标记为early;

3.普通的用户XDC文件(normal);

4.IP核XDC文件,标记为late(对用户时钟存在依赖);

5.用户XDC文件,标记为late;

属性值为LATE的IP核XDC文件名称为<IP_NAME>_clocks.xdc;在Tcl控制台中使用report_compile_order -constraints命令可以报告所有约束文件的状态,其中就包括PROCESSING_ORDER属性;

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值