首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
资源利用率报告中的LUT和LUTRAM有什么区别
2
xilinx verilog语法技巧(三)--RAM的初始化
3
为什么推荐使用XPM?
4
Block RAM的基本结构
5
为什么要用XPM_MEMORY
6
Vivado中用于时钟操作的几个Tcl命令
7
影响FPGA时序的进位链(Carry Chain), 你用对了么??
8
动态时钟相位
9
动态时钟频率
10
如何缩短Vivado运行时间
11
你的FPGA设计有这些缺陷吗
12
report_utilization远比你想象的强大
13
vivado如何快速找到schematic中的object
14
FPGA中的CLOCK REGION和SLR是什么含义
15
FPGA中的BEL, SITE, TILE是什么含义
16
如何快速查找目标cell
17
都是pin,有什么区别
18
都是net,有什么区别
19
一张图看懂cell, pin, net, port
20
如何快速找到组合逻辑生成的时钟
21
【Vivado那些事】Vivado下头文件使用注意事项
22
Pblock可以这么画
23
关于Pblock的8个必知问题
24
常用的跟Pblock相关的Tcl命令
25
【Vivado】那些事儿-汇总篇
26
【Vivado那些事】Xilinx FPGA普通IO能不能直接接入PLL作为时钟输入
27
Storage Elements
28
D触发器都有哪几种类型?对应什么样的代码?
29
Xilinx 7系列FPGA逻辑单元理解
30
Vivado下查看芯片资源
31
对RAM初始化怎么做
32
干货:Vivado 直接修改RAM初始化文件,避免重新综合、实现的方法
33
借助Elaborated Design优化RTL代码
34
一张图理解什么是好的设计层次
35
9个关于SSI芯片的必知问题
36
Vivado 2018.3 report_qor_suggestions怎么用
37
Vivado 2019.1新特性(5):更新的report_qor_suggestions
38
Xilinx的高质量时钟输出ODDR原语【随路时钟】【全局时钟网络】【ZC706输出时钟】【ZYNQ】
39
FPGA中BEL Site Tile FSR SLR分别指什么?
40
跟I/O相关的几个命令
41
Vivado Non-Project模式
42
FPGA中降低时钟skew的几种方法
43
FPGA时序优化之Reduce MUXF Mapping
44
什么是Forwarded Clock?
45
几个常见问题
46
如何让同一层次的模块在布局时更紧凑一些
47
什么情况下要用OOC综合方式
48
Vivado 2019.1新特性(2):report_ram_utilization
49
URAM和BRAM有什么区别
50
write_first/read_first/no_change什么区别
清单首页FPGA文章详情

什么情况下要用OOC综合方式

对于Xilinx的IP,Vivado提供了两种综合方式:Global和Out of context。这里Out of context就是我们所说的OOC综合方式。两者的差别在于Global的综合方式是将IP融入到整个设计一起综合,体现的是自顶向下的设计流程(Top-down);OOC的综合方式则是单独对IP先综合,然后再对整个工程综合,体现的是自底向上(Bottom-up)的设计流程。一旦采用OOC的综合方式,工具就不会对其输入/输出管脚插入IBUF/OBUF。在定制好IP之后,选择Generate Output Products,会弹出如下图所示界面,在这里可以选择IP的综合方式。

实际上,除了Xilinx自带的IP,用户设计也可以根据需求选择不同的综合方式。相比于Global综合方式,OOC综合方式会带来以下好处。

(1)节省综合时间,这是因为已经采用OOC综合的模块,只要没有任何改动,都无需重新综合

(2)在一定程度上,有助于时序收敛

那么什么情况下建议采用OOC综合方式呢?

Xilinx的IP

对于Xilinx的IP,通常建议采用OOC的综合方式,无论IP是在RLT代码中实例化的还是在Block Design(用IP Integrator创建的模块)中被调用。

关键模块

对于用户设计中的关键模块,也就是时序较难收敛的模块,也可以尝试采用OOC综合方式,以此给时序收敛带来一些好处。但这里有一个限制,就是如果该模块中包含了Xilinx的IP,而该IP又是采用了OOC综合方式,那么该模块就无法设置为OOC综合方式了。

设计评估

有时,需要评估某个较大的模块的资源利用率以及所能运行到的最高时钟频率,这时候,可将该模块作为工程的顶层模块,同时在综合设置选项卡中将其设置为OOC综合方式,如下图所示。只需要在More Options中添加-mode out_of_context。这样的好处是,无需管脚分配,Vivado就可以跑完综合、布局布线,然后对结果进行分析即可。这里需要注意的是要有20%的裕量。举个例子,如果期望设计能运行到100MHz,那么评估时应按照120MHz进行评估。

部分可重配置

对于需要部分可重配置(Partial Reconfiguration)的工程,其中的可重配置模块(Reconfigurable Module)是一定要采用OOC综合方式的,这是PR的要求。

下一篇
举报
领券