当我们在使用 Vivado 进行 IP 综合时,通常需要选择适合当前设计的综合选项,其中全局综合和上下文外综合是两个常用选项,但它们之间有哪些差别呢?
首先全局综合会将整个设计代码一起综合成为一个顶层模块,这种综合方式可以提高设计的时序分析和优化效率,同时也能避免时间浪费在综合子模块上,但是全局综合的缺点在于其综合时间较长,因为整个设计都需要被编译、优化和综合。下面是一个示例代码:
module top_module(
input clk,
input rst,
input [31:0] data_in,
output reg [31:0] data_out
);
sub_module_1 u_sub_module_1 (
.clk(clk),
.rst(rst),
.data(data_in),
.out(temp)
);
sub_module_2 u_sub_module_2 (
.clk(clk),
.rst(rst),
.data(temp),
.out(data_out)
);
reg [31:0] temp;
endmodule
相对而言,上下文外综合只综合设计中的子模块,而不包括顶层模块,尽管上下文外综合所需的时间较短,但其时序分析和优化的效率可能会受到影响,这种方式仅能综合模块,不能生成比模块更高级别的元件。
因此需要根据实际情况选择适当的综合选项,如果设计中包含大量的子模块且时间允许,则可以选择全局综合以提高时序分析效率,如果设计中包含大量的顶层模块或时间紧迫,则可以选择上下文外综合以节省时间。
以上是关于 Vivado IP 综合选项——全局与上下文外的异同点的详细介绍。
标签:clk,IP,Global,module,Vivado,模块,rst,data,综合 From: https://blog.csdn.net/weixin_50547796/article/details/138063034